Merge remote-tracking branch 'upstream' into tustin2121-patch-5
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -30,3 +30,5 @@ build/
|
||||
.idea/
|
||||
porymap.project.cfg
|
||||
.vscode/
|
||||
*.a
|
||||
.fuse_hidden*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
language: generic
|
||||
dist: trusty
|
||||
dist: bionic
|
||||
sudo: false
|
||||
env:
|
||||
global:
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
37
Makefile
37
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)
|
||||
|
||||
@@ -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).
|
||||
|
||||
5515
asm/berry_crush.s
5515
asm/berry_crush.s
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
154
asm/macros/battle_frontier/apprentice.inc
Normal file
154
asm/macros/battle_frontier/apprentice.inc
Normal file
@@ -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
|
||||
49
asm/macros/battle_frontier/battle_arena.inc
Normal file
49
asm/macros/battle_frontier/battle_arena.inc
Normal file
@@ -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
|
||||
144
asm/macros/battle_frontier/battle_dome.inc
Normal file
144
asm/macros/battle_frontier/battle_dome.inc
Normal file
@@ -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
|
||||
101
asm/macros/battle_frontier/battle_factory.inc
Normal file
101
asm/macros/battle_frontier/battle_factory.inc
Normal file
@@ -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
|
||||
|
||||
63
asm/macros/battle_frontier/battle_palace.inc
Normal file
63
asm/macros/battle_frontier/battle_palace.inc
Normal file
@@ -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
|
||||
171
asm/macros/battle_frontier/battle_pike.inc
Normal file
171
asm/macros/battle_frontier/battle_pike.inc
Normal file
@@ -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
|
||||
104
asm/macros/battle_frontier/battle_pyramid.inc
Normal file
104
asm/macros/battle_frontier/battle_pyramid.inc
Normal file
@@ -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
|
||||
91
asm/macros/battle_frontier/battle_tower.inc
Normal file
91
asm/macros/battle_frontier/battle_tower.inc
Normal file
@@ -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
|
||||
153
asm/macros/battle_frontier/frontier_util.inc
Normal file
153
asm/macros/battle_frontier/frontier_util.inc
Normal file
@@ -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
|
||||
@@ -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
|
||||
|
||||
|
||||
167
asm/macros/battle_tent.inc
Normal file
167
asm/macros/battle_tent.inc
Normal file
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
108
asm/macros/trainer_hill.inc
Normal file
108
asm/macros/trainer_hill.inc
Normal file
@@ -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
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
gUnknown_030062EC
|
||||
gUnknown_030062F0
|
||||
gUnknown_030062F4
|
||||
gApprenticePartyMovesData
|
||||
gApprenticeQuestionData
|
||||
gApprenticeFunc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
gUnknown_03006190
|
||||
gUnknown_030061A0
|
||||
gUnknown_030061C0
|
||||
gContestMonPixels
|
||||
gImageProcessingContext
|
||||
gContestPaintingWinner
|
||||
gContestPaintingMonPalette
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
gUnknown_03006164
|
||||
gUnknown_03006168
|
||||
gUnknown_0300616C
|
||||
gUnknown_03006170
|
||||
gUnknown_03006174
|
||||
gUnknown_03006178
|
||||
gUnknown_0300617C
|
||||
gUnknown_03006180
|
||||
gUnknown_03006184
|
||||
gUnknown_03006188
|
||||
@@ -1 +1 @@
|
||||
gUnknown_030061D0
|
||||
gScrollableMultichoice_ListMenuTemplate
|
||||
|
||||
10
common_syms/image_processing_effects.txt
Normal file
10
common_syms/image_processing_effects.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
gCanvasColumnStart
|
||||
gCanvasPixels
|
||||
gCanvasRowEnd
|
||||
gCanvasHeight
|
||||
gCanvasColumnEnd
|
||||
gCanvasRowStart
|
||||
gCanvasMonPersonality
|
||||
gCanvasWidth
|
||||
gCanvasPalette
|
||||
gCanvasPaletteStart
|
||||
@@ -1 +1 @@
|
||||
gUnknown_03006328
|
||||
gItemUseCB
|
||||
|
||||
@@ -10,4 +10,4 @@ gSaveFileStatus
|
||||
gGameContinueCallback
|
||||
gRamSaveSectionLocations
|
||||
gSaveUnusedVar2
|
||||
gUnknown_03006294
|
||||
gSaveAttemptStatus
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
gUnknown_03006080
|
||||
gUnknown_03006084
|
||||
gWhichTrainerToFaceAfterBattle
|
||||
gPostBattleMovementScript
|
||||
gApproachingTrainers
|
||||
gNoOfApproachingTrainers
|
||||
gUnknown_030060AC
|
||||
gTrainerApproachedPlayer
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
6586
data/event_scripts.s
6586
data/event_scripts.s
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -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.$"
|
||||
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -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!$"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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.$"
|
||||
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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…$"
|
||||
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -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.$"
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -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!$"
|
||||
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -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…$"
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user