Merge branch 'battle_engine' into ability_expansion and add Gen 8 DLC abilities.

This commit is contained in:
ultima-soul committed 2020-11-16 13:50:26 -08:00
commit e32659d4bb
2765 files changed
+103968 -81911

No files matched your search

+8
View File
@@ -0,0 +1,8 @@
<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
## **Discord contact info**
<!--- formatted as name#numbers, e.g. PikalaxALT#5823 -->
<!--- Contributors must join https://discord.gg/d5dubZ3 -->
+33 -25
View File
@@ -1,23 +1,22 @@
# Prerequisites
| Linux | macOS | Windows 10 (build 18917+) | Windows 10 (1709+) | Windows Vista, 7, 8, 8.1, and 10 (1507, 1511, 1607, and 1703)
| ----- | ----- | ------------------------- | ------------------ | ---------------------------------------------------------
| none | [Xcode Command Line Tools package][xcode] | [Windows Subsystem for Linux 2][wsl2] | [Windows Subsystem for Linux][wsl] | MSYS2 (see below)
| Linux | macOS | Windows 10
| - | - | -
| none | [Xcode Command Line Tools Package][xcode] | [Windows Terminal][terminal] and [Windows Subsystem for Linux (WSL)][wsl]
[xcode]: https://developer.apple.com/library/archive/technotes/tn2339/_index.html#//apple_ref/doc/uid/DTS40014588-CH1-DOWNLOADING_COMMAND_LINE_TOOLS_IS_NOT_AVAILABLE_IN_XCODE_FOR_MACOS_10_9__HOW_CAN_I_INSTALL_THEM_ON_MY_MACHINE_
[wsl2]: https://docs.microsoft.com/windows/wsl/wsl2-install
[xcode]: https://developer.apple.com/library/archive/technotes/tn2339/_index.html
[terminal]: https://docs.microsoft.com/windows/terminal/get-started
[wsl]: https://docs.microsoft.com/windows/wsl/install-win10
The [prerelease version of the Linux subsystem](https://docs.microsoft.com/windows/wsl/install-legacy) available in the 1607 and 1703 releases of Windows 10 is obsolete so consider uninstalling it.
Independently from the specific OS, make sure that the `gcc`, `g++`, `make`, `git`, and `libpng-dev` packages or their equivalents are installed and accessible to the development tools that are used by the project (this means that, for example, on Windows, the packages have to be installed in the WSL environment). The package names and installation methods may vary with each OS.
Make sure that the `build-essential`, `git`, and `libpng-dev` packages are installed. The `build-essential` package includes the `make`, `gcc-core`, and `g++` packages so they do not have to be obtained separately. MSYS2 does not include `libpng-dev` so it must be built from source.
Install the devkitARM toolchain of devkitPro as per [the instructions on their wiki](https://devkitpro.org/wiki/devkitPro_pacman). On Windows, follow the Linux instructions inside WSL as any steps about the Windows installer do not apply.
Install the **devkitARM** toolchain of [devkitPro](https://devkitpro.org/wiki/Getting_Started) and add its environment variables. For Windows versions without the Linux subsystem, the devkitPro [graphical installer](https://github.com/devkitPro/installer/releases) includes a preconfigured MSYS2 environment, thus the steps below are not required.
**Debian-based distro users:** This applies to Debian, Ubuntu, and similar distros, including in WSL. If necessary, install the `libarchive13`, `pkg-config`, and `gdebi-core` packages to be able to install devkitPro.
export DEVKITPRO=/opt/devkitPro
echo "export DEVKITPRO=$DEVKITPRO" >> ~/.bashrc
export DEVKITARM=$DEVKITPRO/devkitARM
echo "export DEVKITARM=$DEVKITARM" >> ~/.bashrc
**Windows 10 users:** WSL 2 is available in the 1903 release (build 18362) and later, therefore existing WSL 1 and [prerelease WSL](https://docs.microsoft.com/windows/wsl/install-legacy) users are recommended to update. Right-click the Start button or press `Win`+`X`, choose Run, and run `ms-settings:about` to determine the Windows version. Also check Windows Update to make sure your installation is up-to-date.
**Windows 7 and 8.1 users:** pret is no longer focusing on support in pokeemerald for [old versions of Windows](https://support.microsoft.com/help/13853) so consider upgrading to a current release of Windows 10 or try a third-party guide like [this one](https://www.pokecommunity.com/showthread.php?t=425246) instead.
# Installation
@@ -33,22 +32,27 @@ To set up the repository:
cd ../pokeemerald
To build **pokeemerald.gba** and confirm it matches the official ROM image:
To build **pokeemerald.gba** for the first time and confirm it matches the official ROM image:
make compare
## Notes
If an OK is returned, then the installation went smoothly.
* If the base tools are not found on macOS in new Terminal sessions after the first successful build, run `echo "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi" >> ~/.bash_profile` once to prevent the issue from occurring again. Verify that the `devkitarm-rules` package is installed as well; if not, install it by running `sudo dkp-pacman -S devkitarm-rules`.
**Windows users:** Consider adding exceptions for the `pokeemerald` and `agbcc` folders in Windows Security using [these instructions](https://support.microsoft.com/help/4028485). This prevents Microsoft Defender from scanning them which might improve performance while building.
* If the repository was previously set up using Cygwin, delete the `.exe` files in the subfolders of the `tools` folder except for `agbcc` and try building again. [Learn the differences between MSYS2 and Cygwin.](https://github.com/msys2/msys2/wiki/How-does-MSYS2-differ-from-Cygwin)
# Guidance
# Start
To build **pokeemerald.gba** with your changes:
make
**macOS users:** If the base tools are not found in new Terminal sessions after the first successful build, run `echo "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi" >> ~/.bash_profile` once to prevent the issue from occurring again. Verify that the `devkitarm-rules` package is installed as well; if not, install it by running `sudo dkp-pacman -S devkitarm-rules`.
# Building guidance
## Parallel builds
See [the GNU docs](https://www.gnu.org/software/make/manual/html_node/Parallel.html) and [this Stack Exchange thread](https://unix.stackexchange.com/questions/208568) for more information.
@@ -59,19 +63,22 @@ To speed up building, run:
`nproc` is not available on macOS. The alternative is `sysctl -n hw.ncpu` ([relevant Stack Overflow thread](https://stackoverflow.com/questions/1715580)).
## Building without dependency scanning
If only `.c` or `.s` files were changed, turn off the dependency scanning temporarily. Changes to any other files will be ignored and the build will either fail or not reflect those changes.
## Debug info
make NODEP=1
To build **pokeemerald.elf** with enhanced debug info:
## Building with devkitARM's C compiler
make DINFO=1
## devkitARM's C compiler
This project supports the `arm-none-eabi-gcc` compiler included with devkitARM r52. To build this target, simply run:
make modern
## Building with other toolchains
## Other toolchains
To build using a toolchain other than devkitARM, override the `TOOLCHAIN` environment variable with the path to your toolchain, which must contain the subdirectory `bin`.
@@ -83,8 +90,9 @@ The following is an example:
To compile the `modern` target with this toolchain, the subdirectories `lib`, `include`, and `arm-none-eabi` must also be present.
## Building with debug info
To build **pokeemerald.elf** with enhanced debug info, use the `DINFO` variable.
# Useful additional tools
make DINFO=1
* [porymap](https://github.com/huderlem/porymap) for viewing and editing maps
* [poryscript](https://github.com/huderlem/poryscript) for scripting ([VS Code extension](https://marketplace.visualstudio.com/items?itemName=karathan.poryscript))
* [Tilemap Studio](https://github.com/Rangi42/tilemap-studio) for viewing and editing tilemaps
+11 -10
View File
@@ -49,6 +49,8 @@ DATA_SRC_SUBDIR = src/data
DATA_ASM_SUBDIR = data
SONG_SUBDIR = sound/songs
MID_SUBDIR = sound/songs/midi
SAMPLE_SUBDIR = sound/direct_sound_samples
CRY_SUBDIR = sound/direct_sound_samples/cries
C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR)
GFLIB_BUILDDIR = $(OBJ_DIR)/$(GFLIB_SUBDIR)
@@ -59,8 +61,6 @@ MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR)
ASFLAGS := -mcpu=arm7tdmi --defsym MODERN=$(MODERN)
GCC_VER = $(shell $(CC) -dumpversion)
ifeq ($(MODERN),0)
CC1 := tools/agbcc/bin/agbcc$(EXE)
override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm
@@ -69,10 +69,10 @@ OBJ_DIR := build/emerald
LIBPATH := -L ../../tools/agbcc/lib
else
CC1 = $(shell $(CC) --print-prog-name=cc1) -quiet
override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -fno-aggressive-loop-optimizations -Wno-pointer-to-int-cast
override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast
ROM := pokeemerald_modern.gba
OBJ_DIR := build/modern
LIBPATH := -L $(TOOLCHAIN)/lib/gcc/arm-none-eabi/$(GCC_VER)/thumb -L $(TOOLCHAIN)/arm-none-eabi/lib/thumb
LIBPATH := -L "$(dir $(shell $(CC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(CC) -mthumb -print-file-name=libc.a))"
endif
CPPFLAGS := -iquote include -iquote $(GFLIB_SUBDIR) -Wno-trigraphs -DMODERN=$(MODERN)
@@ -111,13 +111,13 @@ 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 libagbsyscall
.PHONY: all rom clean compare tidy tools mostlyclean clean-tools $(TOOLDIRS) berry_fix libagbsyscall modern
infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line))))
# Build tools when building the rom
# Disable dependency scanning for clean/tidy/tools
ifeq (,$(filter-out all compare,$(MAKECMDGOALS)))
ifeq (,$(filter-out all rom compare modern berry_fix libagbsyscall,$(MAKECMDGOALS)))
$(call infoshell, $(MAKE) tools)
else
NODEP := 1
@@ -175,9 +175,10 @@ clean-tools:
@$(foreach tooldir,$(TOOLDIRS),$(MAKE) clean -C $(tooldir);)
mostlyclean: tidy
rm -f sound/direct_sound_samples/*.bin
rm -f $(SAMPLE_SUBDIR)/*.bin
rm -f $(CRY_SUBDIR)/*.bin
rm -f $(MID_SUBDIR)/*.s
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.rl' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
rm -f $(DATA_ASM_SUBDIR)/layouts/layouts.inc $(DATA_ASM_SUBDIR)/layouts/layouts_table.inc
rm -f $(DATA_ASM_SUBDIR)/maps/connections.inc $(DATA_ASM_SUBDIR)/maps/events.inc $(DATA_ASM_SUBDIR)/maps/groups.inc $(DATA_ASM_SUBDIR)/maps/headers.inc
find $(DATA_ASM_SUBDIR)/maps \( -iname 'connections.inc' -o -iname 'events.inc' -o -iname 'header.inc' \) -exec rm {} +
@@ -214,7 +215,7 @@ include songs.mk
%.gbapal: %.png ; $(GFX) $< $@
%.lz: % ; $(GFX) $< $@
%.rl: % ; $(GFX) $< $@
sound/direct_sound_samples/cry_%.bin: sound/direct_sound_samples/cry_%.aif ; $(AIF) $< $@ --compress
$(CRY_SUBDIR)/%.bin: $(CRY_SUBDIR)/%.aif ; $(AIF) $< $@ --compress
sound/%.bin: sound/%.aif ; $(AIF) $< $@
@@ -234,7 +235,7 @@ $(C_BUILDDIR)/record_mixing.o: CFLAGS += -ffreestanding
$(C_BUILDDIR)/librfu_intr.o: CC1 := tools/agbcc/bin/agbcc_arm
$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -O2 -mthumb-interwork -quiet
else
$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -fno-aggressive-loop-optimizations -Wno-pointer-to-int-cast
$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast
endif
ifeq ($(NODEP),1)
+22
View File
@@ -668,6 +668,28 @@
.byte 0x75
.endm
.macro get_considered_move_target
.byte 0x76
.endm
.macro compare_speeds battler1:req, battler2:req
.byte 0x77
.byte \battler1
.byte \battler2
.endm
.macro is_wakeup_turn battler:req
.byte 0x78
.byte \battler
.endm
.macro if_has_move_with_accuracy_lt battler:req, value:req, ptr:req
.byte 0x79
.byte \battler
.byte \value
.4byte \ptr
.endm
@ useful script macros
.macro if_has_physical_move battler:req, ptr:req
if_has_move_with_split \battler, SPLIT_PHYSICAL, \ptr
+40
View File
@@ -288,3 +288,43 @@
createvisualtask AnimTask_IsDoubleBattle, 0
jumprettrue \ptr
.endm
@ keep CFRU macros cause I'm lazy. todo: update to createsprite and createvisualtask, respectively
.macro launchtemplate launchtemplatePtr launchtemplatePriority launchtemplateArgsNo launchtemplatearg0 launchtemplatearg1 launchtemplatearg2 launchtemplatearg3 launchtemplatearg4 launchtemplatearg5 launchtemplatearg6 launchtemplatearg7 launchtemplatearg8
.byte 0x2
.word \launchtemplatePtr
.byte \launchtemplatePriority
.byte \launchtemplateArgsNo
.hword \launchtemplatearg0
.hword \launchtemplatearg1
.hword \launchtemplatearg2
.hword \launchtemplatearg3
.hword \launchtemplatearg4
.hword \launchtemplatearg5
.hword \launchtemplatearg6
.hword \launchtemplatearg7
.hword \launchtemplatearg8
.endm
.macro launchtask launchtaskPtr launchtaskPriority launchtaskArgsNo launchtaskarg0 launchtaskarg1 launchtaskarg2 launchtaskarg3 launchtaskarg4 launchtaskarg5 launchtaskarg6 launchtaskarg7 launchtaskarg8
.byte 0x3
.word \launchtaskPtr
.byte \launchtaskPriority
.byte \launchtaskArgsNo
.hword \launchtaskarg0
.hword \launchtaskarg1
.hword \launchtaskarg2
.hword \launchtaskarg3
.hword \launchtaskarg4
.hword \launchtaskarg5
.hword \launchtaskarg6
.hword \launchtaskarg7
.hword \launchtaskarg8
.endm
.macro setblends setblends_value
.byte 0xC
.hword \setblends_value
.endm
+20 -9
View File
@@ -1315,8 +1315,8 @@
various \battler, VARIOUS_GET_MOVE_TARGET
.endm
.macro various4 battler:req
various \battler, 4
.macro getbattlerfainted battler:req
various \battler, VARIOUS_GET_BATTLER_FAINTED
.endm
.macro resetintimidatetracebits battler:req
@@ -1331,8 +1331,8 @@
various \battler, 7
.endm
.macro various8 battler:req
various \battler, 8
.macro palaceflavortext battler:req
various \battler, VARIOUS_PALACE_FLAVOR_TEXT
.endm
.macro arenajudgmentwindow
@@ -1562,8 +1562,8 @@
.4byte \ptr
.endm
.macro tryautonomize battler:req, ptr:req
various \battler, VARIOUS_TRY_AUTONOMIZE
.macro tryautotomize battler:req, ptr:req
various \battler, VARIOUS_TRY_AUTOTOMIZE
.4byte \ptr
.endm
@@ -1715,7 +1715,13 @@
.endm
.macro trypoisontype attacker:req, target:req, ptr:req
various \attacker, VARIOUS_HANDLE_TYPE_IMMUNITY
various \attacker, VARIOUS_POISON_TYPE_IMMUNITY
.byte \target
.4byte \ptr
.endm
.macro tryparalyzetype attacker:req, target:req, ptr:req
various \attacker, VARIOUS_PARALYZE_TYPE_IMMUNITY
.byte \target
.4byte \ptr
.endm
@@ -1745,6 +1751,11 @@
various \battler, VARIOUS_SET_LAST_USED_ITEM
.endm
.macro jumpifabsent battler:req, ptr:req
various \battler, VARIOUS_JUMP_IF_ABSENT
.4byte \ptr
.endm
@ helpful macros
.macro setstatchanger stat:req, stages:req, down:req
setbyte sSTATCHANGER \stat | \stages << 3 | \down << 7
@@ -1756,11 +1767,11 @@
.endm
.macro chosenstatus1animation battler:req, status:req
chosenstatusanimation \battler 0x0 \status
chosenstatusanimation \battler, 0x0, \status
.endm
.macro chosenstatus2animation battler:req, status:req
chosenstatusanimation \battler 0x1 \status
chosenstatusanimation \battler, 0x1, \status
.endm
.macro sethword dst:req, value:req
File diff suppressed because it is too large. Load diff
+93 -38
View File
@@ -274,15 +274,17 @@
.2byte \functionId
.endm
@ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock state, the script will remain blocked indefinitely (essentially a hang).
@ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific
@ commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock
@ state, the script will remain blocked indefinitely (essentially a hang).
.macro waitstate
.byte 0x27
.endm
@ Blocks script execution for time (frames? milliseconds?).
.macro delay time:req
@ Blocks script execution for frames. (Pokemon Emerald runs at just shy of 60 frames per second.)
.macro delay frames:req
.byte 0x28
.2byte \time
.2byte \frames
.endm
@ Sets a to 1.
@@ -315,7 +317,8 @@
.byte 0x2d
.endm
@ Sets the values of variables 0x8000, 0x8001, and 0x8002 to the current hour, minute, and second. In FRLG, this command sets those variables to zero.
@ Sets the values of variables 0x8000, 0x8001, and 0x8002 to the current hour, minute, and second. In FRLG,
@ this command sets those variables to zero.
.macro gettime
.byte 0x2e
.endm
@@ -378,7 +381,8 @@
.byte \speed
.endm
@ Sends the player to Warp warp on Map bank.map. If the specified warp is 0xFF, then the player will instead be sent to (X, Y) on the map.
@ Sends the player to Warp warp on Map bank.map. If the specified warp is 0xFF,
@ then the player will instead be sent to (X, Y) on the map.
.macro warp map:req, warp:req, X:req, Y:req
.byte 0x39
map \map
@@ -429,7 +433,8 @@
.2byte \Y
.endm
@ Sets the warp destination that a warp to Warp 127 on Map 127.127 will connect to. Useful when a map has warps that need to go to script-controlled locations (i.e. elevators).
@ Sets the warp destination that a warp to Warp 127 on Map 127.127 will connect to.
@ Useful when a map has warps that need to go to script-controlled locations (i.e. elevators).
.macro setdynamicwarp map:req, warp:req, X:req, Y:req
.byte 0x3f
map \map
@@ -468,7 +473,8 @@
.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 VAR_RESULT will be set to TRUE; otherwise, VAR_RESULT is set to FALSE.
@ 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
@@ -482,21 +488,24 @@
.2byte \quantity
.endm
@ 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.
@ 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 VAR_RESULT to TRUE if the player has enough of the item, or FALSE 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 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).
@ 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
@@ -534,7 +543,8 @@
.2byte \decoration
.endm
@ 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.)
@ 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
@@ -556,7 +566,10 @@
.endif
.endm
@ Blocks script execution until the movements being applied to the specified (index) Object finish. If the specified Object is 0x0000, then the command will block script execution until all Objects affected by applymovement finish their movements. If the specified Object is not currently being manipulated with applymovement, then this command does nothing.
@ Blocks script execution until the movements being applied to the specified (index) Object finish.
@ If the specified Object is 0x0000, then the command will block script execution until all Objects
@ affected by applymovement finish their movements. If the specified Object is not currently being
@ manipulated with applymovement, then this command does nothing.
@ If no map is specified, then the current map is used.
.macro waitmovement index:req, map
.ifb \map
@@ -569,7 +582,9 @@
.endif
.endm
@ Attempts to hide the specified (index) Object on the specified (map_group, map_num) map, by setting its visibility flag if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
@ Attempts to hide the specified (index) Object on the specified (map_group, map_num) map,
@ by setting its visibility flag if it has a valid one. If the Object does not have a valid
@ visibility flag, this command does nothing.
@ If no map is specified, then the current map is used.
.macro removeobject index:req, map
.ifb \map
@@ -582,7 +597,8 @@
.endif
.endm
@ Unsets the specified (index) Object's visibility flag on the specified (map_group, map_num) map if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
@ Unsets the specified (index) Object's visibility flag on the specified (map_group, map_num) map if it has a valid one.
@ If the Object does not have a valid visibility flag, this command does nothing.
@ If no map is specified, then the current map is used.
.macro addobject index:req, map
.ifb \map
@@ -723,7 +739,8 @@
.endm
@ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes.
@ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this
@ command behind-the-scenes), and blocks script execution until the battle finishes.
.macro trainerbattlebegin
.byte 0x5d
.endm
@@ -763,7 +780,8 @@
.2byte \y
.endm
@ Copies a live object event's xy position to its template, so that if the sprite goes off screen, it'll still be there when it comes back on screen.
@ Copies a live object event's xy position to its template, so that if the sprite goes off screen,
@ it'll still be there when it comes back on screen.
.macro copyobjectxytoperm index:req
.byte 0x64
.2byte \index
@@ -775,12 +793,15 @@
.byte \byte
.endm
@ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the box and its text have been fully drawn.
@ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the
@ box and its text have been fully drawn.
.macro waitmessage
.byte 0x66
.endm
@ Starts displaying a standard message box containing the specified text. If text is a pointer, then the string at that offset will be loaded and used. If text is script bank 0, then the value of script bank 0 will be treated as a pointer to the text. (You can use loadpointer to place a string pointer in a script bank.)
@ Starts displaying a standard message box containing the specified text. If text is a pointer, then the string at
@ that offset will be loaded and used. If text is script bank 0, then the value of script bank 0 will be treated as
@ a pointer to the text. (You can use loadpointer to place a string pointer in a script bank.)
.macro message text:req
.byte 0x67
.4byte \text
@@ -816,14 +837,16 @@
.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 VAR_RESULT as NO (0) or YES (1). Pressing B is equivalent to answering NO
@ 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 (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.
@ 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
@@ -832,7 +855,10 @@
.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 (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.
@ 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
@@ -842,7 +868,9 @@
.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 (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.
@ 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
@@ -894,7 +922,9 @@
.byte \a
.endm
@ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille characters and needs to provide six extra starting characters that are skipped (in RS, these characters determined the box's size and position, but in Emerald these are calculated automatically).
@ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille
@ characters and needs to provide six extra starting characters that are skipped (in RS, these characters determined the
@ box's size and position, but in Emerald these are calculated automatically).
.macro braillemessage text:req
.byte 0x78
.4byte \text
@@ -923,7 +953,9 @@
.2byte \move
.endm
@ 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.
@ 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
@@ -942,14 +974,16 @@
.byte \out
.endm
@ Writes the nickname of the Pokemon in slot slot (zero-indexed) of the player's party to the specified buffer. If an empty or invalid slot is specified, ten spaces ("") are written to the buffer.
@ Writes the nickname of the Pokemon in slot slot (zero-indexed) of the player's party to the specified buffer.
@ If an empty or invalid slot is specified, ten spaces ("") are written to the buffer.
.macro bufferpartymonnick out:req, slot:req
.byte 0x7f
.byte \out
.2byte \slot
.endm
@ Writes the name of the item at index item to the specified buffer. If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
@ Writes the name of the item at index item to the specified buffer. If the specified index is larger than
@ the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
.macro bufferitemname out:req, item:req
.byte 0x80
.byte \out
@@ -977,7 +1011,8 @@
.2byte \input
.endm
@ Writes the standard string identified by index to the specified buffer. This command has no protections in place at all, so specifying an invalid standard string (e.x. 0x2B) can and usually will cause data corruption.
@ Writes the standard string identified by index to the specified buffer. This command has no protections in place at all,
@ so specifying an invalid standard string (e.x. 0x2B) can and usually will cause crashes or garbage characters.
.macro bufferstdstring out:req, index:req
.byte 0x84
.byte \out
@@ -1063,7 +1098,8 @@
.byte \check
.endm
@ 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.
@ 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
@@ -1291,7 +1327,8 @@
.2byte \count
.endm
@ Prepares to start a wild battle against a species at Level level holding item. Running this command will not affect normal wild battles. You start the prepared battle with dowildbattle.
@ Prepares to start a wild battle against a species at Level level holding item. Running this command will not affect
@ normal wild battles. You start the prepared battle with dowildbattle.
.macro setwildbattle species:req, level:req, item:req
.byte 0xb6
.2byte \species
@@ -1395,34 +1432,43 @@
.2byte \box
.endm
@ Sets the color of the text in standard message boxes. 0x00 produces blue (male) text, 0x01 produces red (female) text, 0xFF resets the color to the default for the current OW's gender, and all other values produce black text.
@ Sets the color of the text in standard message boxes. 0x00 produces blue (male) text, 0x01 produces red (female) text,
@ 0xFF resets the color to the default for the current OW's gender, and all other values produce black text.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
.macro textcolor color:req
.byte 0xc7
.byte \color
.endm
@ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened.
@ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom
@ of the screen when the Main Menu is opened.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
.macro loadhelp pointer:req
.byte 0xc8
.4byte \pointer
.endm
@ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened.
@ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of
@ the screen when the Main Menu is opened.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
.macro unloadhelp
.byte 0xc9
.endm
@ After using this command, all standard message boxes will use the signpost frame.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
.macro signmsg
.byte 0xca
.endm
@ Ends the effects of signmsg, returning message box frames to normal.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
.macro normalmsg
.byte 0xcb
.endm
@ Compares the value of a hidden variable to a dword.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
.macro comparehiddenvar a:req, value:req
.byte 0xcc
.byte \a
@@ -1435,18 +1481,21 @@
.2byte \slot
.endm
@ 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.
@ 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
.endm
@ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020375C0.
@ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the
@ offset specified by the pointer at 0x020375C0.
.macro gotoram
.byte 0xcf
.endm
@ Sets worldmapflag to 1. This allows the player to Fly to the corresponding map, if that map has a flightspot.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
.macro setworldmapflag worldmapflag:req
.byte 0xd0
.2byte \worldmapflag
@@ -1468,7 +1517,8 @@
.byte \location
.endm
@ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Moves the objects on the colored puzzle specified by puzzleNumber one rotation
@ 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 \puzzleNumber
@@ -1479,7 +1529,9 @@
.byte 0xd4
.endm
@ 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.
@ 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 \isTrickHouse
@@ -1551,7 +1603,10 @@
.2byte \word
.endm
@ Writes the name of the specified (item) item to the specified buffer. If the specified item is a Berry (0x85 - 0xAE) or Poke Ball (0x4) and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended). If the specified item is the Enigma Berry, I have no idea what this command does (but testing showed no pluralization). If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
@ Writes the name of the specified (item) item to the specified buffer. If the specified item is a Berry (0x85 - 0xAE) or
@ Poke Ball (0x4) and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended).
@ If the specified item is the Enigma Berry, I have no idea what this command does (but testing showed no pluralization).
@ If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
.macro bufferitemnameplural out:req, item:req, quantity:req
.byte 0xe2
.byte \out
+59 -32
View File
@@ -1,19 +1,19 @@
.macro voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release
.macro voice_directsound base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req
.byte 0
_voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release
.endm
.macro voice_directsound_no_resample base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release
.macro voice_directsound_no_resample base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req
.byte 8
_voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release
.endm
.macro voice_directsound_alt base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release
.macro voice_directsound_alt base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req
.byte 16
_voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release
.endm
.macro _voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release
.macro _voice_directsound base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req
.byte \base_midi_key
.byte 0
.if \pan != 0
@@ -28,16 +28,22 @@
.byte \release
.endm
.macro voice_square_1 sweep, duty_cycle, attack, decay, sustain, release
_voice_square_1 1, \sweep, \duty_cycle, \attack, \decay, \sustain, \release
.macro voice_square_1 base_midi_key:req, pan:req, sweep:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req
_voice_square_1 1, \base_midi_key, \pan, \sweep, \duty_cycle, \attack, \decay, \sustain, \release
.endm
.macro voice_square_1_alt sweep, duty_cycle, attack, decay, sustain, release
_voice_square_1 9, \sweep, \duty_cycle, \attack, \decay, \sustain, \release
.macro voice_square_1_alt base_midi_key:req, pan:req, sweep:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req
_voice_square_1 9, \base_midi_key, \pan, \sweep, \duty_cycle, \attack, \decay, \sustain, \release
.endm
.macro _voice_square_1 type, sweep, duty_cycle, attack, decay, sustain, release
.byte \type, 60, 0
.macro _voice_square_1 type:req, base_midi_key:req, pan:req, sweep:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req
.byte \type
.byte \base_midi_key
.if \pan != 0
.byte (0x80 | \pan)
.else
.byte 0
.endif
.byte \sweep
.byte (\duty_cycle & 0x3)
.byte 0, 0, 0
@@ -47,16 +53,23 @@
.byte (\release & 0x7)
.endm
.macro voice_square_2 duty_cycle, attack, decay, sustain, release
_voice_square_2 2, \duty_cycle, \attack, \decay, \sustain, \release
.macro voice_square_2 base_midi_key:req, pan:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req
_voice_square_2 2, \base_midi_key, \pan, \duty_cycle, \attack, \decay, \sustain, \release
.endm
.macro voice_square_2_alt duty_cycle, attack, decay, sustain, release
_voice_square_2 10, \duty_cycle, \attack, \decay, \sustain, \release
.macro voice_square_2_alt base_midi_key:req, pan:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req
_voice_square_2 10, \base_midi_key, \pan, \duty_cycle, \attack, \decay, \sustain, \release
.endm
.macro _voice_square_2 type, duty_cycle, attack, decay, sustain, release
.byte \type, 60, 0, 0
.macro _voice_square_2 type:req, base_midi_key:req, pan:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req
.byte \type
.byte \base_midi_key
.if \pan != 0
.byte (0x80 | \pan)
.else
.byte 0
.endif
.byte 0
.byte (\duty_cycle & 0x3)
.byte 0, 0, 0
.byte (\attack & 0x7)
@@ -65,16 +78,23 @@
.byte (\release & 0x7)
.endm
.macro voice_programmable_wave wave_samples_pointer, attack, decay, sustain, release
_voice_programmable_wave 3, \wave_samples_pointer, \attack, \decay, \sustain, \release
.macro voice_programmable_wave base_midi_key:req, pan:req, wave_samples_pointer:req, attack:req, decay:req, sustain:req, release:req
_voice_programmable_wave 3, \base_midi_key, \pan, \wave_samples_pointer, \attack, \decay, \sustain, \release
.endm
.macro voice_programmable_wave_alt wave_samples_pointer, attack, decay, sustain, release
_voice_programmable_wave 11, \wave_samples_pointer, \attack, \decay, \sustain, \release
.macro voice_programmable_wave_alt base_midi_key:req, pan:req, wave_samples_pointer:req, attack:req, decay:req, sustain:req, release:req
_voice_programmable_wave 11, \base_midi_key, \pan, \wave_samples_pointer, \attack, \decay, \sustain, \release
.endm
.macro _voice_programmable_wave type, wave_samples_pointer, attack, decay, sustain, release
.byte \type, 60, 0, 0
.macro _voice_programmable_wave type:req, base_midi_key:req, pan:req, wave_samples_pointer:req, attack:req, decay:req, sustain:req, release:req
.byte \type
.byte \base_midi_key
.if \pan != 0
.byte (0x80 | \pan)
.else
.byte 0
.endif
.byte 0
.4byte \wave_samples_pointer
.byte (\attack & 0x7)
.byte (\decay & 0x7)
@@ -82,16 +102,23 @@
.byte (\release & 0x7)
.endm
.macro voice_noise period, attack, decay, sustain, release
_voice_noise 4, \period, \attack, \decay, \sustain, \release
.macro voice_noise base_midi_key:req, pan:req, period:req, attack:req, decay:req, sustain:req, release:req
_voice_noise 4, \base_midi_key, \pan, \period, \attack, \decay, \sustain, \release
.endm
.macro voice_noise_alt period, attack, decay, sustain, release
_voice_noise 12, \period, \attack, \decay, \sustain, \release
.macro voice_noise_alt base_midi_key:req, pan:req, period:req, attack:req, decay:req, sustain:req, release:req
_voice_noise 12, \base_midi_key, \pan, \period, \attack, \decay, \sustain, \release
.endm
.macro _voice_noise type, period, attack, decay, sustain, release
.byte \type, 60, 0, 0
.macro _voice_noise type:req, base_midi_key:req, pan:req, period:req, attack:req, decay:req, sustain:req, release:req
.byte \type
.byte \base_midi_key
.if \pan != 0
.byte (0x80 | \pan)
.else
.byte 0
.endif
.byte 0
.byte (\period & 0x1)
.byte 0, 0, 0
.byte (\attack & 0x7)
@@ -100,25 +127,25 @@
.byte (\release & 0x7)
.endm
.macro voice_keysplit voice_group_pointer, keysplit_table_pointer
.macro voice_keysplit voice_group_pointer:req, keysplit_table_pointer:req
.byte 0x40, 0, 0, 0
.4byte \voice_group_pointer
.4byte \keysplit_table_pointer
.endm
.macro voice_keysplit_all voice_group_pointer
.macro voice_keysplit_all voice_group_pointer:req
.byte 0x80, 0, 0, 0
.4byte \voice_group_pointer
.4byte 0
.endm
.macro cry sample
.macro cry sample:req
.byte 0x20, 60, 0, 0
.4byte \sample
.byte 0xff, 0, 0xff, 0
.endm
.macro cry2 sample
.macro cry2 sample:req
.byte 0x30, 60, 0, 0
.4byte \sample
.byte 0xff, 0, 0xff, 0
+3 -3
View File
@@ -52,9 +52,9 @@
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
@ Unknown, dummied. E-Reader association is assumed. Only side effect is setting VAR_RESULT to 0.
.macro trainerhill_getusingereader
setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_IN_EREADER_MODE
special CallTrainerHillFunction
.endm
+116
View File
@@ -0,0 +1,116 @@
Param
(
[Parameter(Position = 0)]
[string]$Start,
[Parameter(Position = 1)]
[string]$Offset,
[Parameter()]
[string[]]$DiffTool
)
$ErrorActionPreference = "Stop"
$offset_default_value = "0x100"
$diff_tool_default_value = "diff"
$help = "
$($args[0]) [OPTIONS] Start [Offset]
Performs a diff on the assembly of a function in a rom. 'Start' is the start
location of the function, and 'Offset' is the number of bytes to disassemble.
The assembly is saved to *.dump files.
'Offset' is optional, and defaults to $offset_default_value. If this value is
very large (0x10000+), objdump may hang / freeze.
Requirements:
- A clean copy of the rom named 'baserom.gba'.
- $$ENV:DEVKITARM to point to the installation of devkitpro. By default, it is
installed to 'C:\devkitpro\devkitARM'.
Options:
-DiffTool <tool> The tool to use for diffing. Defaults to '$diff_tool_default_value'. For VSCode,
you can use -DiffTool 'code --diff'. (Quotes are necessary around 'code --diff')
"
if ((-not (Test-Path variable:Start)) -or [string]::IsNullOrWhiteSpace($Start))
{
Write-Host $help
exit
}
if (-not (Test-Path variable:DiffTool) -or [string]::IsNullOrWhiteSpace($DiffTool))
{
$DiffTool = $diff_tool_default_value
}
if (-not (Test-Path variable:Offset) -or [string]::IsNullOrWhiteSpace($Offset))
{
$Offset = $offset_default_value
}
if (-Not (Test-Path env:DEVKITARM))
{
Write-Host "ENV:DEVKITARM variable not set."
Write-Host $help
exit
}
if (-Not (Test-Path $env:DEVKITARM))
{
Write-Host "DEVKITARM path '$env:DEVKITARM' does not exist."
Write-Host $help
exit
}
if (-Not (Test-Path ".\pokeemerald.gba"))
{
Write-Host "File 'pokeemerald.gba' not found."
Write-Host $help
exit
}
if (-Not (Test-Path ".\baserom.gba"))
{
Write-Host "File 'baserom.gba' not found."
}
try
{
$start_num = [System.Convert]::ToUInt64($Start, 16)
}
catch
{
Write-Host "Error parsing '$start_num' as a hex number."
Write-Host $help
exit
}
try
{
$offset_num = [System.Convert]::ToUInt64($Offset, 16)
}
catch
{
Write-Host "Error parsing '$offset_num' as a hex number."
Write-Host $help
exit
}
if ($start_num -gt 0x1000000)
{
Write-Host "Warning: Start address is larger than the ROM file. Hint: ignore the leading number in the address."
}
$end_str = [System.Convert]::ToString($start_num + $offset_num, 16)
$end_str = "0x$end_str"
$start_str = "0x$Start"
Write-Host "$start_str - $end_str"
$objdump = Join-Path -Path $env:DEVKITARM -ChildPath "arm-none-eabi\bin\objdump.exe"
&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$start_str" --stop-address="$end_str" .\baserom.gba > .\baserom.dump
&$objdump -D -bbinary -marmv4t -Mforce-thumb --start-address="$start_str" --stop-address="$end_str" .\pokeemerald.gba > .\pokeemerald.dump
Invoke-Expression "$DiffTool .\baserom.dump .\pokeemerald.dump"
+6 -6
View File
@@ -75,21 +75,21 @@ _send: @ 14c
_150:
bl _recv
bne _150
mov r2, 0
mov r2, #0
strh r2, [r0, 0xa] @ SIOMLT_SEND
cmp r1, 0
cmp r1, #0
bne _150
mov r2, 0x8000
_16c:
mov r1, 0
mov r1, #0
_170:
strh r1, [r0, 0xa] @ SIOMLT_SEND
bl _recv
bne _150
cmp r1, r2
bne _16c
lsr r2, 5
cmp r1, 0
lsr r2, #5
cmp r1, #0
bne _170
ldr r3, =BerryFixMBHeaderGameCode
ldrh r2, [r3]
@@ -105,7 +105,7 @@ _1a0:
bne _1a0
cmp r1, r2
bne _1a0
mov r1, 0
mov r1, #0
strh r1, [r0, 0xa] @ SIOMLT_SEND
ldr r0, =_data_2f0
ldr r1, =gCode
+448 -448
View File
@@ -414,7 +414,7 @@ SIZE = FC 06 @ note that anything other than "SMALL" is invalid
UNKNOWN_7 = FC 07
PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them
PAUSE_UNTIL_PRESS = FC 09
UNKNOWN_A = FC 0A
WAIT_SE = FC 0A
PLAY_BGM = FC 0B
ESCAPE = FC 0C
SHIFT_TEXT = FC 0D
@@ -454,7 +454,7 @@ DYNAMIC_COLOR6 = 0F @ cerulean
@ sound and music
MUS_DUMMY = 00 00
SE_KAIFUKU = 01 00
SE_USE_ITEM = 01 00
SE_PC_LOGIN = 02 00
SE_PC_OFF = 03 00
SE_PC_ON = 04 00
@@ -462,476 +462,476 @@ SE_SELECT = 05 00
SE_WIN_OPEN = 06 00
SE_WALL_HIT = 07 00
SE_DOOR = 08 00
SE_KAIDAN = 09 00
SE_DANSA = 0A 00
SE_JITENSYA = 0B 00
SE_KOUKA_L = 0C 00
SE_KOUKA_M = 0D 00
SE_KOUKA_H = 0E 00
SE_BOWA2 = 0F 00
SE_POKE_DEAD = 10 00
SE_NIGERU = 11 00
SE_JIDO_DOA = 12 00
SE_NAMINORI = 13 00
SE_BAN = 14 00
SE_EXIT = 09 00
SE_LEDGE = 0A 00
SE_BIKE_BELL = 0B 00
SE_NOT_EFFECTIVE = 0C 00
SE_EFFECTIVE = 0D 00
SE_SUPER_EFFECTIVE = 0E 00
SE_BALL_OPEN = 0F 00
SE_FAINT = 10 00
SE_FLEE = 11 00
SE_SLIDING_DOOR = 12 00
SE_SHIP = 13 00
SE_BANG = 14 00
SE_PIN = 15 00
SE_BOO = 16 00
SE_BOWA = 17 00
SE_JYUNI = 18 00
SE_BALL = 17 00
SE_CONTEST_PLACE = 18 00
SE_A = 19 00
SE_I = 1A 00
SE_U = 1B 00
SE_E = 1C 00
SE_O = 1D 00
SE_N = 1E 00
SE_SEIKAI = 1F 00
SE_HAZURE = 20 00
SE_SUCCESS = 1F 00
SE_FAILURE = 20 00
SE_EXP = 21 00
SE_JITE_PYOKO = 22 00
SE_MU_PACHI = 23 00
SE_TK_KASYA = 24 00
SE_BIKE_HOP = 22 00
SE_SWITCH = 23 00
SE_CLICK = 24 00
SE_FU_ZAKU = 25 00
SE_FU_ZAKU2 = 26 00
SE_FU_ZUZUZU = 27 00
SE_RU_GASHIN = 28 00
SE_RU_GASYAN = 29 00
SE_RU_BARI = 2A 00
SE_RU_HYUU = 2B 00
SE_KI_GASYAN = 2C 00
SE_TK_WARPIN = 2D 00
SE_TK_WARPOUT = 2E 00
SE_TU_SAA = 2F 00
SE_HI_TURUN = 30 00
SE_TRACK_MOVE = 31 00
SE_TRACK_STOP = 32 00
SE_TRACK_HAIKI = 33 00
SE_TRACK_DOOR = 34 00
SE_MOTER = 35 00
SE_CONTEST_CONDITION_LOSE = 26 00
SE_LAVARIDGE_FALL_WARP = 27 00
SE_ICE_STAIRS = 28 00
SE_ICE_BREAK = 29 00
SE_ICE_CRACK = 2A 00
SE_FALL = 2B 00
SE_UNLOCK = 2C 00
SE_WARP_IN = 2D 00
SE_WARP_OUT = 2E 00
SE_REPEL = 2F 00
SE_ROTATING_GATE = 30 00
SE_TRUCK_MOVE = 31 00
SE_TRUCK_STOP = 32 00
SE_TRUCK_UNLOAD = 33 00
SE_TRUCK_DOOR = 34 00
SE_BERRY_BLENDER = 35 00
SE_CARD = 36 00
SE_SAVE = 37 00
SE_KON = 38 00
SE_KON2 = 39 00
SE_KON3 = 3A 00
SE_KON4 = 3B 00
SE_SUIKOMU = 3C 00
SE_NAGERU = 3D 00
SE_TOY_C = 3E 00
SE_TOY_D = 3F 00
SE_TOY_E = 40 00
SE_TOY_F = 41 00
SE_TOY_G = 42 00
SE_TOY_A = 43 00
SE_TOY_B = 44 00
SE_TOY_C1 = 45 00
SE_MIZU = 46 00
SE_HASHI = 47 00
SE_DAUGI = 48 00
SE_PINPON = 49 00
SE_FUUSEN1 = 4A 00
SE_FUUSEN2 = 4B 00
SE_FUUSEN3 = 4C 00
SE_TOY_KABE = 4D 00
SE_TOY_DANGO = 4E 00
SE_DOKU = 4F 00
SE_ESUKA = 50 00
SE_T_AME = 51 00
SE_T_AME_E = 52 00
SE_T_OOAME = 53 00
SE_T_OOAME_E = 54 00
SE_T_KOAME = 55 00
SE_T_KOAME_E = 56 00
SE_T_KAMI = 57 00
SE_T_KAMI2 = 58 00
SE_ELEBETA = 59 00
SE_HINSI = 5A 00
SE_EXPMAX = 5B 00
SE_TAMAKORO = 5C 00
SE_TAMAKORO_E = 5D 00
SE_BASABASA = 5E 00
SE_REGI = 5F 00
SE_C_GAJI = 60 00
SE_C_MAKU_U = 61 00
SE_C_MAKU_D = 62 00
SE_C_PASI = 63 00
SE_C_SYU = 64 00
SE_C_PIKON = 65 00
SE_REAPOKE = 66 00
SE_OP_BASYU = 67 00
SE_BT_START = 68 00
SE_DENDOU = 69 00
SE_JIHANKI = 6A 00
SE_TAMA = 6B 00
SE_Z_SCROLL = 6C 00
SE_Z_PAGE = 6D 00
SE_PN_ON = 6E 00
SE_PN_OFF = 6F 00
SE_Z_SEARCH = 70 00
SE_TAMAGO = 71 00
SE_TB_START = 72 00
SE_TB_KON = 73 00
SE_TB_KARA = 74 00
SE_BIDORO = 75 00
SE_W085 = 76 00
SE_W085B = 77 00
SE_W231 = 78 00
SE_W171 = 79 00
SE_W233 = 7A 00
SE_W233B = 7B 00
SE_W145 = 7C 00
SE_W145B = 7D 00
SE_W145C = 7E 00
SE_W240 = 7F 00
SE_W015 = 80 00
SE_W081 = 81 00
SE_W081B = 82 00
SE_W088 = 83 00
SE_W016 = 84 00
SE_W016B = 85 00
SE_W003 = 86 00
SE_W104 = 87 00
SE_W013 = 88 00
SE_W196 = 89 00
SE_W086 = 8A 00
SE_W004 = 8B 00
SE_W025 = 8C 00
SE_W025B = 8D 00
SE_W152 = 8E 00
SE_W026 = 8F 00
SE_W172 = 90 00
SE_W172B = 91 00
SE_W053 = 92 00
SE_W007 = 93 00
SE_W092 = 94 00
SE_W221 = 95 00
SE_W221B = 96 00
SE_W052 = 97 00
SE_W036 = 98 00
SE_W059 = 99 00
SE_W059B = 9A 00
SE_W010 = 9B 00
SE_W011 = 9C 00
SE_W017 = 9D 00
SE_W019 = 9E 00
SE_W028 = 9F 00
SE_W013B = A0 00
SE_W044 = A1 00
SE_W029 = A2 00
SE_W057 = A3 00
SE_W056 = A4 00
SE_W250 = A5 00
SE_W030 = A6 00
SE_W039 = A7 00
SE_W054 = A8 00
SE_W077 = A9 00
SE_W020 = AA 00
SE_W082 = AB 00
SE_W047 = AC 00
SE_W195 = AD 00
SE_W006 = AE 00
SE_W091 = AF 00
SE_W146 = B0 00
SE_W120 = B1 00
SE_W153 = B2 00
SE_W071B = B3 00
SE_W071 = B4 00
SE_W103 = B5 00
SE_W062 = B6 00
SE_W062B = B7 00
SE_W048 = B8 00
SE_W187 = B9 00
SE_W118 = BA 00
SE_W155 = BB 00
SE_W122 = BC 00
SE_W060 = BD 00
SE_W185 = BE 00
SE_W014 = BF 00
SE_W043 = C0 00
SE_W207 = C1 00
SE_W207B = C2 00
SE_W215 = C3 00
SE_W109 = C4 00
SE_W173 = C5 00
SE_W280 = C6 00
SE_W202 = C7 00
SE_W060B = C8 00
SE_W076 = C9 00
SE_W080 = CA 00
SE_W100 = CB 00
SE_W107 = CC 00
SE_W166 = CD 00
SE_W129 = CE 00
SE_W115 = CF 00
SE_W112 = D0 00
SE_W197 = D1 00
SE_W199 = D2 00
SE_W236 = D3 00
SE_W204 = D4 00
SE_W268 = D5 00
SE_W070 = D6 00
SE_W063 = D7 00
SE_W127 = D8 00
SE_W179 = D9 00
SE_W151 = DA 00
SE_W201 = DB 00
SE_W161 = DC 00
SE_W161B = DD 00
SE_W227 = DE 00
SE_W227B = DF 00
SE_W226 = E0 00
SE_W208 = E1 00
SE_W213 = E2 00
SE_W213B = E3 00
SE_W234 = E4 00
SE_W260 = E5 00
SE_W328 = E6 00
SE_W320 = E7 00
SE_W255 = E8 00
SE_W291 = E9 00
SE_W089 = EA 00
SE_W239 = EB 00
SE_W230 = EC 00
SE_W281 = ED 00
SE_W327 = EE 00
SE_W287 = EF 00
SE_W257 = F0 00
SE_W253 = F1 00
SE_W258 = F2 00
SE_W322 = F3 00
SE_W298 = F4 00
SE_W287B = F5 00
SE_W114 = F6 00
SE_W063B = F7 00
SE_RG_W_DOOR = F8 00
SE_RG_CARD1 = F9 00
SE_RG_CARD2 = FA 00
SE_RG_CARD3 = FB 00
SE_RG_BAG1 = FC 00
SE_RG_BAG2 = FD 00
SE_RG_GETTING = FE 00
SE_BALL_BOUNCE_1 = 38 00
SE_BALL_BOUNCE_2 = 39 00
SE_BALL_BOUNCE_3 = 3A 00
SE_BALL_BOUNCE_4 = 3B 00
SE_BALL_TRADE = 3C 00
SE_BALL_THROW = 3D 00
SE_NOTE_C = 3E 00
SE_NOTE_D = 3F 00
SE_NOTE_E = 40 00
SE_NOTE_F = 41 00
SE_NOTE_G = 42 00
SE_NOTE_A = 43 00
SE_NOTE_B = 44 00
SE_NOTE_C_HIGH = 45 00
SE_PUDDLE = 46 00
SE_BRIDGE_WALK = 47 00
SE_ITEMFINDER = 48 00
SE_DING_DONG = 49 00
SE_BALLOON_RED = 4A 00
SE_BALLOON_BLUE = 4B 00
SE_BALLOON_YELLOW = 4C 00
SE_BREAKABLE_DOOR = 4D 00
SE_MUD_BALL = 4E 00
SE_FIELD_POISON = 4F 00
SE_ESCALATOR = 50 00
SE_THUNDERSTORM = 51 00
SE_THUNDERSTORM_STOP = 52 00
SE_DOWNPOUR = 53 00
SE_DOWNPOUR_STOP = 54 00
SE_RAIN = 55 00
SE_RAIN_STOP = 56 00
SE_THUNDER = 57 00
SE_THUNDER2 = 58 00
SE_ELEVATOR = 59 00
SE_LOW_HEALTH = 5A 00
SE_EXP_MAX = 5B 00
SE_ROULETTE_BALL = 5C 00
SE_ROULETTE_BALL2 = 5D 00
SE_TAILLOW_WING_FLAP = 5E 00
SE_SHOP = 5F 00
SE_CONTEST_HEART = 60 00
SE_CONTEST_CURTAIN_RISE = 61 00
SE_CONTEST_CURTAIN_FALL = 62 00
SE_CONTEST_ICON_CHANGE = 63 00
SE_CONTEST_ICON_CLEAR = 64 00
SE_CONTEST_MONS_TURN = 65 00
SE_SHINY = 66 00
SE_INTRO_BLAST = 67 00
SE_MUGSHOT = 68 00
SE_APPLAUSE = 69 00
SE_VEND = 6A 00
SE_ORB = 6B 00
SE_DEX_SCROLL = 6C 00
SE_DEX_PAGE = 6D 00
SE_POKENAV_ON = 6E 00
SE_POKENAV_OFF = 6F 00
SE_DEX_SEARCH = 70 00
SE_EGG_HATCH = 71 00
SE_BALL_TRAY_ENTER = 72 00
SE_BALL_TRAY_BALL = 73 00
SE_BALL_TRAY_EXIT = 74 00
SE_GLASS_FLUTE = 75 00
SE_M_THUNDERBOLT = 76 00
SE_M_THUNDERBOLT2 = 77 00
SE_M_HARDEN = 78 00
SE_M_NIGHTMARE = 79 00
SE_M_VITAL_THROW = 7A 00
SE_M_VITAL_THROW2 = 7B 00
SE_M_BUBBLE = 7C 00
SE_M_BUBBLE2 = 7D 00
SE_M_BUBBLE3 = 7E 00
SE_M_RAIN_DANCE = 7F 00
SE_M_CUT = 80 00
SE_M_STRING_SHOT = 81 00
SE_M_STRING_SHOT2 = 82 00
SE_M_ROCK_THROW = 83 00
SE_M_GUST = 84 00
SE_M_GUST2 = 85 00
SE_M_DOUBLE_SLAP = 86 00
SE_M_DOUBLE_TEAM = 87 00
SE_M_RAZOR_WIND = 88 00
SE_M_ICY_WIND = 89 00
SE_M_THUNDER_WAVE = 8A 00
SE_M_COMET_PUNCH = 8B 00
SE_M_MEGA_KICK = 8C 00
SE_M_MEGA_KICK2 = 8D 00
SE_M_CRABHAMMER = 8E 00
SE_M_JUMP_KICK = 8F 00
SE_M_FLAME_WHEEL = 90 00
SE_M_FLAME_WHEEL2 = 91 00
SE_M_FLAMETHROWER = 92 00
SE_M_FIRE_PUNCH = 93 00
SE_M_TOXIC = 94 00
SE_M_SACRED_FIRE = 95 00
SE_M_SACRED_FIRE2 = 96 00
SE_M_EMBER = 97 00
SE_M_TAKE_DOWN = 98 00
SE_M_BLIZZARD = 99 00
SE_M_BLIZZARD2 = 9A 00
SE_M_SCRATCH = 9B 00
SE_M_VICEGRIP = 9C 00
SE_M_WING_ATTACK = 9D 00
SE_M_FLY = 9E 00
SE_M_SAND_ATTACK = 9F 00
SE_M_RAZOR_WIND2 = A0 00
SE_M_BITE = A1 00
SE_M_HEADBUTT = A2 00
SE_M_SURF = A3 00
SE_M_HYDRO_PUMP = A4 00
SE_M_WHIRLPOOL = A5 00
SE_M_HORN_ATTACK = A6 00
SE_M_TAIL_WHIP = A7 00
SE_M_MIST = A8 00
SE_M_POISON_POWDER = A9 00
SE_M_BIND = AA 00
SE_M_DRAGON_RAGE = AB 00
SE_M_SING = AC 00
SE_M_PERISH_SONG = AD 00
SE_M_PAY_DAY = AE 00
SE_M_DIG = AF 00
SE_M_DIZZY_PUNCH = B0 00
SE_M_SELF_DESTRUCT = B1 00
SE_M_EXPLOSION = B2 00
SE_M_ABSORB_2 = B3 00
SE_M_ABSORB = B4 00
SE_M_SCREECH = B5 00
SE_M_BUBBLE_BEAM = B6 00
SE_M_BUBBLE_BEAM2 = B7 00
SE_M_SUPERSONIC = B8 00
SE_M_BELLY_DRUM = B9 00
SE_M_METRONOME = BA 00
SE_M_BONEMERANG = BB 00
SE_M_LICK = BC 00
SE_M_PSYBEAM = BD 00
SE_M_FAINT_ATTACK = BE 00
SE_M_SWORDS_DANCE = BF 00
SE_M_LEER = C0 00
SE_M_SWAGGER = C1 00
SE_M_SWAGGER2 = C2 00
SE_M_HEAL_BELL = C3 00
SE_M_CONFUSE_RAY = C4 00
SE_M_SNORE = C5 00
SE_M_BRICK_BREAK = C6 00
SE_M_GIGA_DRAIN = C7 00
SE_M_PSYBEAM2 = C8 00
SE_M_SOLAR_BEAM = C9 00
SE_M_PETAL_DANCE = CA 00
SE_M_TELEPORT = CB 00
SE_M_MINIMIZE = CC 00
SE_M_SKETCH = CD 00
SE_M_SWIFT = CE 00
SE_M_REFLECT = CF 00
SE_M_BARRIER = D0 00
SE_M_DETECT = D1 00
SE_M_LOCK_ON = D2 00
SE_M_MOONLIGHT = D3 00
SE_M_CHARM = D4 00
SE_M_CHARGE = D5 00
SE_M_STRENGTH = D6 00
SE_M_HYPER_BEAM = D7 00
SE_M_WATERFALL = D8 00
SE_M_REVERSAL = D9 00
SE_M_ACID_ARMOR = DA 00
SE_M_SANDSTORM = DB 00
SE_M_TRI_ATTACK = DC 00
SE_M_TRI_ATTACK2 = DD 00
SE_M_ENCORE = DE 00
SE_M_ENCORE2 = DF 00
SE_M_BATON_PASS = E0 00
SE_M_MILK_DRINK = E1 00
SE_M_ATTRACT = E2 00
SE_M_ATTRACT2 = E3 00
SE_M_MORNING_SUN = E4 00
SE_M_FLATTER = E5 00
SE_M_SAND_TOMB = E6 00
SE_M_GRASSWHISTLE = E7 00
SE_M_SPIT_UP = E8 00
SE_M_DIVE = E9 00
SE_M_EARTHQUAKE = EA 00
SE_M_TWISTER = EB 00
SE_M_SWEET_SCENT = EC 00
SE_M_YAWN = ED 00
SE_M_SKY_UPPERCUT = EE 00
SE_M_STAT_INCREASE = EF 00
SE_M_HEAT_WAVE = F0 00
SE_M_UPROAR = F1 00
SE_M_HAIL = F2 00
SE_M_COSMIC_POWER = F3 00
SE_M_TEETER_DANCE = F4 00
SE_M_STAT_DECREASE = F5 00
SE_M_HAZE = F6 00
SE_M_HYPER_BEAM2 = F7 00
SE_RG_DOOR = F8 00
SE_RG_CARD_FLIP = F9 00
SE_RG_CARD_FLIPPING = FA 00
SE_RG_CARD_OPEN = FB 00
SE_RG_BAG_CURSOR = FC 00
SE_RG_BAG_POCKET = FD 00
SE_RG_BALL_CLICK = FE 00
SE_RG_SHOP = FF 00
SE_RG_KITEKI = 00 01
SE_RG_HELP_OP = 01 01
SE_RG_HELP_CL = 02 01
SE_RG_HELP_NG = 03 01
SE_RG_DEOMOV = 04 01
SE_RG_EXCELLENT = 05 01
SE_RG_NAWAMISS = 06 01
SE_TOREEYE = 07 01
SE_TOREOFF = 08 01
SE_HANTEI1 = 09 01
SE_HANTEI2 = 0A 01
SE_CURTAIN = 0B 01
SE_CURTAIN1 = 0C 01
SE_USSOKI = 0D 01
MUS_TETSUJI = 5E 01
MUS_FIELD13 = 5F 01
MUS_KACHI22 = 60 01
MUS_KACHI2 = 61 01
MUS_KACHI3 = 62 01
MUS_KACHI5 = 63 01
MUS_PCC = 64 01
MUS_NIBI = 65 01
MUS_SUIKUN = 66 01
MUS_DOORO1 = 67 01
MUS_DOORO_X1 = 68 01
MUS_DOORO_X3 = 69 01
MUS_MACHI_S2 = 6A 01
MUS_MACHI_S4 = 6B 01
MUS_GIM = 6C 01
MUS_NAMINORI = 6D 01
MUS_DAN01 = 6E 01
MUS_FANFA1 = 6F 01
MUS_ME_ASA = 70 01
MUS_ME_BACHI = 71 01
MUS_FANFA4 = 72 01
MUS_FANFA5 = 73 01
MUS_ME_WAZA = 74 01
MUS_BIJYUTU = 75 01
MUS_DOORO_X4 = 76 01
MUS_FUNE_KAN = 77 01
MUS_ME_SHINKA = 78 01
MUS_SHINKA = 79 01
MUS_ME_WASURE = 7A 01
MUS_SYOUJOEYE = 7B 01
MUS_BOYEYE = 7C 01
MUS_DAN02 = 7D 01
MUS_MACHI_S3 = 7E 01
MUS_ODAMAKI = 7F 01
MUS_B_TOWER = 80 01
MUS_SWIMEYE = 81 01
MUS_DAN03 = 82 01
MUS_ME_KINOMI = 83 01
MUS_ME_TAMA = 84 01
MUS_ME_B_BIG = 85 01
MUS_ME_B_SMALL = 86 01
MUS_ME_ZANNEN = 87 01
MUS_BD_TIME = 88 01
MUS_TEST1 = 89 01
MUS_TEST2 = 8A 01
MUS_TEST3 = 8B 01
MUS_TEST4 = 8C 01
MUS_TEST = 8D 01
MUS_GOMACHI0 = 8E 01
MUS_GOTOWN = 8F 01
MUS_POKECEN = 90 01
MUS_NEXTROAD = 91 01
MUS_GRANROAD = 92 01
SE_RG_SS_ANNE_HORN = 00 01
SE_RG_HELP_OPEN = 01 01
SE_RG_HELP_CLOSE = 02 01
SE_RG_HELP_ERROR = 03 01
SE_RG_DEOXYS_MOVE = 04 01
SE_RG_POKE_JUMP_SUCCESS = 05 01
SE_RG_POKE_JUMP_FAILURE = 06 01
SE_POKENAV_CALL = 07 01
SE_POKENAV_HANG_UP = 08 01
SE_ARENA_TIMEUP1 = 09 01
SE_ARENA_TIMEUP2 = 0A 01
SE_PIKE_CURTAIN_CLOSE = 0B 01
SE_PIKE_CURTAIN_OPEN = 0C 01
SE_SUDOWOODO_SHAKE = 0D 01
MUS_LITTLEROOT_TEST = 5E 01
MUS_GSC_ROUTE38 = 5F 01
MUS_CAUGHT = 60 01
MUS_VICTORY_WILD = 61 01
MUS_VICTORY_GYM_LEADER = 62 01
MUS_VICTORY_LEAGUE = 63 01
MUS_C_COMM_CENTER = 64 01
MUS_GSC_PEWTER = 65 01
MUS_C_VS_LEGEND_BEAST = 66 01
MUS_ROUTE101 = 67 01
MUS_ROUTE110 = 68 01
MUS_ROUTE120 = 69 01
MUS_PETALBURG = 6A 01
MUS_OLDALE = 6B 01
MUS_GYM = 6C 01
MUS_SURF = 6D 01
MUS_PETALBURG_WOODS = 6E 01
MUS_LEVEL_UP = 6F 01
MUS_HEAL = 70 01
MUS_OBTAIN_BADGE = 71 01
MUS_OBTAIN_ITEM = 72 01
MUS_EVOLVED = 73 01
MUS_OBTAIN_TMHM = 74 01
MUS_LILYCOVE_MUSEUM = 75 01
MUS_ROUTE122 = 76 01
MUS_OCEANIC_MUSEUM = 77 01
MUS_EVOLUTION_INTRO = 78 01
MUS_EVOLUTION = 79 01
MUS_MOVE_DELETED = 7A 01
MUS_ENCOUNTER_GIRL = 7B 01
MUS_ENCOUNTER_MALE = 7C 01
MUS_ABANDONED_SHIP = 7D 01
MUS_FORTREE = 7E 01
MUS_BIRCH_LAB = 7F 01
MUS_B_TOWER_RS = 80 01
MUS_ENCOUNTER_SWIMMER = 81 01
MUS_CAVE_OF_ORIGIN = 82 01
MUS_OBTAIN_BERRY = 83 01
MUS_AWAKEN_LEGEND = 84 01
MUS_SLOTS_JACKPOT = 85 01
MUS_SLOTS_WIN = 86 01
MUS_TOO_BAD = 87 01
MUS_ROULETTE = 88 01
MUS_LINK_CONTEST_P1 = 89 01
MUS_LINK_CONTEST_P2 = 8A 01
MUS_LINK_CONTEST_P3 = 8B 01
MUS_LINK_CONTEST_P4 = 8C 01
MUS_ENCOUNTER_RICH = 8D 01
MUS_VERDANTURF = 8E 01
MUS_RUSTBORO = 8F 01
MUS_POKE_CENTER = 90 01
MUS_ROUTE104 = 91 01
MUS_ROUTE119 = 92 01
MUS_CYCLING = 93 01
MUS_FRIENDLY = 94 01
MUS_MISHIRO = 95 01
MUS_TOZAN = 96 01
MUS_GIRLEYE = 97 01
MUS_MINAMO = 98 01
MUS_ASHROAD = 99 01
MUS_EVENT0 = 9A 01
MUS_DEEPDEEP = 9B 01
MUS_KACHI1 = 9C 01
MUS_TITLE3 = 9D 01
MUS_DEMO1 = 9E 01
MUS_GIRL_SUP = 9F 01
MUS_HAGESHII = A0 01
MUS_KAKKOII = A1 01
MUS_KAZANBAI = A2 01
MUS_AQA_0 = A3 01
MUS_TSURETEK = A4 01
MUS_BOY_SUP = A5 01
MUS_RAINBOW = A6 01
MUS_AYASII = A7 01
MUS_KACHI4 = A8 01
MUS_ROPEWAY = A9 01
MUS_CASINO = AA 01
MUS_HIGHTOWN = AB 01
MUS_SAFARI = AC 01
MUS_C_ROAD = AD 01
MUS_AJITO = AE 01
MUS_M_BOAT = AF 01
MUS_M_DUNGON = B0 01
MUS_FINECITY = B1 01
MUS_MACHUPI = B2 01
MUS_P_SCHOOL = B3 01
MUS_DENDOU = B4 01
MUS_TONEKUSA = B5 01
MUS_MABOROSI = B6 01
MUS_CON_FAN = B7 01
MUS_CONTEST0 = B8 01
MUS_MGM0 = B9 01
MUS_T_BATTLE = BA 01
MUS_OOAME = BB 01
MUS_HIDERI = BC 01
MUS_RUNECITY = BD 01
MUS_CON_K = BE 01
MUS_EIKOU_R = BF 01
MUS_KARAKURI = C0 01
MUS_HUTAGO = C1 01
MUS_SITENNOU = C2 01
MUS_YAMA_EYE = C3 01
MUS_CONLOBBY = C4 01
MUS_INTER_V = C5 01
MUS_DAIGO = C6 01
MUS_THANKFOR = C7 01
MUS_POKE_MART = 94 01
MUS_LITTLEROOT = 95 01
MUS_MT_CHIMNEY = 96 01
MUS_ENCOUNTER_FEMALE = 97 01
MUS_LILYCOVE = 98 01
MUS_ROUTE111 = 99 01
MUS_HELP = 9A 01
MUS_UNDERWATER = 9B 01
MUS_VICTORY_TRAINER = 9C 01
MUS_TITLE = 9D 01
MUS_INTRO = 9E 01
MUS_ENCOUNTER_MAY = 9F 01
MUS_ENCOUNTER_INTENSE = A0 01
MUS_ENCOUNTER_COOL = A1 01
MUS_ROUTE113 = A2 01
MUS_ENCOUNTER_AQUA = A3 01
MUS_FOLLOW_ME = A4 01
MUS_ENCOUNTER_BRENDAN = A5 01
MUS_EVER_GRANDE = A6 01
MUS_ENCOUNTER_SUSPICIOUS = A7 01
MUS_VICTORY_AQUA_MAGMA = A8 01
MUS_CABLE_CAR = A9 01
MUS_GAME_CORNER = AA 01
MUS_DEWFORD = AB 01
MUS_SAFARI_ZONE = AC 01
MUS_VICTORY_ROAD = AD 01
MUS_AQUA_MAGMA_HIDEOUT = AE 01
MUS_SAILING = AF 01
MUS_MT_PYRE = B0 01
MUS_SLATEPORT = B1 01
MUS_MT_PYRE_EXTERIOR = B2 01
MUS_SCHOOL = B3 01
MUS_HALL_OF_FAME = B4 01
MUS_FALLARBOR = B5 01
MUS_SEALED_CHAMBER = B6 01
MUS_CONTEST_WINNER = B7 01
MUS_CONTEST = B8 01
MUS_ENCOUNTER_MAGMA = B9 01
MUS_INTRO_BATTLE = BA 01
MUS_ABNORMAL_WEATHER = BB 01
MUS_WEATHER_GROUDON = BC 01
MUS_SOOTOPOLIS = BD 01
MUS_CONTEST_RESULTS = BE 01
MUS_HALL_OF_FAME_ROOM = BF 01
MUS_TRICK_HOUSE = C0 01
MUS_ENCOUNTER_TWINS = C1 01
MUS_ENCOUNTER_ELITE_FOUR = C2 01
MUS_ENCOUNTER_HIKER = C3 01
MUS_CONTEST_LOBBY = C4 01
MUS_ENCOUNTER_INTERVIEWER = C5 01
MUS_ENCOUNTER_CHAMPION = C6 01
MUS_CREDITS = C7 01
MUS_END = C8 01
MUS_B_FRONTIER = C9 01
MUS_B_ARENA = CA 01
MUS_ME_POINTGET = CB 01
MUS_ME_TORE_EYE = CC 01
MUS_PYRAMID = CD 01
MUS_PYRAMID_TOP = CE 01
MUS_OBTAIN_B_POINTS = CB 01
MUS_REGISTER_MATCH_CALL = CC 01
MUS_B_PYRAMID = CD 01
MUS_B_PYRAMID_TOP = CE 01
MUS_B_PALACE = CF 01
MUS_REKKUU_KOURIN = D0 01
MUS_SATTOWER = D1 01
MUS_ME_SYMBOLGET = D2 01
MUS_RAYQUAZA_APPEARS = D0 01
MUS_B_TOWER = D1 01
MUS_OBTAIN_SYMBOL = D2 01
MUS_B_DOME = D3 01
MUS_B_TUBE = D4 01
MUS_B_PIKE = D4 01
MUS_B_FACTORY = D5 01
MUS_VS_REKKU = D6 01
MUS_VS_FRONT = D7 01
MUS_VS_RAYQUAZA = D6 01
MUS_VS_FRONTIER_BRAIN = D7 01
MUS_VS_MEW = D8 01
MUS_B_DOME1 = D9 01
MUS_BATTLE27 = DA 01
MUS_BATTLE31 = DB 01
MUS_BATTLE20 = DC 01
MUS_BATTLE32 = DD 01
MUS_BATTLE33 = DE 01
MUS_BATTLE36 = DF 01
MUS_BATTLE34 = E0 01
MUS_BATTLE35 = E1 01
MUS_BATTLE38 = E2 01
MUS_BATTLE30 = E3 01
MUS_RG_ANNAI = E4 01
MUS_RG_SLOT = E5 01
MUS_RG_AJITO = E6 01
MUS_B_DOME_LOBBY = D9 01
MUS_VS_WILD = DA 01
MUS_VS_AQUA_MAGMA = DB 01
MUS_VS_TRAINER = DC 01
MUS_VS_GYM_LEADER = DD 01
MUS_VS_CHAMPION = DE 01
MUS_VS_REGI = DF 01
MUS_VS_KYOGRE_GROUDON = E0 01
MUS_VS_RIVAL = E1 01
MUS_VS_ELITE_FOUR = E2 01
MUS_VS_AQUA_MAGMA_LEADER = E3 01
MUS_RG_FOLLOW_ME = E4 01
MUS_RG_GAME_CORNER = E5 01
MUS_RG_ROCKET_HIDEOUT = E6 01
MUS_RG_GYM = E7 01
MUS_RG_PURIN = E8 01
MUS_RG_DEMO = E9 01
MUS_RG_JIGGLYPUFF = E8 01
MUS_RG_INTRO_FIGHT = E9 01
MUS_RG_TITLE = EA 01
MUS_RG_GUREN = EB 01
MUS_RG_SHION = EC 01
MUS_RG_KAIHUKU = ED 01
MUS_RG_CINNABAR = EB 01
MUS_RG_LAVENDER = EC 01
MUS_RG_HEAL = ED 01
MUS_RG_CYCLING = EE 01
MUS_RG_ROCKET = EF 01
MUS_RG_SHOUJO = F0 01
MUS_RG_SHOUNEN = F1 01
MUS_RG_DENDOU = F2 01
MUS_RG_T_MORI = F3 01
MUS_RG_OTSUKIMI = F4 01
MUS_RG_POKEYASHI = F5 01
MUS_RG_ENDING = F6 01
MUS_RG_LOAD01 = F7 01
MUS_RG_OPENING = F8 01
MUS_RG_LOAD02 = F9 01
MUS_RG_LOAD03 = FA 01
MUS_RG_CHAMP_R = FB 01
MUS_RG_VS_GYM = FC 01
MUS_RG_VS_TORE = FD 01
MUS_RG_VS_YASEI = FE 01
MUS_RG_VS_LAST = FF 01
MUS_RG_MASARA = 00 02
MUS_RG_KENKYU = 01 02
MUS_RG_OHKIDO = 02 02
MUS_RG_POKECEN = 03 02
MUS_RG_SANTOAN = 04 02
MUS_RG_NAMINORI = 05 02
MUS_RG_P_TOWER = 06 02
MUS_RG_SHIRUHU = 07 02
MUS_RG_HANADA = 08 02
MUS_RG_TAMAMUSI = 09 02
MUS_RG_WIN_TRE = 0A 02
MUS_RG_WIN_YASEI = 0B 02
MUS_RG_WIN_GYM = 0C 02
MUS_RG_KUCHIBA = 0D 02
MUS_RG_NIBI = 0E 02
MUS_RG_RIVAL1 = 0F 02
MUS_RG_RIVAL2 = 10 02
MUS_RG_FAN2 = 11 02
MUS_RG_FAN5 = 12 02
MUS_RG_FAN6 = 13 02
MUS_ME_RG_PHOTO = 14 02
MUS_RG_TITLEROG = 15 02
MUS_RG_GET_YASEI = 16 02
MUS_RG_SOUSA = 17 02
MUS_RG_SEKAIKAN = 18 02
MUS_RG_SEIBETU = 19 02
MUS_RG_JUMP = 1A 02
MUS_RG_UNION = 1B 02
MUS_RG_NETWORK = 1C 02
MUS_RG_OKURIMONO = 1D 02
MUS_RG_KINOMIKUI = 1E 02
MUS_RG_NANADUNGEON = 1F 02
MUS_RG_OSHIE_TV = 20 02
MUS_RG_NANASHIMA = 21 02
MUS_RG_NANAISEKI = 22 02
MUS_RG_NANA123 = 23 02
MUS_RG_NANA45 = 24 02
MUS_RG_NANA67 = 25 02
MUS_RG_POKEFUE = 26 02
MUS_RG_VS_DEO = 27 02
MUS_RG_VS_MYU2 = 28 02
MUS_RG_VS_DEN = 29 02
MUS_RG_EXEYE = 2A 02
MUS_RG_DEOEYE = 2B 02
MUS_RG_T_TOWER = 2C 02
MUS_RG_SLOWMASARA = 2D 02
MUS_RG_TVNOIZE = 2E 02
MUS_RG_ENCOUNTER_ROCKET = EF 01
MUS_RG_ENCOUNTER_GIRL = F0 01
MUS_RG_ENCOUNTER_BOY = F1 01
MUS_RG_HALL_OF_FAME = F2 01
MUS_RG_VIRIDIAN_FOREST = F3 01
MUS_RG_MT_MOON = F4 01
MUS_RG_POKE_MANSION = F5 01
MUS_RG_CREDITS = F6 01
MUS_RG_ROUTE1 = F7 01
MUS_RG_ROUTE24 = F8 01
MUS_RG_ROUTE3 = F9 01
MUS_RG_ROUTE11 = FA 01
MUS_RG_VICTORY_ROAD = FB 01
MUS_RG_VS_GYM_LEADER = FC 01
MUS_RG_VS_TRAINER = FD 01
MUS_RG_VS_WILD = FE 01
MUS_RG_VS_CHAMPION = FF 01
MUS_RG_PALLET = 00 02
MUS_RG_OAK_LAB = 01 02
MUS_RG_OAK = 02 02
MUS_RG_POKE_CENTER = 03 02
MUS_RG_SS_ANNE = 04 02
MUS_RG_SURF = 05 02
MUS_RG_POKE_TOWER = 06 02
MUS_RG_SILPH = 07 02
MUS_RG_FUCHSIA = 08 02
MUS_RG_CELADON = 09 02
MUS_RG_VICTORY_TRAINER = 0A 02
MUS_RG_VICTORY_WILD = 0B 02
MUS_RG_VICTORY_GYM_LEADER = 0C 02
MUS_RG_VERMILLION = 0D 02
MUS_RG_PEWTER = 0E 02
MUS_RG_ENCOUNTER_RIVAL = 0F 02
MUS_RG_RIVAL_EXIT = 10 02
MUS_RG_DEX_RATING = 11 02
MUS_RG_OBTAIN_KEY_ITEM = 12 02
MUS_RG_CAUGHT_INTRO = 13 02
MUS_RG_PHOTO = 14 02
MUS_RG_GAME_FREAK = 15 02
MUS_RG_CAUGHT = 16 02
MUS_RG_NEW_GAME_INSTRUCT = 17 02
MUS_RG_NEW_GAME_INTRO = 18 02
MUS_RG_NEW_GAME_EXIT = 19 02
MUS_RG_POKE_JUMP = 1A 02
MUS_RG_UNION_ROOM = 1B 02
MUS_RG_NET_CENTER = 1C 02
MUS_RG_MYSTERY_GIFT = 1D 02
MUS_RG_BERRY_PICK = 1E 02
MUS_RG_SEVII_CAVE = 1F 02
MUS_RG_TEACHY_TV_SHOW = 20 02
MUS_RG_SEVII_ROUTE = 21 02
MUS_RG_SEVII_DUNGEON = 22 02
MUS_RG_SEVII_123 = 23 02
MUS_RG_SEVII_45 = 24 02
MUS_RG_SEVII_67 = 25 02
MUS_RG_POKE_FLUTE = 26 02
MUS_RG_VS_DEOXYS = 27 02
MUS_RG_VS_MEWTWO = 28 02
MUS_RG_VS_LEGEND = 29 02
MUS_RG_ENCOUNTER_GYM_LEADER = 2A 02
MUS_RG_ENCOUNTER_DEOXYS = 2B 02
MUS_RG_TRAINER_TOWER = 2C 02
MUS_RG_SLOW_PALLET = 2D 02
MUS_RG_TEACHY_TV_MENU = 2E 02
PH_TRAP_BLEND = 2F 02
PH_TRAP_HELD = 30 02
PH_TRAP_SOLO = 31 02
+4 -4
View File
@@ -9,10 +9,10 @@
.align 2, 0
.global Init
Init:
mov r0, PSR_IRQ_MODE
mov r0, #PSR_IRQ_MODE
msr cpsr_cf, r0
ldr sp, sp_irq
mov r0, PSR_SYS_MODE
mov r0, #PSR_SYS_MODE
msr cpsr_cf, r0
ldr sp, sp_sys
ldr r1, =INTR_VECTOR
@@ -34,8 +34,8 @@ sp_irq: .word IWRAM_END - 0x60
.align 2, 0
.global IntrMain
IntrMain: @ 0x2010048
mov ip, REG_BASE
add r3, ip, OFFSET_REG_IE
mov ip, #REG_BASE
add r3, ip, #OFFSET_REG_IE
ldr r2, [r3]
and r1, r2, r2, lsr #16
mov r2, #0
+6 -6
View File
@@ -7,39 +7,39 @@
thumb_func_start CpuSet
CpuSet: @ 81E3B64
swi 0xB
svc 0xB
bx lr
thumb_func_end CpuSet
thumb_func_start Div
Div: @ 81E3B68
swi 0x6
svc 0x6
bx lr
thumb_func_end Div
thumb_func_start Mod
Mod:
swi 0x6
svc 0x6
adds r0, r1, 0
bx lr
thumb_func_end Mod
thumb_func_start LZ77UnCompVram
LZ77UnCompVram: @ 81E3B6C
swi 0x12
svc 0x12
bx lr
thumb_func_end LZ77UnCompVram
thumb_func_start RegisterRamReset
RegisterRamReset: @ 81E3B80
swi 0x1
svc 0x1
bx lr
thumb_func_end RegisterRamReset
thumb_func_start VBlankIntrWait
VBlankIntrWait: @ 81E3BA0
movs r2, 0
swi 0x5
svc 0x5
bx lr
thumb_func_end VBlankIntrWait
+448 -448
View File
@@ -414,7 +414,7 @@ SIZE = FC 06 @ note that anything other than "SMALL" is invalid
UNKNOWN_7 = FC 07
PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them
PAUSE_UNTIL_PRESS = FC 09
UNKNOWN_A = FC 0A
WAIT_SE = FC 0A
PLAY_BGM = FC 0B
ESCAPE = FC 0C
SHIFT_TEXT = FC 0D
@@ -454,7 +454,7 @@ DYNAMIC_COLOR6 = 0F @ cerulean
@ sound and music
MUS_DUMMY = 00 00
SE_KAIFUKU = 01 00
SE_USE_ITEM = 01 00
SE_PC_LOGIN = 02 00
SE_PC_OFF = 03 00
SE_PC_ON = 04 00
@@ -462,476 +462,476 @@ SE_SELECT = 05 00
SE_WIN_OPEN = 06 00
SE_WALL_HIT = 07 00
SE_DOOR = 08 00
SE_KAIDAN = 09 00
SE_DANSA = 0A 00
SE_JITENSYA = 0B 00
SE_KOUKA_L = 0C 00
SE_KOUKA_M = 0D 00
SE_KOUKA_H = 0E 00
SE_BOWA2 = 0F 00
SE_POKE_DEAD = 10 00
SE_NIGERU = 11 00
SE_JIDO_DOA = 12 00
SE_NAMINORI = 13 00
SE_BAN = 14 00
SE_EXIT = 09 00
SE_LEDGE = 0A 00
SE_BIKE_BELL = 0B 00
SE_NOT_EFFECTIVE = 0C 00
SE_EFFECTIVE = 0D 00
SE_SUPER_EFFECTIVE = 0E 00
SE_BALL_OPEN = 0F 00
SE_FAINT = 10 00
SE_FLEE = 11 00
SE_SLIDING_DOOR = 12 00
SE_SHIP = 13 00
SE_BANG = 14 00
SE_PIN = 15 00
SE_BOO = 16 00
SE_BOWA = 17 00
SE_JYUNI = 18 00
SE_BALL = 17 00
SE_CONTEST_PLACE = 18 00
SE_A = 19 00
SE_I = 1A 00
SE_U = 1B 00
SE_E = 1C 00
SE_O = 1D 00
SE_N = 1E 00
SE_SEIKAI = 1F 00
SE_HAZURE = 20 00
SE_SUCCESS = 1F 00
SE_FAILURE = 20 00
SE_EXP = 21 00
SE_JITE_PYOKO = 22 00
SE_MU_PACHI = 23 00
SE_TK_KASYA = 24 00
SE_BIKE_HOP = 22 00
SE_SWITCH = 23 00
SE_CLICK = 24 00
SE_FU_ZAKU = 25 00
SE_FU_ZAKU2 = 26 00
SE_FU_ZUZUZU = 27 00
SE_RU_GASHIN = 28 00
SE_RU_GASYAN = 29 00
SE_RU_BARI = 2A 00
SE_RU_HYUU = 2B 00
SE_KI_GASYAN = 2C 00
SE_TK_WARPIN = 2D 00
SE_TK_WARPOUT = 2E 00
SE_TU_SAA = 2F 00
SE_HI_TURUN = 30 00
SE_TRACK_MOVE = 31 00
SE_TRACK_STOP = 32 00
SE_TRACK_HAIKI = 33 00
SE_TRACK_DOOR = 34 00
SE_MOTER = 35 00
SE_CONTEST_CONDITION_LOSE = 26 00
SE_LAVARIDGE_FALL_WARP = 27 00
SE_ICE_STAIRS = 28 00
SE_ICE_BREAK = 29 00
SE_ICE_CRACK = 2A 00
SE_FALL = 2B 00
SE_UNLOCK = 2C 00
SE_WARP_IN = 2D 00
SE_WARP_OUT = 2E 00
SE_REPEL = 2F 00
SE_ROTATING_GATE = 30 00
SE_TRUCK_MOVE = 31 00
SE_TRUCK_STOP = 32 00
SE_TRUCK_UNLOAD = 33 00
SE_TRUCK_DOOR = 34 00
SE_BERRY_BLENDER = 35 00
SE_CARD = 36 00
SE_SAVE = 37 00
SE_KON = 38 00
SE_KON2 = 39 00
SE_KON3 = 3A 00
SE_KON4 = 3B 00
SE_SUIKOMU = 3C 00
SE_NAGERU = 3D 00
SE_TOY_C = 3E 00
SE_TOY_D = 3F 00
SE_TOY_E = 40 00
SE_TOY_F = 41 00
SE_TOY_G = 42 00
SE_TOY_A = 43 00
SE_TOY_B = 44 00
SE_TOY_C1 = 45 00
SE_MIZU = 46 00
SE_HASHI = 47 00
SE_DAUGI = 48 00
SE_PINPON = 49 00
SE_FUUSEN1 = 4A 00
SE_FUUSEN2 = 4B 00
SE_FUUSEN3 = 4C 00
SE_TOY_KABE = 4D 00
SE_TOY_DANGO = 4E 00
SE_DOKU = 4F 00
SE_ESUKA = 50 00
SE_T_AME = 51 00
SE_T_AME_E = 52 00
SE_T_OOAME = 53 00
SE_T_OOAME_E = 54 00
SE_T_KOAME = 55 00
SE_T_KOAME_E = 56 00
SE_T_KAMI = 57 00
SE_T_KAMI2 = 58 00
SE_ELEBETA = 59 00
SE_HINSI = 5A 00
SE_EXPMAX = 5B 00
SE_TAMAKORO = 5C 00
SE_TAMAKORO_E = 5D 00
SE_BASABASA = 5E 00
SE_REGI = 5F 00
SE_C_GAJI = 60 00
SE_C_MAKU_U = 61 00
SE_C_MAKU_D = 62 00
SE_C_PASI = 63 00
SE_C_SYU = 64 00
SE_C_PIKON = 65 00
SE_REAPOKE = 66 00
SE_OP_BASYU = 67 00
SE_BT_START = 68 00
SE_DENDOU = 69 00
SE_JIHANKI = 6A 00
SE_TAMA = 6B 00
SE_Z_SCROLL = 6C 00
SE_Z_PAGE = 6D 00
SE_PN_ON = 6E 00
SE_PN_OFF = 6F 00
SE_Z_SEARCH = 70 00
SE_TAMAGO = 71 00
SE_TB_START = 72 00
SE_TB_KON = 73 00
SE_TB_KARA = 74 00
SE_BIDORO = 75 00
SE_W085 = 76 00
SE_W085B = 77 00
SE_W231 = 78 00
SE_W171 = 79 00
SE_W233 = 7A 00
SE_W233B = 7B 00
SE_W145 = 7C 00
SE_W145B = 7D 00
SE_W145C = 7E 00
SE_W240 = 7F 00
SE_W015 = 80 00
SE_W081 = 81 00
SE_W081B = 82 00
SE_W088 = 83 00
SE_W016 = 84 00
SE_W016B = 85 00
SE_W003 = 86 00
SE_W104 = 87 00
SE_W013 = 88 00
SE_W196 = 89 00
SE_W086 = 8A 00
SE_W004 = 8B 00
SE_W025 = 8C 00
SE_W025B = 8D 00
SE_W152 = 8E 00
SE_W026 = 8F 00
SE_W172 = 90 00
SE_W172B = 91 00
SE_W053 = 92 00
SE_W007 = 93 00
SE_W092 = 94 00
SE_W221 = 95 00
SE_W221B = 96 00
SE_W052 = 97 00
SE_W036 = 98 00
SE_W059 = 99 00
SE_W059B = 9A 00
SE_W010 = 9B 00
SE_W011 = 9C 00
SE_W017 = 9D 00
SE_W019 = 9E 00
SE_W028 = 9F 00
SE_W013B = A0 00
SE_W044 = A1 00
SE_W029 = A2 00
SE_W057 = A3 00
SE_W056 = A4 00
SE_W250 = A5 00
SE_W030 = A6 00
SE_W039 = A7 00
SE_W054 = A8 00
SE_W077 = A9 00
SE_W020 = AA 00
SE_W082 = AB 00
SE_W047 = AC 00
SE_W195 = AD 00
SE_W006 = AE 00
SE_W091 = AF 00
SE_W146 = B0 00
SE_W120 = B1 00
SE_W153 = B2 00
SE_W071B = B3 00
SE_W071 = B4 00
SE_W103 = B5 00
SE_W062 = B6 00
SE_W062B = B7 00
SE_W048 = B8 00
SE_W187 = B9 00
SE_W118 = BA 00
SE_W155 = BB 00
SE_W122 = BC 00
SE_W060 = BD 00
SE_W185 = BE 00
SE_W014 = BF 00
SE_W043 = C0 00
SE_W207 = C1 00
SE_W207B = C2 00
SE_W215 = C3 00
SE_W109 = C4 00
SE_W173 = C5 00
SE_W280 = C6 00
SE_W202 = C7 00
SE_W060B = C8 00
SE_W076 = C9 00
SE_W080 = CA 00
SE_W100 = CB 00
SE_W107 = CC 00
SE_W166 = CD 00
SE_W129 = CE 00
SE_W115 = CF 00
SE_W112 = D0 00
SE_W197 = D1 00
SE_W199 = D2 00
SE_W236 = D3 00
SE_W204 = D4 00
SE_W268 = D5 00
SE_W070 = D6 00
SE_W063 = D7 00
SE_W127 = D8 00
SE_W179 = D9 00
SE_W151 = DA 00
SE_W201 = DB 00
SE_W161 = DC 00
SE_W161B = DD 00
SE_W227 = DE 00
SE_W227B = DF 00
SE_W226 = E0 00
SE_W208 = E1 00
SE_W213 = E2 00
SE_W213B = E3 00
SE_W234 = E4 00
SE_W260 = E5 00
SE_W328 = E6 00
SE_W320 = E7 00
SE_W255 = E8 00
SE_W291 = E9 00
SE_W089 = EA 00
SE_W239 = EB 00
SE_W230 = EC 00
SE_W281 = ED 00
SE_W327 = EE 00
SE_W287 = EF 00
SE_W257 = F0 00
SE_W253 = F1 00
SE_W258 = F2 00
SE_W322 = F3 00
SE_W298 = F4 00
SE_W287B = F5 00
SE_W114 = F6 00
SE_W063B = F7 00
SE_RG_W_DOOR = F8 00
SE_RG_CARD1 = F9 00
SE_RG_CARD2 = FA 00
SE_RG_CARD3 = FB 00
SE_RG_BAG1 = FC 00
SE_RG_BAG2 = FD 00
SE_RG_GETTING = FE 00
SE_BALL_BOUNCE_1 = 38 00
SE_BALL_BOUNCE_2 = 39 00
SE_BALL_BOUNCE_3 = 3A 00
SE_BALL_BOUNCE_4 = 3B 00
SE_BALL_TRADE = 3C 00
SE_BALL_THROW = 3D 00
SE_NOTE_C = 3E 00
SE_NOTE_D = 3F 00
SE_NOTE_E = 40 00
SE_NOTE_F = 41 00
SE_NOTE_G = 42 00
SE_NOTE_A = 43 00
SE_NOTE_B = 44 00
SE_NOTE_C_HIGH = 45 00
SE_PUDDLE = 46 00
SE_BRIDGE_WALK = 47 00
SE_ITEMFINDER = 48 00
SE_DING_DONG = 49 00
SE_BALLOON_RED = 4A 00
SE_BALLOON_BLUE = 4B 00
SE_BALLOON_YELLOW = 4C 00
SE_BREAKABLE_DOOR = 4D 00
SE_MUD_BALL = 4E 00
SE_FIELD_POISON = 4F 00
SE_ESCALATOR = 50 00
SE_THUNDERSTORM = 51 00
SE_THUNDERSTORM_STOP = 52 00
SE_DOWNPOUR = 53 00
SE_DOWNPOUR_STOP = 54 00
SE_RAIN = 55 00
SE_RAIN_STOP = 56 00
SE_THUNDER = 57 00
SE_THUNDER2 = 58 00
SE_ELEVATOR = 59 00
SE_LOW_HEALTH = 5A 00
SE_EXP_MAX = 5B 00
SE_ROULETTE_BALL = 5C 00
SE_ROULETTE_BALL2 = 5D 00
SE_TAILLOW_WING_FLAP = 5E 00
SE_SHOP = 5F 00
SE_CONTEST_HEART = 60 00
SE_CONTEST_CURTAIN_RISE = 61 00
SE_CONTEST_CURTAIN_FALL = 62 00
SE_CONTEST_ICON_CHANGE = 63 00
SE_CONTEST_ICON_CLEAR = 64 00
SE_CONTEST_MONS_TURN = 65 00
SE_SHINY = 66 00
SE_INTRO_BLAST = 67 00
SE_MUGSHOT = 68 00
SE_APPLAUSE = 69 00
SE_VEND = 6A 00
SE_ORB = 6B 00
SE_DEX_SCROLL = 6C 00
SE_DEX_PAGE = 6D 00
SE_POKENAV_ON = 6E 00
SE_POKENAV_OFF = 6F 00
SE_DEX_SEARCH = 70 00
SE_EGG_HATCH = 71 00
SE_BALL_TRAY_ENTER = 72 00
SE_BALL_TRAY_BALL = 73 00
SE_BALL_TRAY_EXIT = 74 00
SE_GLASS_FLUTE = 75 00
SE_M_THUNDERBOLT = 76 00
SE_M_THUNDERBOLT2 = 77 00
SE_M_HARDEN = 78 00
SE_M_NIGHTMARE = 79 00
SE_M_VITAL_THROW = 7A 00
SE_M_VITAL_THROW2 = 7B 00
SE_M_BUBBLE = 7C 00
SE_M_BUBBLE2 = 7D 00
SE_M_BUBBLE3 = 7E 00
SE_M_RAIN_DANCE = 7F 00
SE_M_CUT = 80 00
SE_M_STRING_SHOT = 81 00
SE_M_STRING_SHOT2 = 82 00
SE_M_ROCK_THROW = 83 00
SE_M_GUST = 84 00
SE_M_GUST2 = 85 00
SE_M_DOUBLE_SLAP = 86 00
SE_M_DOUBLE_TEAM = 87 00
SE_M_RAZOR_WIND = 88 00
SE_M_ICY_WIND = 89 00
SE_M_THUNDER_WAVE = 8A 00
SE_M_COMET_PUNCH = 8B 00
SE_M_MEGA_KICK = 8C 00
SE_M_MEGA_KICK2 = 8D 00
SE_M_CRABHAMMER = 8E 00
SE_M_JUMP_KICK = 8F 00
SE_M_FLAME_WHEEL = 90 00
SE_M_FLAME_WHEEL2 = 91 00
SE_M_FLAMETHROWER = 92 00
SE_M_FIRE_PUNCH = 93 00
SE_M_TOXIC = 94 00
SE_M_SACRED_FIRE = 95 00
SE_M_SACRED_FIRE2 = 96 00
SE_M_EMBER = 97 00
SE_M_TAKE_DOWN = 98 00
SE_M_BLIZZARD = 99 00
SE_M_BLIZZARD2 = 9A 00
SE_M_SCRATCH = 9B 00
SE_M_VICEGRIP = 9C 00
SE_M_WING_ATTACK = 9D 00
SE_M_FLY = 9E 00
SE_M_SAND_ATTACK = 9F 00
SE_M_RAZOR_WIND2 = A0 00
SE_M_BITE = A1 00
SE_M_HEADBUTT = A2 00
SE_M_SURF = A3 00
SE_M_HYDRO_PUMP = A4 00
SE_M_WHIRLPOOL = A5 00
SE_M_HORN_ATTACK = A6 00
SE_M_TAIL_WHIP = A7 00
SE_M_MIST = A8 00
SE_M_POISON_POWDER = A9 00
SE_M_BIND = AA 00
SE_M_DRAGON_RAGE = AB 00
SE_M_SING = AC 00
SE_M_PERISH_SONG = AD 00
SE_M_PAY_DAY = AE 00
SE_M_DIG = AF 00
SE_M_DIZZY_PUNCH = B0 00
SE_M_SELF_DESTRUCT = B1 00
SE_M_EXPLOSION = B2 00
SE_M_ABSORB_2 = B3 00
SE_M_ABSORB = B4 00
SE_M_SCREECH = B5 00
SE_M_BUBBLE_BEAM = B6 00
SE_M_BUBBLE_BEAM2 = B7 00
SE_M_SUPERSONIC = B8 00
SE_M_BELLY_DRUM = B9 00
SE_M_METRONOME = BA 00
SE_M_BONEMERANG = BB 00
SE_M_LICK = BC 00
SE_M_PSYBEAM = BD 00
SE_M_FAINT_ATTACK = BE 00
SE_M_SWORDS_DANCE = BF 00
SE_M_LEER = C0 00
SE_M_SWAGGER = C1 00
SE_M_SWAGGER2 = C2 00
SE_M_HEAL_BELL = C3 00
SE_M_CONFUSE_RAY = C4 00
SE_M_SNORE = C5 00
SE_M_BRICK_BREAK = C6 00
SE_M_GIGA_DRAIN = C7 00
SE_M_PSYBEAM2 = C8 00
SE_M_SOLAR_BEAM = C9 00
SE_M_PETAL_DANCE = CA 00
SE_M_TELEPORT = CB 00
SE_M_MINIMIZE = CC 00
SE_M_SKETCH = CD 00
SE_M_SWIFT = CE 00
SE_M_REFLECT = CF 00
SE_M_BARRIER = D0 00
SE_M_DETECT = D1 00
SE_M_LOCK_ON = D2 00
SE_M_MOONLIGHT = D3 00
SE_M_CHARM = D4 00
SE_M_CHARGE = D5 00
SE_M_STRENGTH = D6 00
SE_M_HYPER_BEAM = D7 00
SE_M_WATERFALL = D8 00
SE_M_REVERSAL = D9 00
SE_M_ACID_ARMOR = DA 00
SE_M_SANDSTORM = DB 00
SE_M_TRI_ATTACK = DC 00
SE_M_TRI_ATTACK2 = DD 00
SE_M_ENCORE = DE 00
SE_M_ENCORE2 = DF 00
SE_M_BATON_PASS = E0 00
SE_M_MILK_DRINK = E1 00
SE_M_ATTRACT = E2 00
SE_M_ATTRACT2 = E3 00
SE_M_MORNING_SUN = E4 00
SE_M_FLATTER = E5 00
SE_M_SAND_TOMB = E6 00
SE_M_GRASSWHISTLE = E7 00
SE_M_SPIT_UP = E8 00
SE_M_DIVE = E9 00
SE_M_EARTHQUAKE = EA 00
SE_M_TWISTER = EB 00
SE_M_SWEET_SCENT = EC 00
SE_M_YAWN = ED 00
SE_M_SKY_UPPERCUT = EE 00
SE_M_STAT_INCREASE = EF 00
SE_M_HEAT_WAVE = F0 00
SE_M_UPROAR = F1 00
SE_M_HAIL = F2 00
SE_M_COSMIC_POWER = F3 00
SE_M_TEETER_DANCE = F4 00
SE_M_STAT_DECREASE = F5 00
SE_M_HAZE = F6 00
SE_M_HYPER_BEAM2 = F7 00
SE_RG_DOOR = F8 00
SE_RG_CARD_FLIP = F9 00
SE_RG_CARD_FLIPPING = FA 00
SE_RG_CARD_OPEN = FB 00
SE_RG_BAG_CURSOR = FC 00
SE_RG_BAG_POCKET = FD 00
SE_RG_BALL_CLICK = FE 00
SE_RG_SHOP = FF 00
SE_RG_KITEKI = 00 01
SE_RG_HELP_OP = 01 01
SE_RG_HELP_CL = 02 01
SE_RG_HELP_NG = 03 01
SE_RG_DEOMOV = 04 01
SE_RG_EXCELLENT = 05 01
SE_RG_NAWAMISS = 06 01
SE_TOREEYE = 07 01
SE_TOREOFF = 08 01
SE_HANTEI1 = 09 01
SE_HANTEI2 = 0A 01
SE_CURTAIN = 0B 01
SE_CURTAIN1 = 0C 01
SE_USSOKI = 0D 01
MUS_TETSUJI = 5E 01
MUS_FIELD13 = 5F 01
MUS_KACHI22 = 60 01
MUS_KACHI2 = 61 01
MUS_KACHI3 = 62 01
MUS_KACHI5 = 63 01
MUS_PCC = 64 01
MUS_NIBI = 65 01
MUS_SUIKUN = 66 01
MUS_DOORO1 = 67 01
MUS_DOORO_X1 = 68 01
MUS_DOORO_X3 = 69 01
MUS_MACHI_S2 = 6A 01
MUS_MACHI_S4 = 6B 01
MUS_GIM = 6C 01
MUS_NAMINORI = 6D 01
MUS_DAN01 = 6E 01
MUS_FANFA1 = 6F 01
MUS_ME_ASA = 70 01
MUS_ME_BACHI = 71 01
MUS_FANFA4 = 72 01
MUS_FANFA5 = 73 01
MUS_ME_WAZA = 74 01
MUS_BIJYUTU = 75 01
MUS_DOORO_X4 = 76 01
MUS_FUNE_KAN = 77 01
MUS_ME_SHINKA = 78 01
MUS_SHINKA = 79 01
MUS_ME_WASURE = 7A 01
MUS_SYOUJOEYE = 7B 01
MUS_BOYEYE = 7C 01
MUS_DAN02 = 7D 01
MUS_MACHI_S3 = 7E 01
MUS_ODAMAKI = 7F 01
MUS_B_TOWER = 80 01
MUS_SWIMEYE = 81 01
MUS_DAN03 = 82 01
MUS_ME_KINOMI = 83 01
MUS_ME_TAMA = 84 01
MUS_ME_B_BIG = 85 01
MUS_ME_B_SMALL = 86 01
MUS_ME_ZANNEN = 87 01
MUS_BD_TIME = 88 01
MUS_TEST1 = 89 01
MUS_TEST2 = 8A 01
MUS_TEST3 = 8B 01
MUS_TEST4 = 8C 01
MUS_TEST = 8D 01
MUS_GOMACHI0 = 8E 01
MUS_GOTOWN = 8F 01
MUS_POKECEN = 90 01
MUS_NEXTROAD = 91 01
MUS_GRANROAD = 92 01
SE_RG_SS_ANNE_HORN = 00 01
SE_RG_HELP_OPEN = 01 01
SE_RG_HELP_CLOSE = 02 01
SE_RG_HELP_ERROR = 03 01
SE_RG_DEOXYS_MOVE = 04 01
SE_RG_POKE_JUMP_SUCCESS = 05 01
SE_RG_POKE_JUMP_FAILURE = 06 01
SE_POKENAV_CALL = 07 01
SE_POKENAV_HANG_UP = 08 01
SE_ARENA_TIMEUP1 = 09 01
SE_ARENA_TIMEUP2 = 0A 01
SE_PIKE_CURTAIN_CLOSE = 0B 01
SE_PIKE_CURTAIN_OPEN = 0C 01
SE_SUDOWOODO_SHAKE = 0D 01
MUS_LITTLEROOT_TEST = 5E 01
MUS_GSC_ROUTE38 = 5F 01
MUS_CAUGHT = 60 01
MUS_VICTORY_WILD = 61 01
MUS_VICTORY_GYM_LEADER = 62 01
MUS_VICTORY_LEAGUE = 63 01
MUS_C_COMM_CENTER = 64 01
MUS_GSC_PEWTER = 65 01
MUS_C_VS_LEGEND_BEAST = 66 01
MUS_ROUTE101 = 67 01
MUS_ROUTE110 = 68 01
MUS_ROUTE120 = 69 01
MUS_PETALBURG = 6A 01
MUS_OLDALE = 6B 01
MUS_GYM = 6C 01
MUS_SURF = 6D 01
MUS_PETALBURG_WOODS = 6E 01
MUS_LEVEL_UP = 6F 01
MUS_HEAL = 70 01
MUS_OBTAIN_BADGE = 71 01
MUS_OBTAIN_ITEM = 72 01
MUS_EVOLVED = 73 01
MUS_OBTAIN_TMHM = 74 01
MUS_LILYCOVE_MUSEUM = 75 01
MUS_ROUTE122 = 76 01
MUS_OCEANIC_MUSEUM = 77 01
MUS_EVOLUTION_INTRO = 78 01
MUS_EVOLUTION = 79 01
MUS_MOVE_DELETED = 7A 01
MUS_ENCOUNTER_GIRL = 7B 01
MUS_ENCOUNTER_MALE = 7C 01
MUS_ABANDONED_SHIP = 7D 01
MUS_FORTREE = 7E 01
MUS_BIRCH_LAB = 7F 01
MUS_B_TOWER_RS = 80 01
MUS_ENCOUNTER_SWIMMER = 81 01
MUS_CAVE_OF_ORIGIN = 82 01
MUS_OBTAIN_BERRY = 83 01
MUS_AWAKEN_LEGEND = 84 01
MUS_SLOTS_JACKPOT = 85 01
MUS_SLOTS_WIN = 86 01
MUS_TOO_BAD = 87 01
MUS_ROULETTE = 88 01
MUS_LINK_CONTEST_P1 = 89 01
MUS_LINK_CONTEST_P2 = 8A 01
MUS_LINK_CONTEST_P3 = 8B 01
MUS_LINK_CONTEST_P4 = 8C 01
MUS_ENCOUNTER_RICH = 8D 01
MUS_VERDANTURF = 8E 01
MUS_RUSTBORO = 8F 01
MUS_POKE_CENTER = 90 01
MUS_ROUTE104 = 91 01
MUS_ROUTE119 = 92 01
MUS_CYCLING = 93 01
MUS_FRIENDLY = 94 01
MUS_MISHIRO = 95 01
MUS_TOZAN = 96 01
MUS_GIRLEYE = 97 01
MUS_MINAMO = 98 01
MUS_ASHROAD = 99 01
MUS_EVENT0 = 9A 01
MUS_DEEPDEEP = 9B 01
MUS_KACHI1 = 9C 01
MUS_TITLE3 = 9D 01
MUS_DEMO1 = 9E 01
MUS_GIRL_SUP = 9F 01
MUS_HAGESHII = A0 01
MUS_KAKKOII = A1 01
MUS_KAZANBAI = A2 01
MUS_AQA_0 = A3 01
MUS_TSURETEK = A4 01
MUS_BOY_SUP = A5 01
MUS_RAINBOW = A6 01
MUS_AYASII = A7 01
MUS_KACHI4 = A8 01
MUS_ROPEWAY = A9 01
MUS_CASINO = AA 01
MUS_HIGHTOWN = AB 01
MUS_SAFARI = AC 01
MUS_C_ROAD = AD 01
MUS_AJITO = AE 01
MUS_M_BOAT = AF 01
MUS_M_DUNGON = B0 01
MUS_FINECITY = B1 01
MUS_MACHUPI = B2 01
MUS_P_SCHOOL = B3 01
MUS_DENDOU = B4 01
MUS_TONEKUSA = B5 01
MUS_MABOROSI = B6 01
MUS_CON_FAN = B7 01
MUS_CONTEST0 = B8 01
MUS_MGM0 = B9 01
MUS_T_BATTLE = BA 01
MUS_OOAME = BB 01
MUS_HIDERI = BC 01
MUS_RUNECITY = BD 01
MUS_CON_K = BE 01
MUS_EIKOU_R = BF 01
MUS_KARAKURI = C0 01
MUS_HUTAGO = C1 01
MUS_SITENNOU = C2 01
MUS_YAMA_EYE = C3 01
MUS_CONLOBBY = C4 01
MUS_INTER_V = C5 01
MUS_DAIGO = C6 01
MUS_THANKFOR = C7 01
MUS_POKE_MART = 94 01
MUS_LITTLEROOT = 95 01
MUS_MT_CHIMNEY = 96 01
MUS_ENCOUNTER_FEMALE = 97 01
MUS_LILYCOVE = 98 01
MUS_ROUTE111 = 99 01
MUS_HELP = 9A 01
MUS_UNDERWATER = 9B 01
MUS_VICTORY_TRAINER = 9C 01
MUS_TITLE = 9D 01
MUS_INTRO = 9E 01
MUS_ENCOUNTER_MAY = 9F 01
MUS_ENCOUNTER_INTENSE = A0 01
MUS_ENCOUNTER_COOL = A1 01
MUS_ROUTE113 = A2 01
MUS_ENCOUNTER_AQUA = A3 01
MUS_FOLLOW_ME = A4 01
MUS_ENCOUNTER_BRENDAN = A5 01
MUS_EVER_GRANDE = A6 01
MUS_ENCOUNTER_SUSPICIOUS = A7 01
MUS_VICTORY_AQUA_MAGMA = A8 01
MUS_CABLE_CAR = A9 01
MUS_GAME_CORNER = AA 01
MUS_DEWFORD = AB 01
MUS_SAFARI_ZONE = AC 01
MUS_VICTORY_ROAD = AD 01
MUS_AQUA_MAGMA_HIDEOUT = AE 01
MUS_SAILING = AF 01
MUS_MT_PYRE = B0 01
MUS_SLATEPORT = B1 01
MUS_MT_PYRE_EXTERIOR = B2 01
MUS_SCHOOL = B3 01
MUS_HALL_OF_FAME = B4 01
MUS_FALLARBOR = B5 01
MUS_SEALED_CHAMBER = B6 01
MUS_CONTEST_WINNER = B7 01
MUS_CONTEST = B8 01
MUS_ENCOUNTER_MAGMA = B9 01
MUS_INTRO_BATTLE = BA 01
MUS_ABNORMAL_WEATHER = BB 01
MUS_WEATHER_GROUDON = BC 01
MUS_SOOTOPOLIS = BD 01
MUS_CONTEST_RESULTS = BE 01
MUS_HALL_OF_FAME_ROOM = BF 01
MUS_TRICK_HOUSE = C0 01
MUS_ENCOUNTER_TWINS = C1 01
MUS_ENCOUNTER_ELITE_FOUR = C2 01
MUS_ENCOUNTER_HIKER = C3 01
MUS_CONTEST_LOBBY = C4 01
MUS_ENCOUNTER_INTERVIEWER = C5 01
MUS_ENCOUNTER_CHAMPION = C6 01
MUS_CREDITS = C7 01
MUS_END = C8 01
MUS_B_FRONTIER = C9 01
MUS_B_ARENA = CA 01
MUS_ME_POINTGET = CB 01
MUS_ME_TORE_EYE = CC 01
MUS_PYRAMID = CD 01
MUS_PYRAMID_TOP = CE 01
MUS_OBTAIN_B_POINTS = CB 01
MUS_REGISTER_MATCH_CALL = CC 01
MUS_B_PYRAMID = CD 01
MUS_B_PYRAMID_TOP = CE 01
MUS_B_PALACE = CF 01
MUS_REKKUU_KOURIN = D0 01
MUS_SATTOWER = D1 01
MUS_ME_SYMBOLGET = D2 01
MUS_RAYQUAZA_APPEARS = D0 01
MUS_B_TOWER = D1 01
MUS_OBTAIN_SYMBOL = D2 01
MUS_B_DOME = D3 01
MUS_B_TUBE = D4 01
MUS_B_PIKE = D4 01
MUS_B_FACTORY = D5 01
MUS_VS_REKKU = D6 01
MUS_VS_FRONT = D7 01
MUS_VS_RAYQUAZA = D6 01
MUS_VS_FRONTIER_BRAIN = D7 01
MUS_VS_MEW = D8 01
MUS_B_DOME1 = D9 01
MUS_BATTLE27 = DA 01
MUS_BATTLE31 = DB 01
MUS_BATTLE20 = DC 01
MUS_BATTLE32 = DD 01
MUS_BATTLE33 = DE 01
MUS_BATTLE36 = DF 01
MUS_BATTLE34 = E0 01
MUS_BATTLE35 = E1 01
MUS_BATTLE38 = E2 01
MUS_BATTLE30 = E3 01
MUS_RG_ANNAI = E4 01
MUS_RG_SLOT = E5 01
MUS_RG_AJITO = E6 01
MUS_B_DOME_LOBBY = D9 01
MUS_VS_WILD = DA 01
MUS_VS_AQUA_MAGMA = DB 01
MUS_VS_TRAINER = DC 01
MUS_VS_GYM_LEADER = DD 01
MUS_VS_CHAMPION = DE 01
MUS_VS_REGI = DF 01
MUS_VS_KYOGRE_GROUDON = E0 01
MUS_VS_RIVAL = E1 01
MUS_VS_ELITE_FOUR = E2 01
MUS_VS_AQUA_MAGMA_LEADER = E3 01
MUS_RG_FOLLOW_ME = E4 01
MUS_RG_GAME_CORNER = E5 01
MUS_RG_ROCKET_HIDEOUT = E6 01
MUS_RG_GYM = E7 01
MUS_RG_PURIN = E8 01
MUS_RG_DEMO = E9 01
MUS_RG_JIGGLYPUFF = E8 01
MUS_RG_INTRO_FIGHT = E9 01
MUS_RG_TITLE = EA 01
MUS_RG_GUREN = EB 01
MUS_RG_SHION = EC 01
MUS_RG_KAIHUKU = ED 01
MUS_RG_CINNABAR = EB 01
MUS_RG_LAVENDER = EC 01
MUS_RG_HEAL = ED 01
MUS_RG_CYCLING = EE 01
MUS_RG_ROCKET = EF 01
MUS_RG_SHOUJO = F0 01
MUS_RG_SHOUNEN = F1 01
MUS_RG_DENDOU = F2 01
MUS_RG_T_MORI = F3 01
MUS_RG_OTSUKIMI = F4 01
MUS_RG_POKEYASHI = F5 01
MUS_RG_ENDING = F6 01
MUS_RG_LOAD01 = F7 01
MUS_RG_OPENING = F8 01
MUS_RG_LOAD02 = F9 01
MUS_RG_LOAD03 = FA 01
MUS_RG_CHAMP_R = FB 01
MUS_RG_VS_GYM = FC 01
MUS_RG_VS_TORE = FD 01
MUS_RG_VS_YASEI = FE 01
MUS_RG_VS_LAST = FF 01
MUS_RG_MASARA = 00 02
MUS_RG_KENKYU = 01 02
MUS_RG_OHKIDO = 02 02
MUS_RG_POKECEN = 03 02
MUS_RG_SANTOAN = 04 02
MUS_RG_NAMINORI = 05 02
MUS_RG_P_TOWER = 06 02
MUS_RG_SHIRUHU = 07 02
MUS_RG_HANADA = 08 02
MUS_RG_TAMAMUSI = 09 02
MUS_RG_WIN_TRE = 0A 02
MUS_RG_WIN_YASEI = 0B 02
MUS_RG_WIN_GYM = 0C 02
MUS_RG_KUCHIBA = 0D 02
MUS_RG_NIBI = 0E 02
MUS_RG_RIVAL1 = 0F 02
MUS_RG_RIVAL2 = 10 02
MUS_RG_FAN2 = 11 02
MUS_RG_FAN5 = 12 02
MUS_RG_FAN6 = 13 02
MUS_ME_RG_PHOTO = 14 02
MUS_RG_TITLEROG = 15 02
MUS_RG_GET_YASEI = 16 02
MUS_RG_SOUSA = 17 02
MUS_RG_SEKAIKAN = 18 02
MUS_RG_SEIBETU = 19 02
MUS_RG_JUMP = 1A 02
MUS_RG_UNION = 1B 02
MUS_RG_NETWORK = 1C 02
MUS_RG_OKURIMONO = 1D 02
MUS_RG_KINOMIKUI = 1E 02
MUS_RG_NANADUNGEON = 1F 02
MUS_RG_OSHIE_TV = 20 02
MUS_RG_NANASHIMA = 21 02
MUS_RG_NANAISEKI = 22 02
MUS_RG_NANA123 = 23 02
MUS_RG_NANA45 = 24 02
MUS_RG_NANA67 = 25 02
MUS_RG_POKEFUE = 26 02
MUS_RG_VS_DEO = 27 02
MUS_RG_VS_MYU2 = 28 02
MUS_RG_VS_DEN = 29 02
MUS_RG_EXEYE = 2A 02
MUS_RG_DEOEYE = 2B 02
MUS_RG_T_TOWER = 2C 02
MUS_RG_SLOWMASARA = 2D 02
MUS_RG_TVNOIZE = 2E 02
MUS_RG_ENCOUNTER_ROCKET = EF 01
MUS_RG_ENCOUNTER_GIRL = F0 01
MUS_RG_ENCOUNTER_BOY = F1 01
MUS_RG_HALL_OF_FAME = F2 01
MUS_RG_VIRIDIAN_FOREST = F3 01
MUS_RG_MT_MOON = F4 01
MUS_RG_POKE_MANSION = F5 01
MUS_RG_CREDITS = F6 01
MUS_RG_ROUTE1 = F7 01
MUS_RG_ROUTE24 = F8 01
MUS_RG_ROUTE3 = F9 01
MUS_RG_ROUTE11 = FA 01
MUS_RG_VICTORY_ROAD = FB 01
MUS_RG_VS_GYM_LEADER = FC 01
MUS_RG_VS_TRAINER = FD 01
MUS_RG_VS_WILD = FE 01
MUS_RG_VS_CHAMPION = FF 01
MUS_RG_PALLET = 00 02
MUS_RG_OAK_LAB = 01 02
MUS_RG_OAK = 02 02
MUS_RG_POKE_CENTER = 03 02
MUS_RG_SS_ANNE = 04 02
MUS_RG_SURF = 05 02
MUS_RG_POKE_TOWER = 06 02
MUS_RG_SILPH = 07 02
MUS_RG_FUCHSIA = 08 02
MUS_RG_CELADON = 09 02
MUS_RG_VICTORY_TRAINER = 0A 02
MUS_RG_VICTORY_WILD = 0B 02
MUS_RG_VICTORY_GYM_LEADER = 0C 02
MUS_RG_VERMILLION = 0D 02
MUS_RG_PEWTER = 0E 02
MUS_RG_ENCOUNTER_RIVAL = 0F 02
MUS_RG_RIVAL_EXIT = 10 02
MUS_RG_DEX_RATING = 11 02
MUS_RG_OBTAIN_KEY_ITEM = 12 02
MUS_RG_CAUGHT_INTRO = 13 02
MUS_RG_PHOTO = 14 02
MUS_RG_GAME_FREAK = 15 02
MUS_RG_CAUGHT = 16 02
MUS_RG_NEW_GAME_INSTRUCT = 17 02
MUS_RG_NEW_GAME_INTRO = 18 02
MUS_RG_NEW_GAME_EXIT = 19 02
MUS_RG_POKE_JUMP = 1A 02
MUS_RG_UNION_ROOM = 1B 02
MUS_RG_NET_CENTER = 1C 02
MUS_RG_MYSTERY_GIFT = 1D 02
MUS_RG_BERRY_PICK = 1E 02
MUS_RG_SEVII_CAVE = 1F 02
MUS_RG_TEACHY_TV_SHOW = 20 02
MUS_RG_SEVII_ROUTE = 21 02
MUS_RG_SEVII_DUNGEON = 22 02
MUS_RG_SEVII_123 = 23 02
MUS_RG_SEVII_45 = 24 02
MUS_RG_SEVII_67 = 25 02
MUS_RG_POKE_FLUTE = 26 02
MUS_RG_VS_DEOXYS = 27 02
MUS_RG_VS_MEWTWO = 28 02
MUS_RG_VS_LEGEND = 29 02
MUS_RG_ENCOUNTER_GYM_LEADER = 2A 02
MUS_RG_ENCOUNTER_DEOXYS = 2B 02
MUS_RG_TRAINER_TOWER = 2C 02
MUS_RG_SLOW_PALLET = 2D 02
MUS_RG_TEACHY_TV_MENU = 2E 02
PH_TRAP_BLEND = 2F 02
PH_TRAP_HELD = 30 02
PH_TRAP_SOLO = 31 02
+454 -452
View File
@@ -407,12 +407,14 @@ B_ATK_TEAM2 = FD 38
B_DEF_NAME = FD 39
B_DEF_TEAM1 = FD 3A
B_DEF_TEAM2 = FD 3B
B_ACTIVE_NAME = FD 3C
B_ACTIVE_NAME2 = FD 3D @ no Illusion check
@ indicates the end of a town/city name (before " TOWN" or " CITY")
NAME_END = FC 00
@ special 0xF7 character
SPECIAL_F7 = F7
DYNAMIC = F7
@ more text functions
@@ -422,15 +424,15 @@ SHADOW = FC 03 @ same as fc 01
COLOR_HIGHLIGHT_SHADOW = FC 04 @ takes 3 bytes
PALETTE = FC 05 @ used in credits
SIZE = FC 06 @ note that anything other than "SMALL" is invalid
UNKNOWN_7 = FC 07
RESET_SIZE = FC 07
PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them
PAUSE_UNTIL_PRESS = FC 09
UNKNOWN_A = FC 0A
WAIT_SE = FC 0A
PLAY_BGM = FC 0B
ESCAPE = FC 0C
SHIFT_TEXT = FC 0D
UNKNOWN_E = FC 0E
UNKNOWN_F = FC 0F
SHIFT_DOWN = FC 0E
FILL_WINDOW = FC 0F
PLAY_SE = FC 10
CLEAR = FC 11
SKIP = FC 12
@@ -465,7 +467,7 @@ DYNAMIC_COLOR6 = 0F @ cerulean
@ sound and music
MUS_DUMMY = 00 00
SE_KAIFUKU = 01 00
SE_USE_ITEM = 01 00
SE_PC_LOGIN = 02 00
SE_PC_OFF = 03 00
SE_PC_ON = 04 00
@@ -473,476 +475,476 @@ SE_SELECT = 05 00
SE_WIN_OPEN = 06 00
SE_WALL_HIT = 07 00
SE_DOOR = 08 00
SE_KAIDAN = 09 00
SE_DANSA = 0A 00
SE_JITENSYA = 0B 00
SE_KOUKA_L = 0C 00
SE_KOUKA_M = 0D 00
SE_KOUKA_H = 0E 00
SE_BOWA2 = 0F 00
SE_POKE_DEAD = 10 00
SE_NIGERU = 11 00
SE_JIDO_DOA = 12 00
SE_NAMINORI = 13 00
SE_BAN = 14 00
SE_EXIT = 09 00
SE_LEDGE = 0A 00
SE_BIKE_BELL = 0B 00
SE_NOT_EFFECTIVE = 0C 00
SE_EFFECTIVE = 0D 00
SE_SUPER_EFFECTIVE = 0E 00
SE_BALL_OPEN = 0F 00
SE_FAINT = 10 00
SE_FLEE = 11 00
SE_SLIDING_DOOR = 12 00
SE_SHIP = 13 00
SE_BANG = 14 00
SE_PIN = 15 00
SE_BOO = 16 00
SE_BOWA = 17 00
SE_JYUNI = 18 00
SE_BALL = 17 00
SE_CONTEST_PLACE = 18 00
SE_A = 19 00
SE_I = 1A 00
SE_U = 1B 00
SE_E = 1C 00
SE_O = 1D 00
SE_N = 1E 00
SE_SEIKAI = 1F 00
SE_HAZURE = 20 00
SE_SUCCESS = 1F 00
SE_FAILURE = 20 00
SE_EXP = 21 00
SE_JITE_PYOKO = 22 00
SE_MU_PACHI = 23 00
SE_TK_KASYA = 24 00
SE_BIKE_HOP = 22 00
SE_SWITCH = 23 00
SE_CLICK = 24 00
SE_FU_ZAKU = 25 00
SE_FU_ZAKU2 = 26 00
SE_FU_ZUZUZU = 27 00
SE_RU_GASHIN = 28 00
SE_RU_GASYAN = 29 00
SE_RU_BARI = 2A 00
SE_RU_HYUU = 2B 00
SE_KI_GASYAN = 2C 00
SE_TK_WARPIN = 2D 00
SE_TK_WARPOUT = 2E 00
SE_TU_SAA = 2F 00
SE_HI_TURUN = 30 00
SE_TRACK_MOVE = 31 00
SE_TRACK_STOP = 32 00
SE_TRACK_HAIKI = 33 00
SE_TRACK_DOOR = 34 00
SE_MOTER = 35 00
SE_CONTEST_CONDITION_LOSE = 26 00
SE_LAVARIDGE_FALL_WARP = 27 00
SE_ICE_STAIRS = 28 00
SE_ICE_BREAK = 29 00
SE_ICE_CRACK = 2A 00
SE_FALL = 2B 00
SE_UNLOCK = 2C 00
SE_WARP_IN = 2D 00
SE_WARP_OUT = 2E 00
SE_REPEL = 2F 00
SE_ROTATING_GATE = 30 00
SE_TRUCK_MOVE = 31 00
SE_TRUCK_STOP = 32 00
SE_TRUCK_UNLOAD = 33 00
SE_TRUCK_DOOR = 34 00
SE_BERRY_BLENDER = 35 00
SE_CARD = 36 00
SE_SAVE = 37 00
SE_KON = 38 00
SE_KON2 = 39 00
SE_KON3 = 3A 00
SE_KON4 = 3B 00
SE_SUIKOMU = 3C 00
SE_NAGERU = 3D 00
SE_TOY_C = 3E 00
SE_TOY_D = 3F 00
SE_TOY_E = 40 00
SE_TOY_F = 41 00
SE_TOY_G = 42 00
SE_TOY_A = 43 00
SE_TOY_B = 44 00
SE_TOY_C1 = 45 00
SE_MIZU = 46 00
SE_HASHI = 47 00
SE_DAUGI = 48 00
SE_PINPON = 49 00
SE_FUUSEN1 = 4A 00
SE_FUUSEN2 = 4B 00
SE_FUUSEN3 = 4C 00
SE_TOY_KABE = 4D 00
SE_TOY_DANGO = 4E 00
SE_DOKU = 4F 00
SE_ESUKA = 50 00
SE_T_AME = 51 00
SE_T_AME_E = 52 00
SE_T_OOAME = 53 00
SE_T_OOAME_E = 54 00
SE_T_KOAME = 55 00
SE_T_KOAME_E = 56 00
SE_T_KAMI = 57 00
SE_T_KAMI2 = 58 00
SE_ELEBETA = 59 00
SE_HINSI = 5A 00
SE_EXPMAX = 5B 00
SE_TAMAKORO = 5C 00
SE_TAMAKORO_E = 5D 00
SE_BASABASA = 5E 00
SE_REGI = 5F 00
SE_C_GAJI = 60 00
SE_C_MAKU_U = 61 00
SE_C_MAKU_D = 62 00
SE_C_PASI = 63 00
SE_C_SYU = 64 00
SE_C_PIKON = 65 00
SE_REAPOKE = 66 00
SE_OP_BASYU = 67 00
SE_BT_START = 68 00
SE_DENDOU = 69 00
SE_JIHANKI = 6A 00
SE_TAMA = 6B 00
SE_Z_SCROLL = 6C 00
SE_Z_PAGE = 6D 00
SE_PN_ON = 6E 00
SE_PN_OFF = 6F 00
SE_Z_SEARCH = 70 00
SE_TAMAGO = 71 00
SE_TB_START = 72 00
SE_TB_KON = 73 00
SE_TB_KARA = 74 00
SE_BIDORO = 75 00
SE_W085 = 76 00
SE_W085B = 77 00
SE_W231 = 78 00
SE_W171 = 79 00
SE_W233 = 7A 00
SE_W233B = 7B 00
SE_W145 = 7C 00
SE_W145B = 7D 00
SE_W145C = 7E 00
SE_W240 = 7F 00
SE_W015 = 80 00
SE_W081 = 81 00
SE_W081B = 82 00
SE_W088 = 83 00
SE_W016 = 84 00
SE_W016B = 85 00
SE_W003 = 86 00
SE_W104 = 87 00
SE_W013 = 88 00
SE_W196 = 89 00
SE_W086 = 8A 00
SE_W004 = 8B 00
SE_W025 = 8C 00
SE_W025B = 8D 00
SE_W152 = 8E 00
SE_W026 = 8F 00
SE_W172 = 90 00
SE_W172B = 91 00
SE_W053 = 92 00
SE_W007 = 93 00
SE_W092 = 94 00
SE_W221 = 95 00
SE_W221B = 96 00
SE_W052 = 97 00
SE_W036 = 98 00
SE_W059 = 99 00
SE_W059B = 9A 00
SE_W010 = 9B 00
SE_W011 = 9C 00
SE_W017 = 9D 00
SE_W019 = 9E 00
SE_W028 = 9F 00
SE_W013B = A0 00
SE_W044 = A1 00
SE_W029 = A2 00
SE_W057 = A3 00
SE_W056 = A4 00
SE_W250 = A5 00
SE_W030 = A6 00
SE_W039 = A7 00
SE_W054 = A8 00
SE_W077 = A9 00
SE_W020 = AA 00
SE_W082 = AB 00
SE_W047 = AC 00
SE_W195 = AD 00
SE_W006 = AE 00
SE_W091 = AF 00
SE_W146 = B0 00
SE_W120 = B1 00
SE_W153 = B2 00
SE_W071B = B3 00
SE_W071 = B4 00
SE_W103 = B5 00
SE_W062 = B6 00
SE_W062B = B7 00
SE_W048 = B8 00
SE_W187 = B9 00
SE_W118 = BA 00
SE_W155 = BB 00
SE_W122 = BC 00
SE_W060 = BD 00
SE_W185 = BE 00
SE_W014 = BF 00
SE_W043 = C0 00
SE_W207 = C1 00
SE_W207B = C2 00
SE_W215 = C3 00
SE_W109 = C4 00
SE_W173 = C5 00
SE_W280 = C6 00
SE_W202 = C7 00
SE_W060B = C8 00
SE_W076 = C9 00
SE_W080 = CA 00
SE_W100 = CB 00
SE_W107 = CC 00
SE_W166 = CD 00
SE_W129 = CE 00
SE_W115 = CF 00
SE_W112 = D0 00
SE_W197 = D1 00
SE_W199 = D2 00
SE_W236 = D3 00
SE_W204 = D4 00
SE_W268 = D5 00
SE_W070 = D6 00
SE_W063 = D7 00
SE_W127 = D8 00
SE_W179 = D9 00
SE_W151 = DA 00
SE_W201 = DB 00
SE_W161 = DC 00
SE_W161B = DD 00
SE_W227 = DE 00
SE_W227B = DF 00
SE_W226 = E0 00
SE_W208 = E1 00
SE_W213 = E2 00
SE_W213B = E3 00
SE_W234 = E4 00
SE_W260 = E5 00
SE_W328 = E6 00
SE_W320 = E7 00
SE_W255 = E8 00
SE_W291 = E9 00
SE_W089 = EA 00
SE_W239 = EB 00
SE_W230 = EC 00
SE_W281 = ED 00
SE_W327 = EE 00
SE_W287 = EF 00
SE_W257 = F0 00
SE_W253 = F1 00
SE_W258 = F2 00
SE_W322 = F3 00
SE_W298 = F4 00
SE_W287B = F5 00
SE_W114 = F6 00
SE_W063B = F7 00
SE_RG_W_DOOR = F8 00
SE_RG_CARD1 = F9 00
SE_RG_CARD2 = FA 00
SE_RG_CARD3 = FB 00
SE_RG_BAG1 = FC 00
SE_RG_BAG2 = FD 00
SE_RG_GETTING = FE 00
SE_BALL_BOUNCE_1 = 38 00
SE_BALL_BOUNCE_2 = 39 00
SE_BALL_BOUNCE_3 = 3A 00
SE_BALL_BOUNCE_4 = 3B 00
SE_BALL_TRADE = 3C 00
SE_BALL_THROW = 3D 00
SE_NOTE_C = 3E 00
SE_NOTE_D = 3F 00
SE_NOTE_E = 40 00
SE_NOTE_F = 41 00
SE_NOTE_G = 42 00
SE_NOTE_A = 43 00
SE_NOTE_B = 44 00
SE_NOTE_C_HIGH = 45 00
SE_PUDDLE = 46 00
SE_BRIDGE_WALK = 47 00
SE_ITEMFINDER = 48 00
SE_DING_DONG = 49 00
SE_BALLOON_RED = 4A 00
SE_BALLOON_BLUE = 4B 00
SE_BALLOON_YELLOW = 4C 00
SE_BREAKABLE_DOOR = 4D 00
SE_MUD_BALL = 4E 00
SE_FIELD_POISON = 4F 00
SE_ESCALATOR = 50 00
SE_THUNDERSTORM = 51 00
SE_THUNDERSTORM_STOP = 52 00
SE_DOWNPOUR = 53 00
SE_DOWNPOUR_STOP = 54 00
SE_RAIN = 55 00
SE_RAIN_STOP = 56 00
SE_THUNDER = 57 00
SE_THUNDER2 = 58 00
SE_ELEVATOR = 59 00
SE_LOW_HEALTH = 5A 00
SE_EXP_MAX = 5B 00
SE_ROULETTE_BALL = 5C 00
SE_ROULETTE_BALL2 = 5D 00
SE_TAILLOW_WING_FLAP = 5E 00
SE_SHOP = 5F 00
SE_CONTEST_HEART = 60 00
SE_CONTEST_CURTAIN_RISE = 61 00
SE_CONTEST_CURTAIN_FALL = 62 00
SE_CONTEST_ICON_CHANGE = 63 00
SE_CONTEST_ICON_CLEAR = 64 00
SE_CONTEST_MONS_TURN = 65 00
SE_SHINY = 66 00
SE_INTRO_BLAST = 67 00
SE_MUGSHOT = 68 00
SE_APPLAUSE = 69 00
SE_VEND = 6A 00
SE_ORB = 6B 00
SE_DEX_SCROLL = 6C 00
SE_DEX_PAGE = 6D 00
SE_POKENAV_ON = 6E 00
SE_POKENAV_OFF = 6F 00
SE_DEX_SEARCH = 70 00
SE_EGG_HATCH = 71 00
SE_BALL_TRAY_ENTER = 72 00
SE_BALL_TRAY_BALL = 73 00
SE_BALL_TRAY_EXIT = 74 00
SE_GLASS_FLUTE = 75 00
SE_M_THUNDERBOLT = 76 00
SE_M_THUNDERBOLT2 = 77 00
SE_M_HARDEN = 78 00
SE_M_NIGHTMARE = 79 00
SE_M_VITAL_THROW = 7A 00
SE_M_VITAL_THROW2 = 7B 00
SE_M_BUBBLE = 7C 00
SE_M_BUBBLE2 = 7D 00
SE_M_BUBBLE3 = 7E 00
SE_M_RAIN_DANCE = 7F 00
SE_M_CUT = 80 00
SE_M_STRING_SHOT = 81 00
SE_M_STRING_SHOT2 = 82 00
SE_M_ROCK_THROW = 83 00
SE_M_GUST = 84 00
SE_M_GUST2 = 85 00
SE_M_DOUBLE_SLAP = 86 00
SE_M_DOUBLE_TEAM = 87 00
SE_M_RAZOR_WIND = 88 00
SE_M_ICY_WIND = 89 00
SE_M_THUNDER_WAVE = 8A 00
SE_M_COMET_PUNCH = 8B 00
SE_M_MEGA_KICK = 8C 00
SE_M_MEGA_KICK2 = 8D 00
SE_M_CRABHAMMER = 8E 00
SE_M_JUMP_KICK = 8F 00
SE_M_FLAME_WHEEL = 90 00
SE_M_FLAME_WHEEL2 = 91 00
SE_M_FLAMETHROWER = 92 00
SE_M_FIRE_PUNCH = 93 00
SE_M_TOXIC = 94 00
SE_M_SACRED_FIRE = 95 00
SE_M_SACRED_FIRE2 = 96 00
SE_M_EMBER = 97 00
SE_M_TAKE_DOWN = 98 00
SE_M_BLIZZARD = 99 00
SE_M_BLIZZARD2 = 9A 00
SE_M_SCRATCH = 9B 00
SE_M_VICEGRIP = 9C 00
SE_M_WING_ATTACK = 9D 00
SE_M_FLY = 9E 00
SE_M_SAND_ATTACK = 9F 00
SE_M_RAZOR_WIND2 = A0 00
SE_M_BITE = A1 00
SE_M_HEADBUTT = A2 00
SE_M_SURF = A3 00
SE_M_HYDRO_PUMP = A4 00
SE_M_WHIRLPOOL = A5 00
SE_M_HORN_ATTACK = A6 00
SE_M_TAIL_WHIP = A7 00
SE_M_MIST = A8 00
SE_M_POISON_POWDER = A9 00
SE_M_BIND = AA 00
SE_M_DRAGON_RAGE = AB 00
SE_M_SING = AC 00
SE_M_PERISH_SONG = AD 00
SE_M_PAY_DAY = AE 00
SE_M_DIG = AF 00
SE_M_DIZZY_PUNCH = B0 00
SE_M_SELF_DESTRUCT = B1 00
SE_M_EXPLOSION = B2 00
SE_M_ABSORB_2 = B3 00
SE_M_ABSORB = B4 00
SE_M_SCREECH = B5 00
SE_M_BUBBLE_BEAM = B6 00
SE_M_BUBBLE_BEAM2 = B7 00
SE_M_SUPERSONIC = B8 00
SE_M_BELLY_DRUM = B9 00
SE_M_METRONOME = BA 00
SE_M_BONEMERANG = BB 00
SE_M_LICK = BC 00
SE_M_PSYBEAM = BD 00
SE_M_FAINT_ATTACK = BE 00
SE_M_SWORDS_DANCE = BF 00
SE_M_LEER = C0 00
SE_M_SWAGGER = C1 00
SE_M_SWAGGER2 = C2 00
SE_M_HEAL_BELL = C3 00
SE_M_CONFUSE_RAY = C4 00
SE_M_SNORE = C5 00
SE_M_BRICK_BREAK = C6 00
SE_M_GIGA_DRAIN = C7 00
SE_M_PSYBEAM2 = C8 00
SE_M_SOLAR_BEAM = C9 00
SE_M_PETAL_DANCE = CA 00
SE_M_TELEPORT = CB 00
SE_M_MINIMIZE = CC 00
SE_M_SKETCH = CD 00
SE_M_SWIFT = CE 00
SE_M_REFLECT = CF 00
SE_M_BARRIER = D0 00
SE_M_DETECT = D1 00
SE_M_LOCK_ON = D2 00
SE_M_MOONLIGHT = D3 00
SE_M_CHARM = D4 00
SE_M_CHARGE = D5 00
SE_M_STRENGTH = D6 00
SE_M_HYPER_BEAM = D7 00
SE_M_WATERFALL = D8 00
SE_M_REVERSAL = D9 00
SE_M_ACID_ARMOR = DA 00
SE_M_SANDSTORM = DB 00
SE_M_TRI_ATTACK = DC 00
SE_M_TRI_ATTACK2 = DD 00
SE_M_ENCORE = DE 00
SE_M_ENCORE2 = DF 00
SE_M_BATON_PASS = E0 00
SE_M_MILK_DRINK = E1 00
SE_M_ATTRACT = E2 00
SE_M_ATTRACT2 = E3 00
SE_M_MORNING_SUN = E4 00
SE_M_FLATTER = E5 00
SE_M_SAND_TOMB = E6 00
SE_M_GRASSWHISTLE = E7 00
SE_M_SPIT_UP = E8 00
SE_M_DIVE = E9 00
SE_M_EARTHQUAKE = EA 00
SE_M_TWISTER = EB 00
SE_M_SWEET_SCENT = EC 00
SE_M_YAWN = ED 00
SE_M_SKY_UPPERCUT = EE 00
SE_M_STAT_INCREASE = EF 00
SE_M_HEAT_WAVE = F0 00
SE_M_UPROAR = F1 00
SE_M_HAIL = F2 00
SE_M_COSMIC_POWER = F3 00
SE_M_TEETER_DANCE = F4 00
SE_M_STAT_DECREASE = F5 00
SE_M_HAZE = F6 00
SE_M_HYPER_BEAM2 = F7 00
SE_RG_DOOR = F8 00
SE_RG_CARD_FLIP = F9 00
SE_RG_CARD_FLIPPING = FA 00
SE_RG_CARD_OPEN = FB 00
SE_RG_BAG_CURSOR = FC 00
SE_RG_BAG_POCKET = FD 00
SE_RG_BALL_CLICK = FE 00
SE_RG_SHOP = FF 00
SE_RG_KITEKI = 00 01
SE_RG_HELP_OP = 01 01
SE_RG_HELP_CL = 02 01
SE_RG_HELP_NG = 03 01
SE_RG_DEOMOV = 04 01
SE_RG_EXCELLENT = 05 01
SE_RG_NAWAMISS = 06 01
SE_TOREEYE = 07 01
SE_TOREOFF = 08 01
SE_HANTEI1 = 09 01
SE_HANTEI2 = 0A 01
SE_CURTAIN = 0B 01
SE_CURTAIN1 = 0C 01
SE_USSOKI = 0D 01
MUS_TETSUJI = 5E 01
MUS_FIELD13 = 5F 01
MUS_KACHI22 = 60 01
MUS_KACHI2 = 61 01
MUS_KACHI3 = 62 01
MUS_KACHI5 = 63 01
MUS_PCC = 64 01
MUS_NIBI = 65 01
MUS_SUIKUN = 66 01
MUS_DOORO1 = 67 01
MUS_DOORO_X1 = 68 01
MUS_DOORO_X3 = 69 01
MUS_MACHI_S2 = 6A 01
MUS_MACHI_S4 = 6B 01
MUS_GIM = 6C 01
MUS_NAMINORI = 6D 01
MUS_DAN01 = 6E 01
MUS_FANFA1 = 6F 01
MUS_ME_ASA = 70 01
MUS_ME_BACHI = 71 01
MUS_FANFA4 = 72 01
MUS_FANFA5 = 73 01
MUS_ME_WAZA = 74 01
MUS_BIJYUTU = 75 01
MUS_DOORO_X4 = 76 01
MUS_FUNE_KAN = 77 01
MUS_ME_SHINKA = 78 01
MUS_SHINKA = 79 01
MUS_ME_WASURE = 7A 01
MUS_SYOUJOEYE = 7B 01
MUS_BOYEYE = 7C 01
MUS_DAN02 = 7D 01
MUS_MACHI_S3 = 7E 01
MUS_ODAMAKI = 7F 01
MUS_B_TOWER = 80 01
MUS_SWIMEYE = 81 01
MUS_DAN03 = 82 01
MUS_ME_KINOMI = 83 01
MUS_ME_TAMA = 84 01
MUS_ME_B_BIG = 85 01
MUS_ME_B_SMALL = 86 01
MUS_ME_ZANNEN = 87 01
MUS_BD_TIME = 88 01
MUS_TEST1 = 89 01
MUS_TEST2 = 8A 01
MUS_TEST3 = 8B 01
MUS_TEST4 = 8C 01
MUS_TEST = 8D 01
MUS_GOMACHI0 = 8E 01
MUS_GOTOWN = 8F 01
MUS_POKECEN = 90 01
MUS_NEXTROAD = 91 01
MUS_GRANROAD = 92 01
SE_RG_SS_ANNE_HORN = 00 01
SE_RG_HELP_OPEN = 01 01
SE_RG_HELP_CLOSE = 02 01
SE_RG_HELP_ERROR = 03 01
SE_RG_DEOXYS_MOVE = 04 01
SE_RG_POKE_JUMP_SUCCESS = 05 01
SE_RG_POKE_JUMP_FAILURE = 06 01
SE_POKENAV_CALL = 07 01
SE_POKENAV_HANG_UP = 08 01
SE_ARENA_TIMEUP1 = 09 01
SE_ARENA_TIMEUP2 = 0A 01
SE_PIKE_CURTAIN_CLOSE = 0B 01
SE_PIKE_CURTAIN_OPEN = 0C 01
SE_SUDOWOODO_SHAKE = 0D 01
MUS_LITTLEROOT_TEST = 5E 01
MUS_GSC_ROUTE38 = 5F 01
MUS_CAUGHT = 60 01
MUS_VICTORY_WILD = 61 01
MUS_VICTORY_GYM_LEADER = 62 01
MUS_VICTORY_LEAGUE = 63 01
MUS_C_COMM_CENTER = 64 01
MUS_GSC_PEWTER = 65 01
MUS_C_VS_LEGEND_BEAST = 66 01
MUS_ROUTE101 = 67 01
MUS_ROUTE110 = 68 01
MUS_ROUTE120 = 69 01
MUS_PETALBURG = 6A 01
MUS_OLDALE = 6B 01
MUS_GYM = 6C 01
MUS_SURF = 6D 01
MUS_PETALBURG_WOODS = 6E 01
MUS_LEVEL_UP = 6F 01
MUS_HEAL = 70 01
MUS_OBTAIN_BADGE = 71 01
MUS_OBTAIN_ITEM = 72 01
MUS_EVOLVED = 73 01
MUS_OBTAIN_TMHM = 74 01
MUS_LILYCOVE_MUSEUM = 75 01
MUS_ROUTE122 = 76 01
MUS_OCEANIC_MUSEUM = 77 01
MUS_EVOLUTION_INTRO = 78 01
MUS_EVOLUTION = 79 01
MUS_MOVE_DELETED = 7A 01
MUS_ENCOUNTER_GIRL = 7B 01
MUS_ENCOUNTER_MALE = 7C 01
MUS_ABANDONED_SHIP = 7D 01
MUS_FORTREE = 7E 01
MUS_BIRCH_LAB = 7F 01
MUS_B_TOWER_RS = 80 01
MUS_ENCOUNTER_SWIMMER = 81 01
MUS_CAVE_OF_ORIGIN = 82 01
MUS_OBTAIN_BERRY = 83 01
MUS_AWAKEN_LEGEND = 84 01
MUS_SLOTS_JACKPOT = 85 01
MUS_SLOTS_WIN = 86 01
MUS_TOO_BAD = 87 01
MUS_ROULETTE = 88 01
MUS_LINK_CONTEST_P1 = 89 01
MUS_LINK_CONTEST_P2 = 8A 01
MUS_LINK_CONTEST_P3 = 8B 01
MUS_LINK_CONTEST_P4 = 8C 01
MUS_ENCOUNTER_RICH = 8D 01
MUS_VERDANTURF = 8E 01
MUS_RUSTBORO = 8F 01
MUS_POKE_CENTER = 90 01
MUS_ROUTE104 = 91 01
MUS_ROUTE119 = 92 01
MUS_CYCLING = 93 01
MUS_FRIENDLY = 94 01
MUS_MISHIRO = 95 01
MUS_TOZAN = 96 01
MUS_GIRLEYE = 97 01
MUS_MINAMO = 98 01
MUS_ASHROAD = 99 01
MUS_EVENT0 = 9A 01
MUS_DEEPDEEP = 9B 01
MUS_KACHI1 = 9C 01
MUS_TITLE3 = 9D 01
MUS_DEMO1 = 9E 01
MUS_GIRL_SUP = 9F 01
MUS_HAGESHII = A0 01
MUS_KAKKOII = A1 01
MUS_KAZANBAI = A2 01
MUS_AQA_0 = A3 01
MUS_TSURETEK = A4 01
MUS_BOY_SUP = A5 01
MUS_RAINBOW = A6 01
MUS_AYASII = A7 01
MUS_KACHI4 = A8 01
MUS_ROPEWAY = A9 01
MUS_CASINO = AA 01
MUS_HIGHTOWN = AB 01
MUS_SAFARI = AC 01
MUS_C_ROAD = AD 01
MUS_AJITO = AE 01
MUS_M_BOAT = AF 01
MUS_M_DUNGON = B0 01
MUS_FINECITY = B1 01
MUS_MACHUPI = B2 01
MUS_P_SCHOOL = B3 01
MUS_DENDOU = B4 01
MUS_TONEKUSA = B5 01
MUS_MABOROSI = B6 01
MUS_CON_FAN = B7 01
MUS_CONTEST0 = B8 01
MUS_MGM0 = B9 01
MUS_T_BATTLE = BA 01
MUS_OOAME = BB 01
MUS_HIDERI = BC 01
MUS_RUNECITY = BD 01
MUS_CON_K = BE 01
MUS_EIKOU_R = BF 01
MUS_KARAKURI = C0 01
MUS_HUTAGO = C1 01
MUS_SITENNOU = C2 01
MUS_YAMA_EYE = C3 01
MUS_CONLOBBY = C4 01
MUS_INTER_V = C5 01
MUS_DAIGO = C6 01
MUS_THANKFOR = C7 01
MUS_POKE_MART = 94 01
MUS_LITTLEROOT = 95 01
MUS_MT_CHIMNEY = 96 01
MUS_ENCOUNTER_FEMALE = 97 01
MUS_LILYCOVE = 98 01
MUS_ROUTE111 = 99 01
MUS_HELP = 9A 01
MUS_UNDERWATER = 9B 01
MUS_VICTORY_TRAINER = 9C 01
MUS_TITLE = 9D 01
MUS_INTRO = 9E 01
MUS_ENCOUNTER_MAY = 9F 01
MUS_ENCOUNTER_INTENSE = A0 01
MUS_ENCOUNTER_COOL = A1 01
MUS_ROUTE113 = A2 01
MUS_ENCOUNTER_AQUA = A3 01
MUS_FOLLOW_ME = A4 01
MUS_ENCOUNTER_BRENDAN = A5 01
MUS_EVER_GRANDE = A6 01
MUS_ENCOUNTER_SUSPICIOUS = A7 01
MUS_VICTORY_AQUA_MAGMA = A8 01
MUS_CABLE_CAR = A9 01
MUS_GAME_CORNER = AA 01
MUS_DEWFORD = AB 01
MUS_SAFARI_ZONE = AC 01
MUS_VICTORY_ROAD = AD 01
MUS_AQUA_MAGMA_HIDEOUT = AE 01
MUS_SAILING = AF 01
MUS_MT_PYRE = B0 01
MUS_SLATEPORT = B1 01
MUS_MT_PYRE_EXTERIOR = B2 01
MUS_SCHOOL = B3 01
MUS_HALL_OF_FAME = B4 01
MUS_FALLARBOR = B5 01
MUS_SEALED_CHAMBER = B6 01
MUS_CONTEST_WINNER = B7 01
MUS_CONTEST = B8 01
MUS_ENCOUNTER_MAGMA = B9 01
MUS_INTRO_BATTLE = BA 01
MUS_ABNORMAL_WEATHER = BB 01
MUS_WEATHER_GROUDON = BC 01
MUS_SOOTOPOLIS = BD 01
MUS_CONTEST_RESULTS = BE 01
MUS_HALL_OF_FAME_ROOM = BF 01
MUS_TRICK_HOUSE = C0 01
MUS_ENCOUNTER_TWINS = C1 01
MUS_ENCOUNTER_ELITE_FOUR = C2 01
MUS_ENCOUNTER_HIKER = C3 01
MUS_CONTEST_LOBBY = C4 01
MUS_ENCOUNTER_INTERVIEWER = C5 01
MUS_ENCOUNTER_CHAMPION = C6 01
MUS_CREDITS = C7 01
MUS_END = C8 01
MUS_B_FRONTIER = C9 01
MUS_B_ARENA = CA 01
MUS_ME_POINTGET = CB 01
MUS_ME_TORE_EYE = CC 01
MUS_PYRAMID = CD 01
MUS_PYRAMID_TOP = CE 01
MUS_OBTAIN_B_POINTS = CB 01
MUS_REGISTER_MATCH_CALL = CC 01
MUS_B_PYRAMID = CD 01
MUS_B_PYRAMID_TOP = CE 01
MUS_B_PALACE = CF 01
MUS_REKKUU_KOURIN = D0 01
MUS_SATTOWER = D1 01
MUS_ME_SYMBOLGET = D2 01
MUS_RAYQUAZA_APPEARS = D0 01
MUS_B_TOWER = D1 01
MUS_OBTAIN_SYMBOL = D2 01
MUS_B_DOME = D3 01
MUS_B_TUBE = D4 01
MUS_B_PIKE = D4 01
MUS_B_FACTORY = D5 01
MUS_VS_REKKU = D6 01
MUS_VS_FRONT = D7 01
MUS_VS_RAYQUAZA = D6 01
MUS_VS_FRONTIER_BRAIN = D7 01
MUS_VS_MEW = D8 01
MUS_B_DOME1 = D9 01
MUS_BATTLE27 = DA 01
MUS_BATTLE31 = DB 01
MUS_BATTLE20 = DC 01
MUS_BATTLE32 = DD 01
MUS_BATTLE33 = DE 01
MUS_BATTLE36 = DF 01
MUS_BATTLE34 = E0 01
MUS_BATTLE35 = E1 01
MUS_BATTLE38 = E2 01
MUS_BATTLE30 = E3 01
MUS_RG_ANNAI = E4 01
MUS_RG_SLOT = E5 01
MUS_RG_AJITO = E6 01
MUS_B_DOME_LOBBY = D9 01
MUS_VS_WILD = DA 01
MUS_VS_AQUA_MAGMA = DB 01
MUS_VS_TRAINER = DC 01
MUS_VS_GYM_LEADER = DD 01
MUS_VS_CHAMPION = DE 01
MUS_VS_REGI = DF 01
MUS_VS_KYOGRE_GROUDON = E0 01
MUS_VS_RIVAL = E1 01
MUS_VS_ELITE_FOUR = E2 01
MUS_VS_AQUA_MAGMA_LEADER = E3 01
MUS_RG_FOLLOW_ME = E4 01
MUS_RG_GAME_CORNER = E5 01
MUS_RG_ROCKET_HIDEOUT = E6 01
MUS_RG_GYM = E7 01
MUS_RG_PURIN = E8 01
MUS_RG_DEMO = E9 01
MUS_RG_JIGGLYPUFF = E8 01
MUS_RG_INTRO_FIGHT = E9 01
MUS_RG_TITLE = EA 01
MUS_RG_GUREN = EB 01
MUS_RG_SHION = EC 01
MUS_RG_KAIHUKU = ED 01
MUS_RG_CINNABAR = EB 01
MUS_RG_LAVENDER = EC 01
MUS_RG_HEAL = ED 01
MUS_RG_CYCLING = EE 01
MUS_RG_ROCKET = EF 01
MUS_RG_SHOUJO = F0 01
MUS_RG_SHOUNEN = F1 01
MUS_RG_DENDOU = F2 01
MUS_RG_T_MORI = F3 01
MUS_RG_OTSUKIMI = F4 01
MUS_RG_POKEYASHI = F5 01
MUS_RG_ENDING = F6 01
MUS_RG_LOAD01 = F7 01
MUS_RG_OPENING = F8 01
MUS_RG_LOAD02 = F9 01
MUS_RG_LOAD03 = FA 01
MUS_RG_CHAMP_R = FB 01
MUS_RG_VS_GYM = FC 01
MUS_RG_VS_TORE = FD 01
MUS_RG_VS_YASEI = FE 01
MUS_RG_VS_LAST = FF 01
MUS_RG_MASARA = 00 02
MUS_RG_KENKYU = 01 02
MUS_RG_OHKIDO = 02 02
MUS_RG_POKECEN = 03 02
MUS_RG_SANTOAN = 04 02
MUS_RG_NAMINORI = 05 02
MUS_RG_P_TOWER = 06 02
MUS_RG_SHIRUHU = 07 02
MUS_RG_HANADA = 08 02
MUS_RG_TAMAMUSI = 09 02
MUS_RG_WIN_TRE = 0A 02
MUS_RG_WIN_YASEI = 0B 02
MUS_RG_WIN_GYM = 0C 02
MUS_RG_KUCHIBA = 0D 02
MUS_RG_NIBI = 0E 02
MUS_RG_RIVAL1 = 0F 02
MUS_RG_RIVAL2 = 10 02
MUS_RG_FAN2 = 11 02
MUS_RG_FAN5 = 12 02
MUS_RG_FAN6 = 13 02
MUS_ME_RG_PHOTO = 14 02
MUS_RG_TITLEROG = 15 02
MUS_RG_GET_YASEI = 16 02
MUS_RG_SOUSA = 17 02
MUS_RG_SEKAIKAN = 18 02
MUS_RG_SEIBETU = 19 02
MUS_RG_JUMP = 1A 02
MUS_RG_UNION = 1B 02
MUS_RG_NETWORK = 1C 02
MUS_RG_OKURIMONO = 1D 02
MUS_RG_KINOMIKUI = 1E 02
MUS_RG_NANADUNGEON = 1F 02
MUS_RG_OSHIE_TV = 20 02
MUS_RG_NANASHIMA = 21 02
MUS_RG_NANAISEKI = 22 02
MUS_RG_NANA123 = 23 02
MUS_RG_NANA45 = 24 02
MUS_RG_NANA67 = 25 02
MUS_RG_POKEFUE = 26 02
MUS_RG_VS_DEO = 27 02
MUS_RG_VS_MYU2 = 28 02
MUS_RG_VS_DEN = 29 02
MUS_RG_EXEYE = 2A 02
MUS_RG_DEOEYE = 2B 02
MUS_RG_T_TOWER = 2C 02
MUS_RG_SLOWMASARA = 2D 02
MUS_RG_TVNOIZE = 2E 02
MUS_RG_ENCOUNTER_ROCKET = EF 01
MUS_RG_ENCOUNTER_GIRL = F0 01
MUS_RG_ENCOUNTER_BOY = F1 01
MUS_RG_HALL_OF_FAME = F2 01
MUS_RG_VIRIDIAN_FOREST = F3 01
MUS_RG_MT_MOON = F4 01
MUS_RG_POKE_MANSION = F5 01
MUS_RG_CREDITS = F6 01
MUS_RG_ROUTE1 = F7 01
MUS_RG_ROUTE24 = F8 01
MUS_RG_ROUTE3 = F9 01
MUS_RG_ROUTE11 = FA 01
MUS_RG_VICTORY_ROAD = FB 01
MUS_RG_VS_GYM_LEADER = FC 01
MUS_RG_VS_TRAINER = FD 01
MUS_RG_VS_WILD = FE 01
MUS_RG_VS_CHAMPION = FF 01
MUS_RG_PALLET = 00 02
MUS_RG_OAK_LAB = 01 02
MUS_RG_OAK = 02 02
MUS_RG_POKE_CENTER = 03 02
MUS_RG_SS_ANNE = 04 02
MUS_RG_SURF = 05 02
MUS_RG_POKE_TOWER = 06 02
MUS_RG_SILPH = 07 02
MUS_RG_FUCHSIA = 08 02
MUS_RG_CELADON = 09 02
MUS_RG_VICTORY_TRAINER = 0A 02
MUS_RG_VICTORY_WILD = 0B 02
MUS_RG_VICTORY_GYM_LEADER = 0C 02
MUS_RG_VERMILLION = 0D 02
MUS_RG_PEWTER = 0E 02
MUS_RG_ENCOUNTER_RIVAL = 0F 02
MUS_RG_RIVAL_EXIT = 10 02
MUS_RG_DEX_RATING = 11 02
MUS_RG_OBTAIN_KEY_ITEM = 12 02
MUS_RG_CAUGHT_INTRO = 13 02
MUS_RG_PHOTO = 14 02
MUS_RG_GAME_FREAK = 15 02
MUS_RG_CAUGHT = 16 02
MUS_RG_NEW_GAME_INSTRUCT = 17 02
MUS_RG_NEW_GAME_INTRO = 18 02
MUS_RG_NEW_GAME_EXIT = 19 02
MUS_RG_POKE_JUMP = 1A 02
MUS_RG_UNION_ROOM = 1B 02
MUS_RG_NET_CENTER = 1C 02
MUS_RG_MYSTERY_GIFT = 1D 02
MUS_RG_BERRY_PICK = 1E 02
MUS_RG_SEVII_CAVE = 1F 02
MUS_RG_TEACHY_TV_SHOW = 20 02
MUS_RG_SEVII_ROUTE = 21 02
MUS_RG_SEVII_DUNGEON = 22 02
MUS_RG_SEVII_123 = 23 02
MUS_RG_SEVII_45 = 24 02
MUS_RG_SEVII_67 = 25 02
MUS_RG_POKE_FLUTE = 26 02
MUS_RG_VS_DEOXYS = 27 02
MUS_RG_VS_MEWTWO = 28 02
MUS_RG_VS_LEGEND = 29 02
MUS_RG_ENCOUNTER_GYM_LEADER = 2A 02
MUS_RG_ENCOUNTER_DEOXYS = 2B 02
MUS_RG_TRAINER_TOWER = 2C 02
MUS_RG_SLOW_PALLET = 2D 02
MUS_RG_TEACHY_TV_MENU = 2E 02
PH_TRAP_BLEND = 2F 02
PH_TRAP_HELD = 30 02
PH_TRAP_SOLO = 31 02
-3
View File
@@ -1,3 +0,0 @@
gUnknown_030062DC
gUnknown_030062E0
gUnknown_030062E4
+3
View File
@@ -0,0 +1,3 @@
gMonShrinkDuration
gMonShrinkDelta
gMonShrinkDistance
+1 -1
View File
@@ -1 +1 @@
gUnknown_03006298
gFrontierTempParty
+10 -12
View File
@@ -3,18 +3,18 @@ gLinkDebugSeed
gLocalLinkPlayerBlock
gLinkErrorOccurred
gLinkDebugFlags
gFiller_03003074
gLinkFiller1
gRemoteLinkPlayersNotReceived
gBlockReceivedStatus
gFiller_03003080
gLinkFiller2
gLinkHeldKeys
gRecvCmds
gLinkStatus
gUnknown_030030E4
gUnknown_030030E8
gUnknown_030030EC
gUnknown_030030F0
gUnknown_030030F4
gLinkDummy1
gLinkDummy2
gReadyToExitStandby
gReadyToCloseLink
gReadyCloseLinkType
gSuppressLinkErrorMessage
gWirelessCommType
gSavedLinkPlayerCount
@@ -26,12 +26,10 @@ gLinkCallback
gShouldAdvanceLinkState
gLinkTestBlockChecksums
gBlockRequestType
gFiller_03003154
gFiller_03003158
gFiller_0300315c
gLinkFiller3
gLinkFiller4
gLinkFiller5
gLastSendQueueCount
gLink
gLastRecvQueueCount
gLinkSavedIme
gFiller_03004138
gFiller_0300413C
-2
View File
@@ -1,4 +1,2 @@
.include "constants/gba_constants.inc"
.include "constants/global.inc"
.include "constants/contest_constants.inc"
.include "constants/contest_move_effects.inc"
-68
View File
@@ -1,68 +0,0 @@
.set CONTEST_COOL, 0x00
.set CONTEST_BEAUTY, 0x01
.set CONTEST_CUTE, 0x02
.set CONTEST_SMART, 0x03
.set CONTEST_TOUGH, 0x04
.set COMBO_STARTER_RAIN_DANCE, 0x01
.set COMBO_STARTER_RAGE, 0x02
.set COMBO_STARTER_FOCUS_ENERGY, 0x03
.set COMBO_STARTER_HYPNOSIS, 0x04
.set COMBO_STARTER_ENDURE, 0x05
.set COMBO_STARTER_HORN_ATTACK, 0x06
.set COMBO_STARTER_SWORDS_DANCE, 0x07
.set COMBO_STARTER_STOCKPILE, 0x08
.set COMBO_STARTER_SUNNY_DAY, 0x09
.set COMBO_STARTER_REST, 0x0A
.set COMBO_STARTER_VICE_GRIP, 0x0B
.set COMBO_STARTER_DEFENSE_CURL, 0x0C
.set COMBO_STARTER_CHARGE, 0x0D
.set COMBO_STARTER_ROCK_THROW, 0x0E
.set COMBO_STARTER_YAWN, 0x0F
.set COMBO_STARTER_SCARY_FACE, 0x10
.set COMBO_STARTER_POWDER_SNOW, 0x11
.set COMBO_STARTER_LOCK_ON, 0x12
.set COMBO_STARTER_SOFT_BOILED, 0x13
.set COMBO_STARTER_MEAN_LOOK, 0x14
.set COMBO_STARTER_SCRATCH, 0x15
.set COMBO_STARTER_GROWTH, 0x16
.set COMBO_STARTER_HAIL, 0x17
.set COMBO_STARTER_SANDSTORM, 0x18
.set COMBO_STARTER_BELLY_DRUM, 0x19
.set COMBO_STARTER_MIND_READER, 0x1A
.set COMBO_STARTER_DRAGON_BREATH, 0x1B
.set COMBO_STARTER_DRAGON_RAGE, 0x1C
.set COMBO_STARTER_DRAGON_DANCE, 0x1D
.set COMBO_STARTER_SURF, 0x1E
.set COMBO_STARTER_DIVE, 0x1F
.set COMBO_STARTER_STRING_SHOT, 0x20
.set COMBO_STARTER_LEER, 0x21
.set COMBO_STARTER_TAUNT, 0x22
.set COMBO_STARTER_CHARM, 0x23
.set COMBO_STARTER_HARDEN, 0x24
.set COMBO_STARTER_SING, 0x25
.set COMBO_STARTER_EARTHQUAKE, 0x26
.set COMBO_STARTER_DOUBLE_TEAM, 0x27
.set COMBO_STARTER_CURSE, 0x28
.set COMBO_STARTER_SWEET_SCENT, 0x29
.set COMBO_STARTER_SLUDGE, 0x2A
.set COMBO_STARTER_SLUDGE_BOMB, 0x2B
.set COMBO_STARTER_THUNDER_PUNCH, 0x2C
.set COMBO_STARTER_FIRE_PUNCH, 0x2D
.set COMBO_STARTER_ICE_PUNCH, 0x2E
.set COMBO_STARTER_PECK, 0x2F
.set COMBO_STARTER_METAL_SOUND, 0x30
.set COMBO_STARTER_MUD_SPORT, 0x31
.set COMBO_STARTER_WATER_SPORT, 0x32
.set COMBO_STARTER_BONE_CLUB, 0x33
.set COMBO_STARTER_BONEMERANG, 0x34
.set COMBO_STARTER_BONE_RUSH, 0x35
.set COMBO_STARTER_SAND_ATTACK, 0x36
.set COMBO_STARTER_MUD_SLAP, 0x37
.set COMBO_STARTER_FAKE_OUT, 0x38
.set COMBO_STARTER_PSYCHIC, 0x39
.set COMBO_STARTER_KINESIS, 0x3A
.set COMBO_STARTER_CONFUSION, 0x3B
.set COMBO_STARTER_POUND, 0x3C
.set COMBO_STARTER_SMOG, 0x3D
.set COMBO_STARTER_CALM_MIND, 0x3E
-49
View File
@@ -1,49 +0,0 @@
enum_start
enum CONTEST_EFFECT_HIGHLY_APPEALING @ 0
enum CONTEST_EFFECT_USER_MORE_EASILY_STARTLED @ 1
enum CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES @ 2
enum CONTEST_EFFECT_REPETITION_NOT_BORING @ 3
enum CONTEST_EFFECT_AVOID_STARTLE_ONCE @ 4
enum CONTEST_EFFECT_AVOID_STARTLE @ 5
enum CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY @ 6
enum CONTEST_EFFECT_USER_LESS_EASILY_STARTLED @ 7
enum CONTEST_EFFECT_STARTLE_FRONT_MON @ 8
enum CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS @ 9
enum CONTEST_EFFECT_STARTLE_PREV_MON @ 10
enum CONTEST_EFFECT_STARTLE_PREV_MONS @ 11
enum CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON @ 12
enum CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS @ 13
enum CONTEST_EFFECT_STARTLE_PREV_MON_2 @ 14
enum CONTEST_EFFECT_STARTLE_PREV_MONS_2 @ 15
enum CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION @ 16
enum CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION @ 17
enum CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN @ 18
enum CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL @ 19
enum CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL @ 20
enum CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL @ 21
enum CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL @ 22
enum CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL @ 23
enum CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL @ 24
enum CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS @ 25
enum CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS @ 26
enum CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS @ 27
enum CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION @ 28
enum CONTEST_EFFECT_BETTER_IF_FIRST @ 29
enum CONTEST_EFFECT_BETTER_IF_LAST @ 30
enum CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES @ 31
enum CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE @ 32
enum CONTEST_EFFECT_BETTER_WHEN_LATER @ 33
enum CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING @ 34
enum CONTEST_EFFECT_BETTER_IF_SAME_TYPE @ 35
enum CONTEST_EFFECT_BETTER_IF_DIFF_TYPE @ 36
enum CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL @ 37
enum CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS @ 38
enum CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION @ 39
enum CONTEST_EFFECT_NEXT_APPEAL_EARLIER @ 40
enum CONTEST_EFFECT_NEXT_APPEAL_LATER @ 41
enum CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER @ 42
enum CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER @ 43
enum CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST @ 44
enum CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS @ 45
enum CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED @ 46
enum CONTEST_EFFECT_DONT_EXCITE_AUDIENCE @ 47
+209 -90
View File
@@ -12,16 +12,16 @@
.align 2
gBattleAI_ScriptsTable:: @ 82DBEF8
.4byte AI_CheckBadMove
.4byte AI_TryToFaint
.4byte AI_CheckViability
.4byte AI_SetupFirstTurn
.4byte AI_Risky
.4byte AI_PreferStrongestMove
.4byte AI_PreferBatonPass
.4byte AI_DoubleBattle
.4byte AI_HPAware
.4byte AI_Unknown
.4byte AI_CheckBadMove @ AI_SCRIPT_CHECK_BAD_MOVE
.4byte AI_TryToFaint @ AI_SCRIPT_TRY_TO_FAINT
.4byte AI_CheckViability @ AI_SCRIPT_CHECK_VIABILITY
.4byte AI_SetupFirstTurn @ AI_SCRIPT_SETUP_FIRST_TURN
.4byte AI_Risky @ AI_SCRIPT_RISKY
.4byte AI_PreferStrongestMove @ AI_SCRIPT_PREFER_STRONGEST_MOVE
.4byte AI_PreferBatonPass @ AI_SCRIPT_PREFER_BATON_PASS
.4byte AI_DoubleBattle @ AI_SCRIPT_DOUBLE_BATTLE
.4byte AI_HPAware @ AI_SCRIPT_HP_AWARE
.4byte AI_Unknown @ AI_SCRIPT_UNKNOWN
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
@@ -41,14 +41,14 @@ gBattleAI_ScriptsTable:: @ 82DBEF8
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Ret
.4byte AI_Roaming
.4byte AI_Safari
.4byte AI_FirstBattle
.4byte AI_Roaming @ AI_SCRIPT_ROAMING
.4byte AI_Safari @ AI_SCRIPT_SAFARI
.4byte AI_FirstBattle @ AI_SCRIPT_FIRST_BATTLE
AI_CheckBadMove:
if_target_is_ally AI_Ret
@ Check powder moves
if_move_flag FLAG_POWDER AI_CBM_PowderMoves
if_move_flag FLAG_POWDER, AI_CBM_PowderMoves
goto AI_CBM_CheckIfNegatesType
AI_CBM_PowderMoves:
if_type AI_TARGET, TYPE_GRASS, Score_Minus10
@@ -67,6 +67,7 @@ AI_CBM_CheckIfNegatesType:
if_equal ABILITY_LIGHTNING_ROD, CheckIfVoltAbsorbCancelsElectric
if_equal ABILITY_MOTOR_DRIVE, CheckIfVoltAbsorbCancelsElectric
if_equal ABILITY_WATER_ABSORB, CheckIfWaterAbsorbCancelsWater
if_equal ABILITY_STORM_DRAIN, CheckIfWaterAbsorbCancelsWater
if_equal ABILITY_DRY_SKIN, CheckIfWaterAbsorbCancelsWater
if_equal ABILITY_FLASH_FIRE, CheckIfFlashFireCancelsFire
if_equal ABILITY_WONDER_GUARD, CheckIfWonderGuardCancelsMove
@@ -246,7 +247,7 @@ AI_CheckBadMove_CheckEffect: @ 82DC045
if_effect EFFECT_PSYCHO_SHIFT, AI_CBM_PsychicShift
if_effect EFFECT_DEFOG, AI_CBM_Defog
if_effect EFFECT_SYNCHRONOISE, AI_CBM_Synchronoise
if_effect EFFECT_AUTONOMIZE, AI_CBM_SpeedUp
if_effect EFFECT_AUTOTOMIZE, AI_CBM_SpeedUp
if_effect EFFECT_TOXIC_THREAD, AI_CBM_ToxicThread
if_effect EFFECT_VENOM_DRENCH, AI_CBM_VenomDrench
if_effect EFFECT_DEFENSE_UP_3, AI_CBM_DefenseUp
@@ -264,6 +265,33 @@ AI_CheckBadMove_CheckEffect: @ 82DC045
if_effect EFFECT_GEOMANCY, AI_CBM_QuiverDance
if_effect EFFECT_FAIRY_LOCK, AI_CBM_FairyLock
if_effect EFFECT_ALLY_SWITCH, AI_CBM_HelpingHand
if_effect EFFECT_TRICK_ROOM, AI_CBM_TrickRoom
if_effect EFFECT_WONDER_ROOM, AI_CBM_WonderRoom
if_effect EFFECT_MAGIC_ROOM, AI_CBM_MagicRoom
if_effect EFFECT_SOAK, AI_CBM_Soak
if_effect EFFECT_LOCK_ON, AI_CBM_LockOn
end
AI_CBM_LockOn:
if_status3 AI_TARGET, STATUS3_ALWAYS_HITS, Score_Minus10
if_ability AI_TARGET, ABILITY_NO_GUARD, Score_Minus10
if_ability AI_USER, ABILITY_NO_GUARD, Score_Minus10
end
AI_CBM_Soak:
if_type AI_TARGET, TYPE_WATER, Score_Minus10
end
AI_CBM_TrickRoom:
if_field_status STATUS_FIELD_TRICK_ROOM, Score_Minus10
end
AI_CBM_WonderRoom:
if_field_status STATUS_FIELD_WONDER_ROOM, Score_Minus10
end
AI_CBM_MagicRoom:
if_field_status STATUS_FIELD_MAGIC_ROOM, Score_Minus10
end
AI_CBM_FairyLock:
@@ -481,19 +509,25 @@ AI_CBM_Gravity:
if_field_status STATUS_FIELD_GRAVITY, Score_Minus10
end
@ Don't use hazards if target side has no mons to switch
AI_CBM_Hazards:
count_usable_party_mons AI_TARGET
if_equal 0, Score_Minus10
end
AI_CBM_ToxicSpikes:
if_not_side_affecting AI_TARGET, SIDE_STATUS_TOXIC_SPIKES, AI_Ret
get_hazards_count AI_TARGET, EFFECT_TOXIC_SPIKES
if_equal 2, Score_Minus10
end
goto AI_CBM_Hazards
AI_CBM_StealthRock:
if_side_affecting AI_TARGET, SIDE_STATUS_STEALTH_ROCK, Score_Minus10
end
goto AI_CBM_Hazards
AI_CBM_StickyWeb:
if_side_affecting AI_TARGET, SIDE_STATUS_STICKY_WEB, Score_Minus10
end
goto AI_CBM_Hazards
AI_CBM_Sleep: @ 82DC2D4
get_ability AI_TARGET
@@ -537,11 +571,11 @@ AI_CBM_AttackUp: @ 82DC348
end
AI_CBM_DefenseUp: @ 82DC351
if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_DEF, MAX_STAT_STAGE, Score_Minus10
end
AI_CBM_SpeedUp: @ 82DC35A
if_stat_level_equal AI_USER, STAT_SPEED, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPEED, MAX_STAT_STAGE, Score_Minus10
end
AI_CBM_SpAtkUp: @ 82DC363
@@ -552,19 +586,19 @@ AI_CBM_SpAtkUp: @ 82DC363
end
AI_CBM_SpDefUp: @ 82DC36C
if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPDEF, MAX_STAT_STAGE, Score_Minus10
end
AI_CBM_AccUp: @ 82DC375
if_stat_level_equal AI_USER, STAT_ACC, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_ACC, MAX_STAT_STAGE, Score_Minus10
end
AI_CBM_EvasionUp: @ 82DC37E
if_stat_level_equal AI_USER, STAT_EVASION, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_EVASION, MAX_STAT_STAGE, Score_Minus10
end
AI_CBM_AttackDown: @ 82DC387
if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_ATK, MIN_STAT_STAGE, Score_Minus10
get_ability AI_TARGET
if_equal ABILITY_HYPER_CUTTER, Score_Minus10
goto CheckIfAbilityBlocksStatChange
@@ -576,26 +610,26 @@ AI_CBM_DefenseDown: @ 82DC39C
goto CheckIfAbilityBlocksStatChange
AI_CBM_SpeedDown: @ 82DC3A9
if_stat_level_equal AI_TARGET, STAT_SPEED, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_SPEED, MIN_STAT_STAGE, Score_Minus10
if_ability AI_TARGET, ABILITY_SPEED_BOOST, Score_Minus10
goto CheckIfAbilityBlocksStatChange
AI_CBM_SpAtkDown: @ 82DC3BF
if_stat_level_equal AI_TARGET, STAT_SPATK, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_SPATK, MIN_STAT_STAGE, Score_Minus10
goto CheckIfAbilityBlocksStatChange
AI_CBM_SpDefDown: @ 82DC3CC
if_stat_level_equal AI_TARGET, STAT_SPDEF, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_SPDEF, MIN_STAT_STAGE, Score_Minus10
goto CheckIfAbilityBlocksStatChange
AI_CBM_AccDown: @ 82DC3D9
if_stat_level_equal AI_TARGET, STAT_ACC, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_ACC, MIN_STAT_STAGE, Score_Minus10
get_ability AI_TARGET
if_equal ABILITY_KEEN_EYE, Score_Minus10
goto CheckIfAbilityBlocksStatChange
AI_CBM_EvasionDown: @ 82DC3EE
if_stat_level_equal AI_TARGET, STAT_EVASION, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_EVASION, MIN_STAT_STAGE, Score_Minus10
CheckIfAbilityBlocksStatChange: @ 82DC3F6
get_ability AI_TARGET
@@ -604,20 +638,20 @@ CheckIfAbilityBlocksStatChange: @ 82DC3F6
end
AI_CBM_Haze: @ 82DC405
if_stat_level_less_than AI_USER, STAT_ATK, 6, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_DEF, 6, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_SPEED, 6, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_SPATK, 6, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_SPDEF, 6, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_ACC, 6, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_EVASION, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_ATK, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_DEF, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_SPEED, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_SPATK, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_SPDEF, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_ACC, 6, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_EVASION, 6, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_ATK, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_DEF, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_SPEED, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_SPATK, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_SPDEF, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_ACC, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
if_stat_level_less_than AI_USER, STAT_EVASION, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_ATK, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_DEF, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_SPEED, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_SPATK, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_SPDEF, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_ACC, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
if_stat_level_more_than AI_TARGET, STAT_EVASION, DEFAULT_STAT_STAGE, AI_CBM_Haze_End
goto Score_Minus10
AI_CBM_Haze_End: @ 82DC47A
@@ -703,10 +737,7 @@ AI_CBM_Substitute: @ 82DC568
AI_CBM_LeechSeed: @ 82DC57A
if_status3 AI_TARGET, STATUS3_LEECHSEED, Score_Minus10
get_target_type1
if_equal TYPE_GRASS, Score_Minus10
get_target_type2
if_equal TYPE_GRASS, Score_Minus10
if_type AI_TARGET, TYPE_GRASS, Score_Minus10
end
AI_CBM_Disable: @ 82DC595
@@ -728,11 +759,12 @@ AI_CBM_CantEscape: @ 82DC5B0
end
AI_CBM_Curse: @ 82DC5BB
if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus8
if_stat_level_equal AI_USER, STAT_ATK, MAX_STAT_STAGE, Score_Minus10
if_stat_level_equal AI_USER, STAT_DEF, MAX_STAT_STAGE, Score_Minus8
end
AI_CBM_Spikes: @ 82DC5CC
call AI_CBM_Hazards
if_not_side_affecting AI_TARGET, SIDE_STATUS_SPIKES, AI_Ret
get_hazards_count AI_TARGET, EFFECT_SPIKES
if_equal 3, Score_Minus10
@@ -786,8 +818,8 @@ AI_CBM_Safeguard: @ 82DC635
end
AI_CBM_Memento: @ 82DC640
if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_SPATK, 0, Score_Minus8
if_stat_level_equal AI_TARGET, STAT_ATK, MIN_STAT_STAGE, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_SPATK, MIN_STAT_STAGE, Score_Minus8
AI_CBM_BatonPass: @ 82DC650
count_usable_party_mons AI_USER
@@ -839,10 +871,9 @@ AI_CBM_WillOWisp: @ 82DC6B4
get_ability AI_TARGET
if_equal ABILITY_WATER_VEIL, Score_Minus10
if_equal ABILITY_FLARE_BOOST, Score_Minus10
if_equal ABILITY_FLASH_FIRE, Score_Minus10
if_status AI_TARGET, STATUS1_ANY, Score_Minus10
if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
if_type_effectiveness AI_EFFECTIVENESS_x0_5, Score_Minus10
if_type_effectiveness AI_EFFECTIVENESS_x0_25, Score_Minus10
if_type AI_TARGET, TYPE_FIRE, Score_Minus10
if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10
end
@@ -878,18 +909,18 @@ AI_CBM_MudSport: @ 82DC71E
end
AI_CBM_Tickle: @ 82DC729
if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_DEF, 0, Score_Minus8
if_stat_level_equal AI_TARGET, STAT_ATK, MIN_STAT_STAGE, Score_Minus10
if_stat_level_equal AI_TARGET, STAT_DEF, MIN_STAT_STAGE, Score_Minus8
end
AI_CBM_CosmicPower: @ 82DC73A
if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus8
if_stat_level_equal AI_USER, STAT_DEF, MAX_STAT_STAGE, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPDEF, MAX_STAT_STAGE, Score_Minus8
end
AI_CBM_BulkUp: @ 82DC74B
if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus8
if_stat_level_equal AI_USER, STAT_ATK, MAX_STAT_STAGE, Score_Minus10
if_stat_level_equal AI_USER, STAT_DEF, MAX_STAT_STAGE, Score_Minus8
end
AI_CBM_WaterSport: @ 82DC75C
@@ -897,13 +928,13 @@ AI_CBM_WaterSport: @ 82DC75C
end
AI_CBM_CalmMind: @ 82DC767
if_stat_level_equal AI_USER, STAT_SPATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus8
if_stat_level_equal AI_USER, STAT_SPATK, MAX_STAT_STAGE, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPDEF, MAX_STAT_STAGE, Score_Minus8
end
AI_CBM_DragonDance: @ 82DC778
if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPEED, 12, Score_Minus8
if_stat_level_equal AI_USER, STAT_ATK, MAX_STAT_STAGE, Score_Minus10
if_stat_level_equal AI_USER, STAT_SPEED, MAX_STAT_STAGE, Score_Minus8
end
Score_Minus1:
@@ -991,6 +1022,17 @@ AI_WeakDmg:
if_equal MOVE_POWER_BEST, Score_Minus2
score -3
end
AI_DiscourageMagicGuard:
if_no_ability AI_TARGET, ABILITY_MAGIC_GUARD, AI_DiscourageMagicGuardEnd
if_effect EFFECT_POISON, Score_Minus5
if_effect EFFECT_WILL_O_WISP, Score_Minus5
if_effect EFFECT_TOXIC, Score_Minus5
if_effect EFFECT_LEECH_SEED, Score_Minus5
if_no_type AI_TARGET, TYPE_GHOST, AI_DiscourageMagicGuardEnd
if_effect EFFECT_CURSE, Score_Minus5
AI_DiscourageMagicGuardEnd:
end
AI_CheckViability:
if_target_is_ally AI_Ret
@@ -999,6 +1041,7 @@ AI_CheckViability:
call AI_CheckIfAlreadyDead
call AI_CV_DmgMove
call AI_WeakDmg
call AI_DiscourageMagicGuard
if_effect EFFECT_HIT, AI_CV_Hit
if_effect EFFECT_SLEEP, AI_CV_Sleep
if_effect EFFECT_ABSORB, AI_CV_Absorb
@@ -1065,9 +1108,9 @@ AI_CheckViability:
if_effect EFFECT_COUNTER, AI_CV_Counter
if_effect EFFECT_ENCORE, AI_CV_Encore
if_effect EFFECT_PAIN_SPLIT, AI_CV_PainSplit
if_effect EFFECT_SNORE, AI_CV_Snore
if_effect EFFECT_LOCK_ON, AI_CV_LockOn
if_effect EFFECT_SLEEP_TALK, AI_CV_SleepTalk
if_effect EFFECT_SNORE, AI_CV_SleepTalk
if_effect EFFECT_DESTINY_BOND, AI_CV_DestinyBond
if_effect EFFECT_FLAIL, AI_CV_Flail
if_effect EFFECT_HEAL_BELL, AI_CV_HealBell
@@ -1091,6 +1134,7 @@ AI_CheckViability:
if_effect EFFECT_MIRROR_COAT, AI_CV_MirrorCoat
if_effect EFFECT_SKULL_BASH, AI_CV_ChargeUpMove
if_effect EFFECT_SOLARBEAM, AI_CV_ChargeUpMove
if_effect EFFECT_GEOMANCY, AI_CV_Geomancy
if_effect EFFECT_SEMI_INVULNERABLE, AI_CV_SemiInvulnerable
if_effect EFFECT_SOFTBOILED, AI_CV_Heal
if_effect EFFECT_FAKE_OUT, AI_CV_FakeOut
@@ -1159,15 +1203,15 @@ AI_CV_PerishSong_ShadowTag:
goto AI_CV_PerishSongCheckTrap
AI_CV_Hazards:
if_ability AI_TARGET, ABILITY_MAGIC_BOUNCE, AI_CV_StealthRockEnd
if_ability AI_TARGET, ABILITY_MAGIC_BOUNCE, AI_CV_HzardsEnd
is_first_turn_for AI_USER
if_equal 0, AI_CV_StealthRockEnd
if_equal 0, AI_CV_HzardsEnd
score +2
AI_CV_StealthRockEnd:
AI_CV_HzardsEnd:
end
AI_CV_StealthRock2:
score -2
goto AI_CV_StealthRockEnd
goto AI_CV_HzardsEnd
AI_CV_MistyTerrain:
call AI_CV_TerrainExpander
@@ -1520,7 +1564,7 @@ AI_CV_EvasionUp7:
AI_CV_EvasionUp8:
if_hp_more_than AI_USER, 70, AI_CV_EvasionUp_End
if_stat_level_equal AI_USER, STAT_EVASION, 6, AI_CV_EvasionUp_End
if_stat_level_equal AI_USER, STAT_EVASION, DEFAULT_STAT_STAGE, AI_CV_EvasionUp_End
if_hp_less_than AI_USER, 40, AI_CV_EvasionUp_ScoreDown2
if_hp_less_than AI_TARGET, 40, AI_CV_EvasionUp_ScoreDown2
if_random_less_than 70, AI_CV_EvasionUp_End
@@ -1549,7 +1593,7 @@ AI_CV_AlwaysHit_End:
end
AI_CV_AttackDown: @ 82DCDF8
if_stat_level_equal AI_TARGET, STAT_ATK, 6, AI_CV_AttackDown3
if_stat_level_equal AI_TARGET, STAT_ATK, DEFAULT_STAT_STAGE, AI_CV_AttackDown3
score -1
if_hp_more_than AI_USER, 90, AI_CV_AttackDown2
score -1
@@ -1615,7 +1659,7 @@ AI_CV_SpeedDown_End: @ 82DCE96
end
AI_CV_SpAtkDown:
if_stat_level_equal AI_TARGET, STAT_ATK, 6, AI_CV_SpAtkDown3
if_stat_level_equal AI_TARGET, STAT_ATK, DEFAULT_STAT_STAGE, AI_CV_SpAtkDown3
score -1
if_hp_more_than AI_USER, 90, AI_CV_SpAtkDown2
score -1
@@ -1701,7 +1745,7 @@ AI_CV_AccuracyDown7:
AI_CV_AccuracyDown8:
if_hp_more_than AI_USER, 70, AI_CV_AccuracyDown_End
if_stat_level_equal AI_TARGET, STAT_ACC, 6, AI_CV_AccuracyDown_End
if_stat_level_equal AI_TARGET, STAT_ACC, DEFAULT_STAT_STAGE, AI_CV_AccuracyDown_End
if_hp_less_than AI_USER, 40, AI_CV_AccuracyDown_ScoreDown2
if_hp_less_than AI_TARGET, 40, AI_CV_AccuracyDown_ScoreDown2
if_random_less_than 70, AI_CV_AccuracyDown_End
@@ -1939,6 +1983,7 @@ AI_CV_Rest_End:
end
AI_CV_OneHitKO:
if_status3 AI_TARGET, STATUS3_ALWAYS_HITS, Score_Plus5
end
AI_CV_SuperFang:
@@ -2003,6 +2048,9 @@ AI_CV_FocusEnergy2:
goto AI_CV_FocusEnergy3
AI_CV_Swagger:
if_doesnt_have_move_with_effect AI_USER, EFFECT_FOUL_PLAY, AI_CV_Swagger2
score +1
AI_CV_Swagger2:
if_has_move AI_USER, MOVE_PSYCH_UP, AI_CV_SwaggerHasPsychUp
AI_CV_Flatter:
@@ -2355,19 +2403,39 @@ AI_CV_PainSplit_ScoreDown1:
AI_CV_PainSplit_End:
end
AI_CV_Snore:
score +2
AI_EncourageIfHasOHKO:
if_level_cond 1, AI_EncourageIfHasOHKORet
if_has_move_with_effect AI_USER, EFFECT_OHKO, Score_Plus3
AI_EncourageIfHasOHKORet:
end
AI_EncourageIfHasLowAccuracyMove:
if_ability AI_USER, ABILITY_COMPOUND_EYES, AI_EncourageIfHasVeryLowAccuracyMove
get_hold_effect AI_USER
if_equal HOLD_EFFECT_WIDE_LENS, AI_EncourageIfHasVeryLowAccuracyMove
if_equal HOLD_EFFECT_ZOOM_LENS, AI_EncourageIfHasVeryLowAccuracyMove
if_has_move_with_accuracy_lt AI_USER, 86, Score_Plus3
if_has_move_with_accuracy_lt AI_USER, 91, Score_Plus1
goto Score_Minus1
AI_EncourageIfHasVeryLowAccuracyMove:
if_has_move_with_accuracy_lt AI_USER, 81, Score_Plus3
if_has_move_with_accuracy_lt AI_USER, 86, Score_Plus1
goto Score_Minus1
AI_CV_LockOn:
call AI_EncourageIfHasOHKO
call AI_EncourageIfHasLowAccuracyMove
AI_CV_LockOn2:
if_random_less_than 128, AI_CV_LockOn_End
score +2
score +1
AI_CV_LockOn_End:
end
AI_CV_SleepTalk:
is_wakeup_turn AI_USER
if_equal 1, Score_Minus5
if_status AI_USER, STATUS1_SLEEP, Score_Plus10
score -5
end
@@ -2825,8 +2893,15 @@ AI_CV_MirrorCoat_ScoreDown1:
AI_CV_MirrorCoat_End:
end
AI_CV_Geomancy:
get_hold_effect AI_USER
if_equal HOLD_EFFECT_POWER_HERB, AI_CV_ChargeUpMove_ScoreUp2
end
AI_CV_ChargeUpMove:
get_hold_effect AI_USER
if_equal HOLD_EFFECT_POWER_HERB, AI_CV_ChargeUpMove_ScoreUp2
if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_ChargeUpMove_ScoreDown2
if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_ChargeUpMove_ScoreDown2
if_has_move_with_effect AI_TARGET, EFFECT_PROTECT, AI_CV_ChargeUpMove_ScoreDown2
@@ -2839,8 +2914,13 @@ AI_CV_ChargeUpMove_ScoreDown2:
AI_CV_ChargeUpMove_End:
end
AI_CV_ChargeUpMove_ScoreUp2:
score +2
goto AI_CV_ChargeUpMove_End
AI_CV_SemiInvulnerable:
get_hold_effect AI_USER
if_equal HOLD_EFFECT_POWER_HERB, AI_CV_ChargeUpMove_ScoreUp2
if_doesnt_have_move_with_effect AI_TARGET, EFFECT_PROTECT, AI_CV_SemiInvulnerable2
score -1
goto AI_CV_SemiInvulnerable_End
@@ -3103,7 +3183,7 @@ AI_CV_ChangeSelfAbility_AbilitiesToEncourage:
AI_CV_Superpower:
if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_Superpower_ScoreDown1
if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_Superpower_ScoreDown1
if_stat_level_less_than AI_USER, STAT_ATK, 6, AI_CV_Superpower_ScoreDown1
if_stat_level_less_than AI_USER, STAT_ATK, DEFAULT_STAT_STAGE, AI_CV_Superpower_ScoreDown1
if_target_faster AI_CV_Superpower2
if_hp_more_than AI_USER, 40, AI_CV_Superpower_ScoreDown1
goto AI_CV_Superpower_End
@@ -3359,7 +3439,7 @@ AI_TryToFaint_DoubleSuperEffective:
AI_TryToFaint_Can:
if_effect EFFECT_EXPLOSION, AI_TryToFaint_CheckIfDanger
if_user_faster AI_TryToFaint_ScoreUp4
if_move_flag FLAG_HIGH_CRIT AI_TryToFaint_ScoreUp4
if_move_flag FLAG_HIGH_CRIT, AI_TryToFaint_ScoreUp4
score +2
goto AI_TryToFaint_CheckIfDanger
AI_TryToFaint_ScoreUp4:
@@ -3442,7 +3522,7 @@ AI_SetupFirstTurn_SetupEffectsToEncourage:
.2byte EFFECT_BULK_UP
.2byte EFFECT_CALM_MIND
.2byte EFFECT_ACUPRESSURE
.2byte EFFECT_AUTONOMIZE
.2byte EFFECT_AUTOTOMIZE
.2byte EFFECT_SHIFT_GEAR
.2byte EFFECT_SHELL_SMASH
.2byte EFFECT_GROWTH
@@ -3480,7 +3560,7 @@ AI_PreferStrongestMove_End:
AI_Risky:
if_target_is_ally AI_Ret
get_considered_move_effect
if_move_flag FLAG_HIGH_CRIT AI_Risky_RandChance
if_move_flag FLAG_HIGH_CRIT, AI_Risky_RandChance
if_not_in_bytes AI_Risky_EffectsToEncourage, AI_Risky_End
AI_Risky_RandChance:
if_random_less_than 128, AI_Risky_End
@@ -3564,12 +3644,12 @@ AI_PreferBatonPass3:
AI_PreferBatonPass_EncourageIfHighStats:
get_turn_count
if_equal 0, Score_Minus2
if_stat_level_more_than AI_USER, STAT_ATK, 8, Score_Plus3
if_stat_level_more_than AI_USER, STAT_ATK, 7, Score_Plus2
if_stat_level_more_than AI_USER, STAT_ATK, 6, Score_Plus1
if_stat_level_more_than AI_USER, STAT_SPATK, 8, Score_Plus3
if_stat_level_more_than AI_USER, STAT_SPATK, 7, Score_Plus2
if_stat_level_more_than AI_USER, STAT_SPATK, 6, Score_Plus1
if_stat_level_more_than AI_USER, STAT_ATK, DEFAULT_STAT_STAGE + 2, Score_Plus3
if_stat_level_more_than AI_USER, STAT_ATK, DEFAULT_STAT_STAGE + 1, Score_Plus2
if_stat_level_more_than AI_USER, STAT_ATK, DEFAULT_STAT_STAGE, Score_Plus1
if_stat_level_more_than AI_USER, STAT_SPATK, DEFAULT_STAT_STAGE + 2, Score_Plus3
if_stat_level_more_than AI_USER, STAT_SPATK, DEFAULT_STAT_STAGE + 1, Score_Plus2
if_stat_level_more_than AI_USER, STAT_SPATK, DEFAULT_STAT_STAGE, Score_Plus1
end
AI_PreferBatonPassEnd:
end
@@ -3579,10 +3659,39 @@ AI_ConsiderAllyChosenMove:
if_equal 0, AI_ConsiderAllyChosenMoveRet
get_move_effect_from_result
if_equal EFFECT_HELPING_HAND, AI_PartnerChoseHelpingHand
if_equal EFFECT_PERISH_SONG, AI_PartnerChosePerishSong
if_equal EFFECT_PERISH_SONG, AI_PartnerChosePerishSong
if_equal EFFECT_ALWAYS_CRIT, AI_PartnerChoseAlwaysCrit
AI_ConsiderAllyChosenMoveRet:
end
@ Ally decided to use Frost Breath on us. we must have Anger Point as our ability
AI_PartnerChoseAlwaysCrit:
if_no_ability AI_USER, ABILITY_ANGER_POINT, AI_PartnerChoseAlwaysCritEnd
@frost breath user should be faster
compare_speeds AI_USER, AI_USER_PARTNER
if_not_equal 1, AI_PartnerChoseAlwaysCritEnd
get_considered_move_effect
if_in_hwords sEffectsAtkRaise, Score_Minus3
@encourage moves hitting multiple opponents
get_considered_move_power
if_equal 0, AI_PartnerChoseAlwaysCritEnd
get_considered_move_target
if_equal MOVE_TARGET_BOTH, Score_Plus3
if_equal MOVE_TARGET_FOES_AND_ALLY, Score_Plus3
AI_PartnerChoseAlwaysCritEnd:
end
.align 1
sEffectsAtkRaise:
.2byte EFFECT_ATTACK_ACCURACY_UP
.2byte EFFECT_ATTACK_UP
.2byte EFFECT_ATTACK_UP_2
.2byte EFFECT_DRAGON_DANCE
.2byte EFFECT_COIL
.2byte EFFECT_BELLY_DRUM
.2byte EFFECT_BULK_UP
.2byte -1
AI_PartnerChoseHelpingHand:
@ Do not use a status move if you know your move's power will be boosted
get_considered_move_power
@@ -3682,17 +3791,27 @@ AI_TryOnAlly:
if_equal MOVE_POWER_DISCOURAGED, AI_TryStatusMoveOnAlly
get_curr_move_type
if_equal TYPE_FIRE, AI_TryFireMoveOnAlly
if_effect EFFECT_ALWAYS_CRIT, AI_TryCritAngerPointAlly
AI_DiscourageOnAlly:
goto Score_Minus30
AI_TryFireMoveOnAlly:
if_ability AI_USER_PARTNER, ABILITY_FLASH_FIRE, AI_TryFireMoveOnAlly_FlashFire
goto AI_DiscourageOnAlly
AI_TryFireMoveOnAlly_FlashFire:
if_flash_fired AI_USER_PARTNER, AI_DiscourageOnAlly
goto Score_Plus3
AI_TryCritAngerPointAlly:
get_ability AI_USER_PARTNER
if_not_equal ABILITY_ANGER_POINT, AI_DiscourageOnAlly
if_stat_level_more_than AI_USER_PARTNER, STAT_ATK, 8, AI_DiscourageOnAlly
if_status2 AI_USER_PARTNER, STATUS2_SUBSTITUTE, AI_DiscourageOnAlly
if_has_no_move_with_split AI_USER_PARTNER, SPLIT_PHYSICAL, AI_DiscourageOnAlly
get_curr_dmg_hp_percent
if_more_than 34,AI_DiscourageOnAlly
if_hp_less_than AI_USER_PARTNER, 60, AI_DiscourageOnAlly
goto Score_Plus3
AI_TryStatusMoveOnAlly:
if_move MOVE_SKILL_SWAP, AI_TrySkillSwapOnAlly
+10855 -1985
View File
File diff suppressed because it is too large. Load diff
+204 -74
View File
@@ -8,6 +8,7 @@
#include "constants/moves.h"
#include "constants/songs.h"
#include "constants/game_stat.h"
#include "constants/battle_config.h"
.include "asm/macros.inc"
.include "asm/macros/battle_script.inc"
.include "constants/constants.inc"
@@ -317,7 +318,7 @@ gBattleScriptsForMoveEffects:: @ 82D86A8
.4byte BattleScript_EffectFinalGambit
.4byte BattleScript_EffectTechnoBlast
.4byte BattleScript_EffectJudgment
.4byte BattleScript_EffectAutonomize
.4byte BattleScript_EffectAutotomize
.4byte BattleScript_EffectCopycat
.4byte BattleScript_EffectDefog
.4byte BattleScript_EffectHitEnemyHealAlly
@@ -364,6 +365,11 @@ gBattleScriptsForMoveEffects:: @ 82D86A8
.4byte BattleScript_EffectGeomancy
.4byte BattleScript_EffectFairyLock
.4byte BattleScript_EffectAllySwitch
.4byte BattleScript_EffectSleepHit
BattleScript_EffectSleepHit:
setmoveeffect MOVE_EFFECT_SLEEP
goto BattleScript_EffectHit
BattleScript_EffectAllySwitch:
attackcanceler
@@ -422,8 +428,6 @@ BattleScript_EffectPurify:
attackstring
ppreduce
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
typecalc
jumpifmovehadnoeffect BattleScript_NotAffected
jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_PurifyWorks
goto BattleScript_ButItFailed
BattleScript_PurifyWorks:
@@ -515,7 +519,7 @@ BattleScript_EffectLaserFocus:
attackcanceler
attackstring
ppreduce
setuserstatus3 STATUS3_LASER_FOCUS BattleScript_ButItFailed
setuserstatus3 STATUS3_LASER_FOCUS, BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_LASERFOCUS
@@ -590,6 +594,7 @@ BattleScript_EffectPartingShotTrySpAtk:
waitmessage 0x40
BattleScript_EffectPartingShotSwitch:
moveendall
jumpifbattletype BATTLE_TYPE_ARENA, BattleScript_PartingShotEnd
jumpifcantswitch SWITCH_IGNORE_ESCAPE_PREVENTION | BS_ATTACKER, BattleScript_PartingShotEnd
openpartyscreen 0x1, BattleScript_PartingShotEnd
switchoutabilities BS_ATTACKER
@@ -1036,27 +1041,27 @@ BattleScript_EffectInstruct:
setbyte sB_ANIM_TARGETS_HIT, 0x0
jumptocalledmove TRUE
BattleScript_EffectAutonomize:
BattleScript_EffectAutotomize:
setstatchanger STAT_SPEED, 2, FALSE
attackcanceler
attackstring
ppreduce
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AutonomizeWeightLoss
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_AutonomizeAttackAnim
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AutotomizeWeightLoss
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_AutotomizeAttackAnim
pause 0x20
goto BattleScript_AutonomizePrintString
BattleScript_AutonomizeAttackAnim::
goto BattleScript_AutotomizePrintString
BattleScript_AutotomizeAttackAnim::
attackanimation
waitanimation
BattleScript_AutonomizeDoAnim::
BattleScript_AutotomizeDoAnim::
setgraphicalstatchangevalues
playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
BattleScript_AutonomizePrintString::
BattleScript_AutotomizePrintString::
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_AutonomizeWeightLoss::
BattleScript_AutotomizeWeightLoss::
jumpifmovehadnoeffect BattleScript_MoveEnd
tryautonomize BS_ATTACKER, BattleScript_MoveEnd
tryautotomize BS_ATTACKER, BattleScript_MoveEnd
printstring STRINGID_BECAMENIMBLE
waitmessage 0x40
goto BattleScript_MoveEnd
@@ -1831,7 +1836,7 @@ BattleScript_EffectMagnetRise:
attackcanceler
attackstring
ppreduce
setuserstatus3 STATUS3_MAGNET_RISE BattleScript_ButItFailed
setuserstatus3 STATUS3_MAGNET_RISE, BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNLEVITATEDONELECTROMAGNETISM
@@ -1855,7 +1860,7 @@ BattleScript_EffectAquaRing:
attackcanceler
attackstring
ppreduce
setuserstatus3 STATUS3_AQUA_RING BattleScript_ButItFailed
setuserstatus3 STATUS3_AQUA_RING, BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNSURROUNDEDWITHVEILOFWATER
@@ -1978,6 +1983,7 @@ BattleScript_EffectHitEscape:
moveendfrom MOVEEND_TARGET_VISIBLE
jumpifbattleend BattleScript_HitEscapeEnd
jumpifbyte CMP_NOT_EQUAL gBattleOutcome 0, BattleScript_HitEscapeEnd
jumpifbattletype BATTLE_TYPE_ARENA, BattleScript_HitEscapeEnd
jumpifcantswitch SWITCH_IGNORE_ESCAPE_PREVENTION | BS_ATTACKER, BattleScript_HitEscapeEnd
openpartyscreen BS_ATTACKER, BattleScript_HitEscapeEnd
switchoutabilities BS_ATTACKER
@@ -2996,7 +3002,7 @@ BattleScript_EffectParalyze:
typecalc
jumpifmovehadnoeffect BattleScript_ButItFailed
jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_AlreadyParalyzed
jumpiftype BS_TARGET, TYPE_ELECTRIC, BattleScript_NotAffected
tryparalyzetype BS_ATTACKER, BS_TARGET, BattleScript_NotAffected
jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
jumpifsafeguard BattleScript_SafeguardProtected
@@ -3080,7 +3086,7 @@ BattleScript_EffectTwoTurnsAttackIceBurn:
setbyte sTWOTURN_STRINGID, 0x0
goto BattleScript_EffectTwoTurnsAttackContinue
BattleScript_EffectTwoTurnsAttackFreezeShock:
setbyte sTWOTURN_STRINGID, 0x0
setbyte sTWOTURN_STRINGID, 0xa
goto BattleScript_EffectTwoTurnsAttackContinue
BattleScript_EffectGeomancy:
@@ -3561,9 +3567,9 @@ BattleScript_EffectCurse::
attackcanceler
attackstring
ppreduce
jumpifstat BS_ATTACKER, CMP_GREATER_THAN, STAT_SPEED, 0x0, BattleScript_CurseTrySpeed
jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, STAT_ATK, 0xC, BattleScript_CurseTrySpeed
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 0xC, BattleScript_ButItFailed
jumpifstat BS_ATTACKER, CMP_GREATER_THAN, STAT_SPEED, MIN_STAT_STAGE, BattleScript_CurseTrySpeed
jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, STAT_ATK, MAX_STAT_STAGE, BattleScript_CurseTrySpeed
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, MAX_STAT_STAGE, BattleScript_ButItFailed
BattleScript_CurseTrySpeed::
copybyte gBattlerTarget, gBattlerAttacker
setbyte sB_ANIM_TURN, 0x1
@@ -3818,7 +3824,41 @@ BattleScript_EffectBatonPass::
goto BattleScript_MoveEnd
BattleScript_EffectRapidSpin::
.if B_SPEED_BUFFING_RAPID_SPIN == GEN_8
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
critcalc
damagecalc
adjustdamage
attackanimation
waitanimation
effectivenesssound
hitanimation BS_TARGET
waitstate
healthbarupdate BS_TARGET
datahpupdate BS_TARGET
critmessage
waitmessage 0x40
resultmessage
waitmessage 0x40
setmoveeffect MOVE_EFFECT_RAPIDSPIN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
seteffectwithchance
setstatchanger STAT_SPEED, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_EffectRapidSpinEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_EffectRapidSpinEnd
setgraphicalstatchangevalues
playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_EffectRapidSpinEnd::
tryfaintmon BS_TARGET, FALSE, NULL
moveendall
end
.else
setmoveeffect MOVE_EFFECT_RAPIDSPIN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
.endif
goto BattleScript_EffectHit
BattleScript_EffectSonicboom::
@@ -3913,7 +3953,7 @@ BattleScript_EffectMirrorCoat::
BattleScript_EffectSkullBash::
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
setbyte sTWOTURN_STRINGID, 0x2
setbyte sTWOTURN_STRINGID, 2
call BattleScriptFirstChargingTurn
setstatchanger STAT_DEF, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_SkullBashEnd
@@ -3959,7 +3999,7 @@ BattleScript_EffectSolarbeam::
BattleScript_SolarbeamDecideTurn::
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
setbyte sTWOTURN_STRINGID, 0x1
setbyte sTWOTURN_STRINGID, 1
call BattleScriptFirstChargingTurn
jumpifnoholdeffect BS_ATTACKER, HOLD_EFFECT_POWER_HERB, BattleScript_MoveEnd
call BattleScript_PowerHerbActivation
@@ -4038,16 +4078,16 @@ BattleScript_EffectSemiInvulnerable::
setbyte sTWOTURN_STRINGID, 0x5
goto BattleScript_FirstTurnSemiInvulnerable
BattleScript_FirstTurnBounce::
setbyte sTWOTURN_STRINGID, 0x7
setbyte sTWOTURN_STRINGID, 7
goto BattleScript_FirstTurnSemiInvulnerable
BattleScript_FirstTurnDive::
setbyte sTWOTURN_STRINGID, 0x6
setbyte sTWOTURN_STRINGID, 6
goto BattleScript_FirstTurnSemiInvulnerable
BattleScript_FirstTurnPhantomForce:
setbyte sTWOTURN_STRINGID, 0x8
goto BattleScript_FirstTurnSemiInvulnerable
BattleScript_FirstTurnFly::
setbyte sTWOTURN_STRINGID, 0x4
setbyte sTWOTURN_STRINGID, 4
BattleScript_FirstTurnSemiInvulnerable::
call BattleScriptFirstChargingTurn
setsemiinvulnerablebit
@@ -4456,7 +4496,7 @@ BattleScript_EffectIngrain:
attackcanceler
attackstring
ppreduce
setuserstatus3 STATUS3_ROOTED BattleScript_ButItFailed
setuserstatus3 STATUS3_ROOTED, BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNPLANTEDROOTS
@@ -4610,7 +4650,7 @@ BattleScript_EffectGrudge:
attackcanceler
attackstring
ppreduce
setuserstatus3 STATUS3_GRUDGE BattleScript_ButItFailed
setuserstatus3 STATUS3_GRUDGE, BattleScript_ButItFailed
attackanimation
waitanimation
printstring STRINGID_PKMNWANTSGRUDGE
@@ -4736,8 +4776,8 @@ BattleScript_EffectTickle::
attackcanceler
attackstring
ppreduce
jumpifstat BS_TARGET, CMP_GREATER_THAN, STAT_ATK, 0x0, BattleScript_TickleDoMoveAnim
jumpifstat BS_TARGET, CMP_EQUAL, STAT_DEF, 0x0, BattleScript_CantLowerMultipleStats
jumpifstat BS_TARGET, CMP_GREATER_THAN, STAT_ATK, MIN_STAT_STAGE, BattleScript_TickleDoMoveAnim
jumpifstat BS_TARGET, CMP_EQUAL, STAT_DEF, MIN_STAT_STAGE, BattleScript_CantLowerMultipleStats
BattleScript_TickleDoMoveAnim::
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
attackanimation
@@ -4771,8 +4811,8 @@ BattleScript_EffectCosmicPower::
attackcanceler
attackstring
ppreduce
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 0xC, BattleScript_CosmicPowerDoMoveAnim
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_CantRaiseMultipleStats
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, MAX_STAT_STAGE, BattleScript_CosmicPowerDoMoveAnim
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, MAX_STAT_STAGE, BattleScript_CantRaiseMultipleStats
BattleScript_CosmicPowerDoMoveAnim::
attackanimation
waitanimation
@@ -4799,8 +4839,8 @@ BattleScript_EffectBulkUp::
attackcanceler
attackstring
ppreduce
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_BulkUpDoMoveAnim
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 0xC, BattleScript_CantRaiseMultipleStats
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, MAX_STAT_STAGE, BattleScript_BulkUpDoMoveAnim
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, MAX_STAT_STAGE, BattleScript_CantRaiseMultipleStats
BattleScript_BulkUpDoMoveAnim::
attackanimation
waitanimation
@@ -4824,8 +4864,8 @@ BattleScript_EffectCalmMind::
attackcanceler
attackstring
ppreduce
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 0xC, BattleScript_CalmMindDoMoveAnim
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_CantRaiseMultipleStats
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, MAX_STAT_STAGE, BattleScript_CalmMindDoMoveAnim
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, MAX_STAT_STAGE, BattleScript_CantRaiseMultipleStats
BattleScript_CalmMindDoMoveAnim::
attackanimation
waitanimation
@@ -4856,8 +4896,8 @@ BattleScript_EffectDragonDance::
attackcanceler
attackstring
ppreduce
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_DragonDanceDoMoveAnim
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, 0xC, BattleScript_CantRaiseMultipleStats
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, MAX_STAT_STAGE, BattleScript_DragonDanceDoMoveAnim
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, MAX_STAT_STAGE, BattleScript_CantRaiseMultipleStats
BattleScript_DragonDanceDoMoveAnim::
attackanimation
waitanimation
@@ -4943,6 +4983,7 @@ BattleScript_FaintedMonTryChooseAnother:
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_FaintedMonChooseAnother
jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 0x1, BattleScript_FaintedMonChooseAnother
jumpifcantswitch BS_PLAYER1, BattleScript_FaintedMonChooseAnother
setbyte sILLUSION_NICK_HACK, 1
printstring STRINGID_ENEMYABOUTTOSWITCHPKMN
setbyte gBattleCommunication, 0x0
yesnobox
@@ -5132,13 +5173,13 @@ BattleScript_FrontierTrainerBattleWon_LoseTexts:
trainerslidein BS_ATTACKER
waitstate
printstring STRINGID_TRAINER1LOSETEXT
jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAACB
jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_TryPickUpItems
trainerslideout B_POSITION_OPPONENT_LEFT
waitstate
trainerslidein BS_FAINTED
waitstate
printstring STRINGID_TRAINER2LOSETEXT
BattleScript_82DAACB:
BattleScript_TryPickUpItems:
jumpifnotbattletype BATTLE_TYPE_PYRAMID, BattleScript_FrontierTrainerBattleWon_End
pickup
BattleScript_FrontierTrainerBattleWon_End:
@@ -5236,7 +5277,7 @@ BattleScript_PursuitDmgOnSwitchOut::
waitmessage 0x40
tryfaintmon BS_TARGET, FALSE, NULL
moveendfromto MOVEEND_ABILITIES, MOVEEND_CHOICE_MOVE
various4 BS_TARGET
getbattlerfainted BS_TARGET
jumpifbyte CMP_EQUAL, gBattleCommunication, 0x0, BattleScript_PursuitDmgOnSwitchOutRet
setbyte sGIVEEXP_STATE, 0x0
getexp BS_TARGET
@@ -5248,7 +5289,7 @@ BattleScript_Pausex20::
return
BattleScript_LevelUp::
fanfare MUS_FANFA1
fanfare MUS_LEVEL_UP
printstring STRINGID_PKMNGREWTOLV
setbyte sLVLBOX_STATE, 0x0
drawlvlupbox
@@ -5276,7 +5317,7 @@ BattleScript_ForgotAndLearnedNewMove::
printstring STRINGID_ANDELLIPSIS
BattleScript_LearnedNewMove::
buffermovetolearn
fanfare MUS_FANFA1
fanfare MUS_LEVEL_UP
printstring STRINGID_PKMNLEARNEDMOVE
waitmessage 0x40
updatechoicemoveonlvlup BS_ATTACKER
@@ -5342,7 +5383,7 @@ BattleScript_SunlightFaded::
end2
BattleScript_OverworldWeatherStarts::
printfromtable gWeatherContinuesStringIds
printfromtable gWeatherStartsStringIds
waitmessage 0x40
playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL
end3
@@ -5436,8 +5477,9 @@ BattleScript_LeechSeedTurnDrain::
datahpupdate BS_ATTACKER
copyword gBattleMoveDamage, gHpDealt
jumpifability BS_ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_LeechSeedTurnPrintLiquidOoze
manipulatedamage DMG_BIG_ROOT
setbyte cMULTISTRING_CHOOSER, 0x3
jumpifstatus3 BS_TARGET, STATUS3_HEAL_BLOCK, BattleScript_LeechSeedHealBlock
manipulatedamage DMG_BIG_ROOT
goto BattleScript_LeechSeedTurnPrintAndUpdateHp
BattleScript_LeechSeedTurnPrintLiquidOoze::
copybyte gBattlerAbility, gBattlerAttacker
@@ -5452,6 +5494,9 @@ BattleScript_LeechSeedTurnPrintAndUpdateHp::
tryfaintmon BS_ATTACKER, FALSE, NULL
tryfaintmon BS_TARGET, FALSE, NULL
end2
BattleScript_LeechSeedHealBlock:
setword gBattleMoveDamage, 0
goto BattleScript_LeechSeedTurnPrintAndUpdateHp
BattleScript_BideStoringEnergy::
printstring STRINGID_PKMNSTORINGENERGY
@@ -5696,11 +5741,11 @@ BattleScript_PerishSongCountGoesDown::
end2
BattleScript_AllStatsUp::
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_AllStatsUpAtk
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 0xC, BattleScript_AllStatsUpAtk
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPEED, 0xC, BattleScript_AllStatsUpAtk
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 0xC, BattleScript_AllStatsUpAtk
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_AllStatsUpRet
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, MAX_STAT_STAGE, BattleScript_AllStatsUpAtk
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, MAX_STAT_STAGE, BattleScript_AllStatsUpAtk
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPEED, MAX_STAT_STAGE, BattleScript_AllStatsUpAtk
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, MAX_STAT_STAGE, BattleScript_AllStatsUpAtk
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, MAX_STAT_STAGE, BattleScript_AllStatsUpRet
BattleScript_AllStatsUpAtk::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED | BIT_SPATK | BIT_SPDEF, 0x0
@@ -6091,6 +6136,20 @@ BattleScript_MegaEvolution::
switchinabilities BS_ATTACKER
end2
BattleScript_WishMegaEvolution::
printstring STRINGID_FERVENTWISHREACHED
waitmessage 0x40
setbyte gIsCriticalHit, 0
handlemegaevo BS_ATTACKER, 0
handlemegaevo BS_ATTACKER, 1
playanimation BS_ATTACKER, B_ANIM_MEGA_EVOLUTION, NULL
waitanimation
handlemegaevo BS_ATTACKER, 2
printstring STRINGID_MEGAEVOEVOLVED
waitmessage 0x40
switchinabilities BS_ATTACKER
end2
BattleScript_AttackerFormChange::
pause 0x5
copybyte gBattlerAbility, gBattlerAttacker
@@ -6509,7 +6568,7 @@ BattleScript_DefiantActivates::
BattleScript_AbilityPopUp:
showabilitypopup BS_ABILITY_BATTLER
recordability BS_ABILITY_BATTLER
pause 0x10
pause 40
return
BattleScript_SpeedBoostActivates::
@@ -6543,6 +6602,39 @@ BattleScript_MoodyLower:
waitmessage 0x40
BattleScript_MoodyEnd:
end3
BattleScript_EmergencyExit::
pause 0x5
call BattleScript_AbilityPopUp
pause 0x40
BattleScript_EmergencyExitNoPopUp::
playanimation BS_TARGET, B_ANIM_SLIDE_OFFSCREEN, NULL
waitanimation
openpartyscreen BS_TARGET, BattleScript_EmergencyExitRet
switchoutabilities BS_TARGET
waitstate
switchhandleorder BS_TARGET, 2
returntoball BS_TARGET
getswitchedmondata BS_TARGET
switchindataupdate BS_TARGET
hpthresholds BS_TARGET
printstring STRINGID_SWITCHINMON
switchinanim BS_TARGET, TRUE
waitstate
switchineffects BS_TARGET
BattleScript_EmergencyExitRet:
return
BattleScript_EmergencyExitWild::
pause 0x5
call BattleScript_AbilityPopUp
pause 0x40
BattleScript_EmergencyExitWildNoPopUp::
playanimation BS_TARGET, B_ANIM_SLIDE_OFFSCREEN, NULL
waitanimation
setoutcomeonteleport BS_TARGET
finishaction
return
BattleScript_TraceActivates::
pause 0x20
@@ -6563,15 +6655,26 @@ BattleScript_ReceiverActivates::
waitmessage 0x40
settracedability BS_ABILITY_BATTLER
return
BattleScript_RainDishActivates::
BattleScript_AbilityHpHeal:
call BattleScript_AbilityPopUp
printstring STRINGID_PKMNSXRESTOREDHPALITTLE2
waitmessage 0x40
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate BS_ATTACKER
datahpupdate BS_ATTACKER
return
BattleScript_RainDishActivates::
call BattleScript_AbilityHpHeal
end3
BattleScript_CheekPouchActivates::
copybyte sSAVED_BATTLER, gBattlerAttacker
copybyte gBattlerAttacker, gBattlerAbility
call BattleScript_AbilityHpHeal
copybyte gBattlerAttacker, sSAVED_BATTLER
return
BattleScript_HarvestActivates::
pause 0x5
@@ -6623,10 +6726,10 @@ BattleScript_WeatherFormChangesLoop::
return
BattleScript_CastformChange::
call BattleScript_82DB4AF
call BattleScript_DoCastformChange
end3
BattleScript_82DB4AF::
BattleScript_DoCastformChange::
copybyte gBattlerAbility, sBATTLER
call BattleScript_AbilityPopUp
docastformchangeanimation
@@ -6667,6 +6770,12 @@ 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
#if B_UPDATED_INTIMIDATE >= GEN_8
jumpifability BS_TARGET, ABILITY_INNER_FOCUS, BattleScript_IntimidatePrevented
jumpifability BS_TARGET, ABILITY_SCRAPPY, BattleScript_IntimidatePrevented
jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_IntimidatePrevented
jumpifability BS_TARGET, ABILITY_OBLIVIOUS, BattleScript_IntimidatePrevented
#endif
statbuffchange STAT_BUFF_NOT_PROTECT_AFFECTED | STAT_BUFF_ALLOW_PTR, BattleScript_IntimidateActivatesLoopIncrement
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_IntimidateActivatesLoopIncrement
setgraphicalstatchangevalues
@@ -6681,7 +6790,10 @@ BattleScript_IntimidateActivatesReturn:
return
BattleScript_IntimidatePrevented:
pause 0x20
printstring STRINGID_PREVENTEDFROMWORKING
call BattleScript_AbilityPopUp
setbyte gBattleCommunication STAT_ATK
stattextbuffer BS_ATTACKER
printstring STRINGID_STATWASNOTLOWERED
waitmessage 0x40
call BattleScript_TryAdrenalineOrb
goto BattleScript_IntimidateActivatesLoopIncrement
@@ -6745,6 +6857,7 @@ BattleScript_BadDreamsLoop:
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
printstring STRINGID_BADDREAMSDMG
waitmessage 0x40
jumpifability BS_TARGET, ABILITY_MAGIC_GUARD, BattleScript_BadDreamsIncrement
healthbarupdate BS_TARGET
datahpupdate BS_TARGET
tryfaintmon BS_TARGET, FALSE, NULL
@@ -6904,7 +7017,9 @@ BattleScript_MoveUsedPsychicTerrainPrevents::
waitmessage 0x40
goto BattleScript_MoveEnd
BattleScript_GrassyTerrainLoop::
BattleScript_GrassyTerrainHeals::
setbyte gBattleCommunication, 0
BattleScript_GrassyTerrainLoop:
copyarraywithindex gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 0x1
checkgrassyterrainheal BS_ATTACKER, BattleScript_GrassyTerrainLoopIncrement
printstring STRINGID_GRASSYTERRAINHEALS
@@ -7091,8 +7206,11 @@ BattleScript_RoughSkinActivates::
return
BattleScript_RockyHelmetActivates::
@ don't play the animation for a fainted mon
jumpifabsent BS_TARGET, BattleScript_RockyHelmetActivatesDmg
playanimation BS_TARGET, B_ANIM_HELD_ITEM_EFFECT, NULL
waitanimation
BattleScript_RockyHelmetActivatesDmg:
call BattleScript_HurtAttacker
return
@@ -7322,8 +7440,17 @@ BattleScript_WhiteHerbRet::
waitmessage 0x40
removeitem BS_SCRIPTING
return
BattleScript_ItemHealHP_RemoveItem::
BattleScript_ItemHealHP_RemoveItemRet::
playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT, NULL
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
waitmessage 0x40
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate BS_SCRIPTING
datahpupdate BS_SCRIPTING
removeitem BS_SCRIPTING
return
BattleScript_ItemHealHP_RemoveItemEnd2::
playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT, NULL
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
waitmessage 0x40
@@ -7391,6 +7518,9 @@ BattleScript_HangedOnMsg::
playanimation BS_TARGET, B_ANIM_HANGED_ON, NULL
printstring STRINGID_PKMNHUNGONWITHX
waitmessage 0x40
jumpifnoholdeffect BS_TARGET, HOLD_EFFECT_FOCUS_SASH, BattleScript_HangedOnMsgRet
removeitem BS_TARGET
BattleScript_HangedOnMsgRet:
return
BattleScript_BerryConfuseHealEnd2::
@@ -7431,26 +7561,26 @@ BattleScript_FlushMessageBox::
printstring STRINGID_EMPTYSTRING3
return
BattleScript_82DB881::
setbyte gBattleCommunication + 1, 0x0
BattleScript_82DB887::
various8 BS_ATTACKER
jumpifbyte CMP_NOT_EQUAL, gBattleCommunication, 0x1, BattleScript_82DB89D
printfromtable gStringIds_85CCF0A
BattleScript_PalacePrintFlavorText::
setbyte gBattleCommunication + 1, 0
BattleScript_PalaceTryBattlerFlavorText::
palaceflavortext BS_ATTACKER @ BS_ATTACKER here overwritten by gBattleCommunication + 1
jumpifbyte CMP_NOT_EQUAL, gBattleCommunication, TRUE, BattleScript_PalaceEndFlavorText
printfromtable gBattlePalaceFlavorTextTable
waitmessage 0x40
BattleScript_82DB89D::
addbyte gBattleCommunication + 1, 0x1
jumpifbytenotequal gBattleCommunication + 1, gBattlersCount, BattleScript_82DB887
setbyte gBattleCommunication, 0x0
setbyte gBattleCommunication + 1, 0x0
BattleScript_PalaceEndFlavorText::
addbyte gBattleCommunication + 1, 1
jumpifbytenotequal gBattleCommunication + 1, gBattlersCount, BattleScript_PalaceTryBattlerFlavorText
setbyte gBattleCommunication, 0
setbyte gBattleCommunication + 1, 0
end2
BattleScript_ArenaTurnBeginning::
waitcry BS_ATTACKER
volumedown
playse SE_HANTEI1
playse SE_ARENA_TIMEUP1
pause 0x8
playse SE_HANTEI1
playse SE_ARENA_TIMEUP1
various14 BS_ATTACKER
arenajudmengtstring 8
arenawaitmessage 8
@@ -7460,7 +7590,7 @@ BattleScript_ArenaTurnBeginning::
end2
BattleScript_82DB8E0:: @ Unused battlescript
playse SE_PINPON
playse SE_DING_DONG
various14 BS_ATTACKER
arenajudmengtstring BS_TARGET
arenawaitmessage BS_TARGET
@@ -7474,9 +7604,9 @@ BattleScript_ArenaDoJudgment::
makevisible BS_OPPONENT1
waitstate
volumedown
playse SE_HANTEI1
playse SE_ARENA_TIMEUP1
pause 0x8
playse SE_HANTEI1
playse SE_ARENA_TIMEUP1
pause 0x40
various14 BS_ATTACKER
arenajudmengtstring 1
+23 -23
View File
@@ -14,28 +14,28 @@
.align 2
gBattlescriptsForBallThrow:: @ 82DBD08
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_SafariBallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow @ ITEM_NONE
.4byte BattleScript_BallThrow @ ITEM_MASTER_BALL
.4byte BattleScript_BallThrow @ ITEM_ULTRA_BALL
.4byte BattleScript_BallThrow @ ITEM_GREAT_BALL
.4byte BattleScript_BallThrow @ ITEM_POKE_BALL
.4byte BattleScript_SafariBallThrow @ ITEM_SAFARI_BALL
.4byte BattleScript_BallThrow @ ITEM_NET_BALL
.4byte BattleScript_BallThrow @ ITEM_DIVE_BALL
.4byte BattleScript_BallThrow @ ITEM_NEST_BALL
.4byte BattleScript_BallThrow @ ITEM_REPEAT_BALL
.4byte BattleScript_BallThrow @ ITEM_TIMER_BALL
.4byte BattleScript_BallThrow @ ITEM_LUXURY_BALL
.4byte BattleScript_BallThrow @ ITEM_PREMIER_BALL
.align 2
gBattlescriptsForUsingItem:: @ 82DBD3C
.4byte BattleScript_PlayerUsesItem
.4byte BattleScript_OpponentUsesHealItem
.4byte BattleScript_OpponentUsesHealItem
.4byte BattleScript_OpponentUsesStatusCureItem
.4byte BattleScript_OpponentUsesXItem
.4byte BattleScript_OpponentUsesGuardSpecs
.4byte BattleScript_OpponentUsesHealItem @ AI_ITEM_FULL_RESTORE
.4byte BattleScript_OpponentUsesHealItem @ AI_ITEM_HEAL_HP
.4byte BattleScript_OpponentUsesStatusCureItem @ AI_ITEM_CURE_CONDITION
.4byte BattleScript_OpponentUsesXItem @ AI_ITEM_X_STAT
.4byte BattleScript_OpponentUsesGuardSpecs @ AI_ITEM_GUARD_SPECS
.align 2
gBattlescriptsForRunningByItem:: @ 82DBD54
@@ -125,7 +125,7 @@ BattleScript_PlayerUsesItem::
BattleScript_OpponentUsesHealItem::
printstring STRINGID_EMPTYSTRING3
pause 0x30
playse SE_KAIFUKU
playse SE_USE_ITEM
printstring STRINGID_TRAINER1USEDITEM
waitmessage 0x40
bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT
@@ -143,7 +143,7 @@ BattleScript_OpponentUsesHealItem::
BattleScript_OpponentUsesStatusCureItem::
printstring STRINGID_EMPTYSTRING3
pause 0x30
playse SE_KAIFUKU
playse SE_USE_ITEM
printstring STRINGID_TRAINER1USEDITEM
waitmessage 0x40
useitemonopponent
@@ -157,7 +157,7 @@ BattleScript_OpponentUsesStatusCureItem::
BattleScript_OpponentUsesXItem::
printstring STRINGID_EMPTYSTRING3
pause 0x30
playse SE_KAIFUKU
playse SE_USE_ITEM
printstring STRINGID_TRAINER1USEDITEM
waitmessage 0x40
useitemonopponent
@@ -170,7 +170,7 @@ BattleScript_OpponentUsesXItem::
BattleScript_OpponentUsesGuardSpecs::
printstring STRINGID_EMPTYSTRING3
pause 0x30
playse SE_KAIFUKU
playse SE_USE_ITEM
printstring STRINGID_TRAINER1USEDITEM
waitmessage 0x40
useitemonopponent
@@ -181,7 +181,7 @@ BattleScript_OpponentUsesGuardSpecs::
finishaction
BattleScript_RunByUsingItem::
playse SE_NIGERU
playse SE_FLEE
setbyte gBattleOutcome, B_OUTCOME_RAN
finishturn
+570 -526
View File
File diff suppressed because it is too large. Load diff
+14 -13
View File
@@ -40,6 +40,7 @@
#include "constants/moves.h"
#include "constants/party_menu.h"
#include "constants/pokemon.h"
#include "constants/roulette.h"
#include "constants/script_menu.h"
#include "constants/secret_bases.h"
#include "constants/songs.h"
@@ -150,13 +151,13 @@ gStdScripts_End:: @ 81DC2CC
.include "data/maps/Route132/scripts.inc"
.include "data/maps/Route133/scripts.inc"
.include "data/maps/Route134/scripts.inc"
.include "data/maps/Underwater1/scripts.inc"
.include "data/maps/Underwater2/scripts.inc"
.include "data/maps/Underwater3/scripts.inc"
.include "data/maps/Underwater4/scripts.inc"
.include "data/maps/Underwater5/scripts.inc"
.include "data/maps/Underwater6/scripts.inc"
.include "data/maps/Underwater7/scripts.inc"
.include "data/maps/Underwater_Route124/scripts.inc"
.include "data/maps/Underwater_Route126/scripts.inc"
.include "data/maps/Underwater_Route127/scripts.inc"
.include "data/maps/Underwater_Route128/scripts.inc"
.include "data/maps/Underwater_Route129/scripts.inc"
.include "data/maps/Underwater_Route105/scripts.inc"
.include "data/maps/Underwater_Route125/scripts.inc"
.include "data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc"
.include "data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc"
.include "data/maps/LittlerootTown_MaysHouse_1F/scripts.inc"
@@ -712,13 +713,13 @@ Common_EventScript_SetAbnormalWeather:: @ 827207A
return
Common_EventScript_PlayGymBadgeFanfare:: @ 827207E
playfanfare MUS_ME_BACHI
playfanfare MUS_OBTAIN_BADGE
waitfanfare
return
Common_EventScript_OutOfCenterPartyHeal:: @ 8272083
fadescreen FADE_TO_BLACK
playfanfare MUS_ME_ASA
playfanfare MUS_HEAL
waitfanfare
special HealPlayerParty
fadescreen FADE_FROM_BLACK
@@ -735,7 +736,7 @@ EventScript_RegionMap:: @ 827208F
Common_EventScript_PlayBrineysBoatMusic:: @ 82720A0
setflag FLAG_DONT_TRANSITION_MUSIC
playbgm MUS_M_BOAT, 0
playbgm MUS_SAILING, 0
return
Common_EventScript_StopBrineysBoatMusic:: @ 82720A8
@@ -775,8 +776,8 @@ EventScript_HideMrBriney:: @ 82721F8
return
RusturfTunnel_EventScript_SetRusturfTunnelOpen:: @ 8272216
removeobject 1
removeobject 10
removeobject LOCALID_WANDAS_BF
removeobject LOCALID_WANDA
clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND
clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDA
setvar VAR_RUSTURF_TUNNEL_STATE, 6
@@ -819,7 +820,7 @@ Common_EventScript_NameReceivedPartyMon:: @ 82723DD
Common_EventScript_PlayerHandedOverTheItem:: @ 82723E4
bufferitemname 0, VAR_0x8004
playfanfare MUS_ME_WAZA
playfanfare MUS_OBTAIN_TMHM
message gText_PlayerHandedOverTheItem
waitmessage
waitfanfare
+122 -122
View File
@@ -5,73 +5,73 @@
.align 2
gFieldEffectScriptPointers:: @ 82DB9D4
.4byte gFieldEffectScript_ExclamationMarkIcon1
.4byte gFieldEffectScript_UseCutOnTallGrass
.4byte gFieldEffectScript_UseCutOnTree
.4byte gFieldEffectScript_Shadow
.4byte gFieldEffectScript_TallGrass
.4byte gFieldEffectScript_Ripple
.4byte gFieldEffectScript_FieldMoveShowMon
.4byte gFieldEffectScript_Ash
.4byte gFieldEffectScript_SurfBlob
.4byte gFieldEffectScript_UseSurf
.4byte gFieldEffectScript_GroundImpactDust
.4byte gFieldEffectScript_UseSecretPowerCave
.4byte gFieldEffectScript_BikeHopTallGrass
.4byte gFieldEffectScript_SandFootprints
.4byte gFieldEffectScript_BikeHopBigSplash
.4byte gFieldEffectScript_Splash
.4byte gFieldEffectScript_BikeHopSmallSplash
.4byte gFieldEffectScript_LongGrass
.4byte gFieldEffectScript_JumpLongGrass
.4byte gFieldEffectScript_Unknown19
.4byte gFieldEffectScript_Unknown20
.4byte gFieldEffectScript_Unknown21
.4byte gFieldEffectScript_Unknown22
.4byte gFieldEffectScript_BerryTreeGrowthSparkle
.4byte gFieldEffectScript_DeepSandFootprints
.4byte gFieldEffectScript_PokeCenterHeal
.4byte gFieldEffectScript_UseSecretPowerTree
.4byte gFieldEffectScript_UseSecretPowerShrub
.4byte gFieldEffectScript_TreeDisguise
.4byte gFieldEffectScript_MountainDisguise
.4byte gFieldEffectScript_NPCUseFly
.4byte gFieldEffectScript_UseFly
.4byte gFieldEffectScript_FlyIn
.4byte gFieldEffectScript_QuestionMarkIcon
.4byte gFieldEffectScript_FeetInFlowingWater
.4byte gFieldEffectScript_BikeTireTracks
.4byte gFieldEffectScript_SandDisguisePlaceholder
.4byte gFieldEffectScript_UseRockSmash
.4byte gFieldEffectScript_UseDig
.4byte gFieldEffectScript_SandPile
.4byte gFieldEffectScript_UseStrength
.4byte gFieldEffectScript_ShortGrass
.4byte gFieldEffectScript_HotSpringsWater
.4byte gFieldEffectScript_UseWaterfall
.4byte gFieldEffectScript_UseDive
.4byte gFieldEffectScript_Pokeball
.4byte gFieldEffectScript_HeartIcon
.4byte gFieldEffectScript_Unknown47
.4byte gFieldEffectScript_Unknown48
.4byte gFieldEffectScript_JumpOutOfAsh
.4byte gFieldEffectScript_LavaridgeGymWarp
.4byte gFieldEffectScript_SweetScent
.4byte gFieldEffectScript_SandPillar
.4byte gFieldEffectScript_Bubbles
.4byte gFieldEffectScript_Sparkle
.4byte gFieldEffectScript_ShowSecretPowerCave
.4byte gFieldEffectScript_ShowSecretPowerTree
.4byte gFieldEffectScript_ShowSecretPowerShrub
.4byte gFieldEffectScript_ShowCutGrass
.4byte gFieldEffectScript_FieldMoveShowMonInit
.4byte gFieldEffectScript_UsePuzzleEffect
.4byte gFieldEffectScript_SecretBaseBootPC
.4byte gFieldEffectScript_HallOfFameRecord
.4byte gFieldEffectScript_UseTeleport
.4byte gFieldEffectScript_Rayquaza
.4byte gFieldEffectScript_Unknown65
.4byte gFieldEffectScript_MoveDeoxysRock
.4byte gFieldEffectScript_ExclamationMarkIcon1 @ FLDEFF_EXCLAMATION_MARK_ICON
.4byte gFieldEffectScript_UseCutOnTallGrass @ FLDEFF_USE_CUT_ON_GRASS
.4byte gFieldEffectScript_UseCutOnTree @ FLDEFF_USE_CUT_ON_TREE
.4byte gFieldEffectScript_Shadow @ FLDEFF_SHADOW
.4byte gFieldEffectScript_TallGrass @ FLDEFF_TALL_GRASS
.4byte gFieldEffectScript_Ripple @ FLDEFF_RIPPLE
.4byte gFieldEffectScript_FieldMoveShowMon @ FLDEFF_FIELD_MOVE_SHOW_MON
.4byte gFieldEffectScript_Ash @ FLDEFF_ASH
.4byte gFieldEffectScript_SurfBlob @ FLDEFF_SURF_BLOB
.4byte gFieldEffectScript_UseSurf @ FLDEFF_USE_SURF
.4byte gFieldEffectScript_GroundImpactDust @ FLDEFF_DUST
.4byte gFieldEffectScript_UseSecretPowerCave @ FLDEFF_USE_SECRET_POWER_CAVE
.4byte gFieldEffectScript_JumpTallGrass @ FLDEFF_JUMP_TALL_GRASS
.4byte gFieldEffectScript_SandFootprints @ FLDEFF_SAND_FOOTPRINTS
.4byte gFieldEffectScript_JumpBigSplash @ FLDEFF_JUMP_BIG_SPLASH
.4byte gFieldEffectScript_Splash @ FLDEFF_SPLASH
.4byte gFieldEffectScript_JumpSmallSplash @ FLDEFF_JUMP_SMALL_SPLASH
.4byte gFieldEffectScript_LongGrass @ FLDEFF_LONG_GRASS
.4byte gFieldEffectScript_JumpLongGrass @ FLDEFF_JUMP_LONG_GRASS
.4byte gFieldEffectScript_UnusedGrass @ FLDEFF_UNUSED_GRASS
.4byte gFieldEffectScript_UnusedGrass2 @ FLDEFF_UNUSED_GRASS_2
.4byte gFieldEffectScript_UnusedSand @ FLDEFF_UNUSED_SAND
.4byte gFieldEffectScript_WaterSurfacing @ FLDEFF_WATER_SURFACING
.4byte gFieldEffectScript_BerryTreeGrowthSparkle @ FLDEFF_BERRY_TREE_GROWTH_SPARKLE
.4byte gFieldEffectScript_DeepSandFootprints @ FLDEFF_DEEP_SAND_FOOTPRINTS
.4byte gFieldEffectScript_PokeCenterHeal @ FLDEFF_POKECENTER_HEAL
.4byte gFieldEffectScript_UseSecretPowerTree @ FLDEFF_USE_SECRET_POWER_TREE
.4byte gFieldEffectScript_UseSecretPowerShrub @ FLDEFF_USE_SECRET_POWER_SHRUB
.4byte gFieldEffectScript_TreeDisguise @ FLDEFF_TREE_DISGUISE
.4byte gFieldEffectScript_MountainDisguise @ FLDEFF_MOUNTAIN_DISGUISE
.4byte gFieldEffectScript_NPCUseFly @ FLDEFF_NPCFLY_OUT
.4byte gFieldEffectScript_UseFly @ FLDEFF_USE_FLY
.4byte gFieldEffectScript_FlyIn @ FLDEFF_FLY_IN
.4byte gFieldEffectScript_QuestionMarkIcon @ FLDEFF_QUESTION_MARK_ICON
.4byte gFieldEffectScript_FeetInFlowingWater @ FLDEFF_FEET_IN_FLOWING_WATER
.4byte gFieldEffectScript_BikeTireTracks @ FLDEFF_BIKE_TIRE_TRACKS
.4byte gFieldEffectScript_SandDisguisePlaceholder @ FLDEFF_SAND_DISGUISE
.4byte gFieldEffectScript_UseRockSmash @ FLDEFF_USE_ROCK_SMASH
.4byte gFieldEffectScript_UseDig @ FLDEFF_USE_DIG
.4byte gFieldEffectScript_SandPile @ FLDEFF_SAND_PILE
.4byte gFieldEffectScript_UseStrength @ FLDEFF_USE_STRENGTH
.4byte gFieldEffectScript_ShortGrass @ FLDEFF_SHORT_GRASS
.4byte gFieldEffectScript_HotSpringsWater @ FLDEFF_HOT_SPRINGS_WATER
.4byte gFieldEffectScript_UseWaterfall @ FLDEFF_USE_WATERFALL
.4byte gFieldEffectScript_UseDive @ FLDEFF_USE_DIVE
.4byte gFieldEffectScript_Pokeball @ FLDEFF_POKEBALL
.4byte gFieldEffectScript_HeartIcon @ FLDEFF_HEART_ICON
.4byte gFieldEffectScript_Nop47 @ FLDEFF_NOP_47
.4byte gFieldEffectScript_Nop48 @ FLDEFF_NOP_48
.4byte gFieldEffectScript_AshPuff @ FLDEFF_ASH_PUFF
.4byte gFieldEffectScript_AshLaunch @ FLDEFF_ASH_LAUNCH
.4byte gFieldEffectScript_SweetScent @ FLDEFF_SWEET_SCENT
.4byte gFieldEffectScript_SandPillar @ FLDEFF_SAND_PILLAR
.4byte gFieldEffectScript_Bubbles @ FLDEFF_BUBBLES
.4byte gFieldEffectScript_Sparkle @ FLDEFF_SPARKLE
.4byte gFieldEffectScript_ShowSecretPowerCave @ FLDEFF_SECRET_POWER_CAVE
.4byte gFieldEffectScript_ShowSecretPowerTree @ FLDEFF_SECRET_POWER_TREE
.4byte gFieldEffectScript_ShowSecretPowerShrub @ FLDEFF_SECRET_POWER_SHRUB
.4byte gFieldEffectScript_ShowCutGrass @ FLDEFF_CUT_GRASS
.4byte gFieldEffectScript_FieldMoveShowMonInit @ FLDEFF_FIELD_MOVE_SHOW_MON_INIT
.4byte gFieldEffectScript_UsePuzzleEffect @ FLDEFF_USE_TOMB_PUZZLE_EFFECT
.4byte gFieldEffectScript_SecretBaseBootPC @ FLDEFF_PCTURN_ON
.4byte gFieldEffectScript_HallOfFameRecord @ FLDEFF_HALL_OF_FAME_RECORD
.4byte gFieldEffectScript_UseTeleport @ FLDEFF_USE_TELEPORT
.4byte gFieldEffectScript_RayquazaSpotlight @ FLDEFF_RAYQUAZA_SPOTLIGHT
.4byte gFieldEffectScript_DestroyDeoxysRock @ FLDEFF_DESTROY_DEOXYS_ROCK
.4byte gFieldEffectScript_MoveDeoxysRock @ FLDEFF_MOVE_DEOXYS_ROCK
gFieldEffectScript_ExclamationMarkIcon1:: @ 82DBAE0
field_eff_callnative FldEff_ExclamationMarkIcon
@@ -90,11 +90,11 @@ gFieldEffectScript_Shadow:: @ 82DBAF2
field_eff_end
gFieldEffectScript_TallGrass:: @ 82DBAF8
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_TallGrass
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_TallGrass
field_eff_end
gFieldEffectScript_Ripple:: @ 82DBB02
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_Ripple
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_Ripple
field_eff_end
gFieldEffectScript_FieldMoveShowMon:: @ 82DBB0C
@@ -102,7 +102,7 @@ gFieldEffectScript_FieldMoveShowMon:: @ 82DBB0C
field_eff_end
gFieldEffectScript_Ash:: @ 82DBB12
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_Ash
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_Ash
field_eff_end
gFieldEffectScript_SurfBlob:: @ 82DBB1C
@@ -114,55 +114,55 @@ gFieldEffectScript_UseSurf:: @ 82DBB22
field_eff_end
gFieldEffectScript_GroundImpactDust:: @ 82DBB28
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_Dust
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_Dust
field_eff_end
gFieldEffectScript_UseSecretPowerCave:: @ 82DBB32
field_eff_callnative FldEff_UseSecretPowerCave
field_eff_end
gFieldEffectScript_BikeHopTallGrass:: @ 82DBB38
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_JumpTallGrass
gFieldEffectScript_JumpTallGrass:: @ 82DBB38
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_JumpTallGrass
field_eff_end
gFieldEffectScript_SandFootprints:: @ 82DBB42
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_SandFootprints
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_SandFootprints
field_eff_end
gFieldEffectScript_BikeHopBigSplash:: @ 82DBB4C
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_JumpBigSplash
gFieldEffectScript_JumpBigSplash:: @ 82DBB4C
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_JumpBigSplash
field_eff_end
gFieldEffectScript_Splash:: @ 82DBB56
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_Splash
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_Splash
field_eff_end
gFieldEffectScript_BikeHopSmallSplash:: @ 82DBB60
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_JumpSmallSplash
gFieldEffectScript_JumpSmallSplash:: @ 82DBB60
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_JumpSmallSplash
field_eff_end
gFieldEffectScript_LongGrass:: @ 82DBB6A
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_LongGrass
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_LongGrass
field_eff_end
gFieldEffectScript_JumpLongGrass:: @ 82DBB74
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_JumpLongGrass
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_JumpLongGrass
field_eff_end
gFieldEffectScript_Unknown19:: @ 82DBB7E
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_Unknown19
gFieldEffectScript_UnusedGrass:: @ 82DBB7E
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_UnusedGrass
field_eff_end
gFieldEffectScript_Unknown20:: @ 82DBB88
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_Unknown20
gFieldEffectScript_UnusedGrass2:: @ 82DBB88
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_UnusedGrass2
field_eff_end
gFieldEffectScript_Unknown21:: @ 82DBB92
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_Unknown21
gFieldEffectScript_UnusedSand:: @ 82DBB92
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_UnusedSand
field_eff_end
gFieldEffectScript_Unknown22:: @ 82DBB9C
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_Unknown22
gFieldEffectScript_WaterSurfacing:: @ 82DBB9C
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_WaterSurfacing
field_eff_end
gFieldEffectScript_BerryTreeGrowthSparkle:: @ 82DBBA6
@@ -170,12 +170,12 @@ gFieldEffectScript_BerryTreeGrowthSparkle:: @ 82DBBA6
field_eff_end
gFieldEffectScript_DeepSandFootprints:: @ 82DBBAC
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_DeepSandFootprints
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_DeepSandFootprints
field_eff_end
gFieldEffectScript_PokeCenterHeal:: @ 82DBBB6
field_eff_loadfadedpal gFieldEffectObjectPaletteInfo4
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_PokecenterHeal
field_eff_loadfadedpal gSpritePalette_PokeballGlow
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_PokecenterHeal
field_eff_end
gFieldEffectScript_UseSecretPowerTree:: @ 82DBBC5
@@ -211,11 +211,11 @@ gFieldEffectScript_QuestionMarkIcon:: @ 82DBBEF
field_eff_end
gFieldEffectScript_FeetInFlowingWater:: @ 82DBBF5
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_FeetInFlowingWater
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_FeetInFlowingWater
field_eff_end
gFieldEffectScript_BikeTireTracks:: @ 82DBBFF
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_BikeTireTracks
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_BikeTireTracks
field_eff_end
gFieldEffectScript_SandDisguisePlaceholder:: @ 82DBC09
@@ -227,7 +227,7 @@ gFieldEffectScript_UseRockSmash:: @ 82DBC0F
field_eff_end
gFieldEffectScript_UseStrength:: @ 82DBC15
field_eff_callnative sub_8145E2C
field_eff_callnative FldEff_UseStrength
field_eff_end
gFieldEffectScript_UseDig:: @ 82DBC1B
@@ -235,15 +235,15 @@ gFieldEffectScript_UseDig:: @ 82DBC1B
field_eff_end
gFieldEffectScript_SandPile:: @ 82DBC21
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_SandPile
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_SandPile
field_eff_end
gFieldEffectScript_ShortGrass:: @ 82DBC2B
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_ShortGrass
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_ShortGrass
field_eff_end
gFieldEffectScript_HotSpringsWater:: @ 82DBC35
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo1, FldEff_HotSpringsWater
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_HotSpringsWater
field_eff_end
gFieldEffectScript_UseWaterfall:: @ 82DBC3F
@@ -255,28 +255,28 @@ gFieldEffectScript_UseDive:: @ 82DBC45
field_eff_end
gFieldEffectScript_Pokeball:: @ 82DBC4B
field_eff_loadpal gFieldEffectObjectPaletteInfo10
field_eff_loadpal gSpritePalette_Pokeball
field_eff_callnative FldEff_Pokeball
field_eff_end
gFieldEffectScript_HeartIcon:: @ 82DBC56
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_HeartIcon
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_HeartIcon
field_eff_end
gFieldEffectScript_Unknown47:: @ 82DBC60
field_eff_callnative FldEff_NopA6FC
gFieldEffectScript_Nop47:: @ 82DBC60
field_eff_callnative FldEff_Nop47
field_eff_end
gFieldEffectScript_Unknown48:: @ 82DBC66
field_eff_callnative FldEff_NopA700
gFieldEffectScript_Nop48:: @ 82DBC66
field_eff_callnative FldEff_Nop48
field_eff_end
gFieldEffectScript_JumpOutOfAsh:: @ 82DBC6C
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo2, FldEff_PopOutOfAsh
gFieldEffectScript_AshPuff:: @ 82DBC6C
field_eff_loadfadedpal_callnative gSpritePalette_Ash, FldEff_AshPuff
field_eff_end
gFieldEffectScript_LavaridgeGymWarp:: @ 82DBC76
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo2, FldEff_LavaridgeGymWarp
gFieldEffectScript_AshLaunch:: @ 82DBC76
field_eff_loadfadedpal_callnative gSpritePalette_Ash, FldEff_AshLaunch
field_eff_end
gFieldEffectScript_SweetScent:: @ 82DBC80
@@ -284,31 +284,31 @@ gFieldEffectScript_SweetScent:: @ 82DBC80
field_eff_end
gFieldEffectScript_SandPillar:: @ 82DBC86
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo9, FldEff_SandPillar
field_eff_loadfadedpal_callnative gSpritePalette_SandPillar, FldEff_SandPillar
field_eff_end
gFieldEffectScript_Bubbles:: @ 82DBC90
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_Bubbles
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_Bubbles
field_eff_end
gFieldEffectScript_Sparkle:: @ 82DBC9A
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo3, FldEff_Sparkle
field_eff_loadfadedpal_callnative gSpritePalette_SmallSparkle, FldEff_Sparkle
field_eff_end
gFieldEffectScript_ShowSecretPowerCave:: @ 82DBCA4
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo7, FldEff_SecretPowerCave
field_eff_loadfadedpal_callnative gSpritePalette_SecretPower_Cave, FldEff_SecretPowerCave
field_eff_end
gFieldEffectScript_ShowSecretPowerTree:: @ 82DBCAE
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo8, FldEff_SecretPowerTree
field_eff_loadfadedpal_callnative gSpritePalette_SecretPower_Plant, FldEff_SecretPowerTree
field_eff_end
gFieldEffectScript_ShowSecretPowerShrub:: @ 82DBCB8
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo8, FldEff_SecretPowerShrub
field_eff_loadfadedpal_callnative gSpritePalette_SecretPower_Plant, FldEff_SecretPowerShrub
field_eff_end
gFieldEffectScript_ShowCutGrass:: @ 82DBCC2
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo6, FldEff_CutGrass
field_eff_loadfadedpal_callnative gSpritePalette_CutGrass, FldEff_CutGrass
field_eff_end
gFieldEffectScript_FieldMoveShowMonInit:: @ 82DBCCC
@@ -324,22 +324,22 @@ gFieldEffectScript_SecretBaseBootPC:: @ 82DBCD8
field_eff_end
gFieldEffectScript_HallOfFameRecord:: @ 82DBCDE
field_eff_loadfadedpal gFieldEffectObjectPaletteInfo4
field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo5, FldEff_HallOfFameRecord
field_eff_loadfadedpal gSpritePalette_PokeballGlow
field_eff_loadfadedpal_callnative gSpritePalette_HofMonitor, FldEff_HallOfFameRecord
field_eff_end
gFieldEffectScript_UseTeleport:: @ 82DBCED
field_eff_callnative FldEff_UseTeleport
field_eff_end
gFieldEffectScript_Rayquaza:: @ 82DBCF3
field_eff_callnative sub_80B8F98
gFieldEffectScript_RayquazaSpotlight:: @ 82DBCF3
field_eff_callnative FldEff_RayquazaSpotlight
field_eff_end
gFieldEffectScript_Unknown65:: @ 82DBCF9
field_eff_callnative sub_80B9ADC
gFieldEffectScript_DestroyDeoxysRock:: @ 82DBCF9
field_eff_callnative FldEff_DestroyDeoxysRock
field_eff_end
gFieldEffectScript_MoveDeoxysRock:: @ 82DBCFF
field_eff_callnative Fldeff_MoveDeoxysRock
field_eff_callnative FldEff_MoveDeoxysRock
field_eff_end
-37
View File
@@ -1,37 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.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
gOverworldBackgroundLayerFlags:: @ 82EC7C4
.2byte BLDCNT_TGT2_BG0
.2byte BLDCNT_TGT2_BG1
.2byte BLDCNT_TGT2_BG2
.2byte BLDCNT_TGT2_BG3
gOrbEffectBackgroundLayerFlags:: @ 82EC7CC
.2byte BLDCNT_TGT1_BG0
.2byte BLDCNT_TGT1_BG1
.2byte BLDCNT_TGT1_BG2
.2byte BLDCNT_TGT1_BG3
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+28 -28
View File
@@ -502,34 +502,34 @@
"blockdata_filepath": "data/layouts/Route134/map.bin"
},
{
"id": "LAYOUT_UNDERWATER2",
"name": "Underwater2_Layout",
"id": "LAYOUT_UNDERWATER_ROUTE126",
"name": "Underwater_Route126_Layout",
"width": 80,
"height": 80,
"primary_tileset": "gTileset_General",
"secondary_tileset": "gTileset_Underwater",
"border_filepath": "data/layouts/Underwater2/border.bin",
"blockdata_filepath": "data/layouts/Underwater2/map.bin"
"border_filepath": "data/layouts/Underwater_Route126/border.bin",
"blockdata_filepath": "data/layouts/Underwater_Route126/map.bin"
},
{
"id": "LAYOUT_UNDERWATER3",
"name": "Underwater3_Layout",
"id": "LAYOUT_UNDERWATER_ROUTE127",
"name": "Underwater_Route127_Layout",
"width": 80,
"height": 80,
"primary_tileset": "gTileset_General",
"secondary_tileset": "gTileset_Underwater",
"border_filepath": "data/layouts/Underwater3/border.bin",
"blockdata_filepath": "data/layouts/Underwater3/map.bin"
"border_filepath": "data/layouts/Underwater_Route127/border.bin",
"blockdata_filepath": "data/layouts/Underwater_Route127/map.bin"
},
{
"id": "LAYOUT_UNDERWATER4",
"name": "Underwater4_Layout",
"id": "LAYOUT_UNDERWATER_ROUTE128",
"name": "Underwater_Route128_Layout",
"width": 120,
"height": 40,
"primary_tileset": "gTileset_General",
"secondary_tileset": "gTileset_Underwater",
"border_filepath": "data/layouts/Underwater4/border.bin",
"blockdata_filepath": "data/layouts/Underwater4/map.bin"
"border_filepath": "data/layouts/Underwater_Route128/border.bin",
"blockdata_filepath": "data/layouts/Underwater_Route128/map.bin"
},
{
"id": "LAYOUT_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F",
@@ -2732,14 +2732,14 @@
"blockdata_filepath": "data/layouts/LilycoveCity_DepartmentStoreElevator/map.bin"
},
{
"id": "LAYOUT_UNDERWATER1",
"name": "Underwater1_Layout",
"id": "LAYOUT_UNDERWATER_ROUTE124",
"name": "Underwater_Route124_Layout",
"width": 80,
"height": 80,
"primary_tileset": "gTileset_General",
"secondary_tileset": "gTileset_Underwater",
"border_filepath": "data/layouts/Underwater1/border.bin",
"blockdata_filepath": "data/layouts/Underwater1/map.bin"
"border_filepath": "data/layouts/Underwater_Route124/border.bin",
"blockdata_filepath": "data/layouts/Underwater_Route124/map.bin"
},
{
"id": "LAYOUT_MOSSDEEP_CITY_SPACE_CENTER_1F",
@@ -4092,34 +4092,34 @@
"blockdata_filepath": "data/layouts/TerraCave_End/map.bin"
},
{
"id": "LAYOUT_UNDERWATER6",
"name": "Underwater6_Layout",
"id": "LAYOUT_UNDERWATER_ROUTE105",
"name": "Underwater_Route105_Layout",
"width": 40,
"height": 80,
"primary_tileset": "gTileset_General",
"secondary_tileset": "gTileset_Underwater",
"border_filepath": "data/layouts/Underwater6/border.bin",
"blockdata_filepath": "data/layouts/Underwater6/map.bin"
"border_filepath": "data/layouts/Underwater_Route105/border.bin",
"blockdata_filepath": "data/layouts/Underwater_Route105/map.bin"
},
{
"id": "LAYOUT_UNDERWATER7",
"name": "Underwater7_Layout",
"id": "LAYOUT_UNDERWATER_ROUTE125",
"name": "Underwater_Route125_Layout",
"width": 80,
"height": 40,
"primary_tileset": "gTileset_General",
"secondary_tileset": "gTileset_Underwater",
"border_filepath": "data/layouts/Underwater7/border.bin",
"blockdata_filepath": "data/layouts/Underwater7/map.bin"
"border_filepath": "data/layouts/Underwater_Route125/border.bin",
"blockdata_filepath": "data/layouts/Underwater_Route125/map.bin"
},
{
"id": "LAYOUT_UNDERWATER5",
"name": "Underwater5_Layout",
"id": "LAYOUT_UNDERWATER_ROUTE129",
"name": "Underwater_Route129_Layout",
"width": 80,
"height": 40,
"primary_tileset": "gTileset_General",
"secondary_tileset": "gTileset_Underwater",
"border_filepath": "data/layouts/Underwater5/border.bin",
"blockdata_filepath": "data/layouts/Underwater5/map.bin"
"border_filepath": "data/layouts/Underwater_Route129/border.bin",
"blockdata_filepath": "data/layouts/Underwater_Route129/map.bin"
},
{
"id": "LAYOUT_MARINE_CAVE_END",
@@ -2,7 +2,7 @@
"id": "MAP_ABANDONED_SHIP_CAPTAINS_OFFICE",
"name": "AbandonedShip_CaptainsOffice",
"layout": "LAYOUT_ABANDONED_SHIP_CAPTAINS_OFFICE",
"music": "MUS_DAN02",
"music": "MUS_ABANDONED_SHIP",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
"weather": "WEATHER_SHADE",
@@ -6,7 +6,7 @@ AbandonedShip_CaptainsOffice_EventScript_CaptSternAide:: @ 82387E2
faceplayer
goto_if_set FLAG_EXCHANGED_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus
checkitem ITEM_SCANNER, 1
compare VAR_RESULT, 1
compare VAR_RESULT, TRUE
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
@@ -2,7 +2,7 @@
"id": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"name": "AbandonedShip_Corridors_1F",
"layout": "LAYOUT_ABANDONED_SHIP_CORRIDORS_1F",
"music": "MUS_DAN02",
"music": "MUS_ABANDONED_SHIP",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
"weather": "WEATHER_SHADE",
@@ -2,7 +2,7 @@
"id": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
"name": "AbandonedShip_Corridors_B1F",
"layout": "LAYOUT_ABANDONED_SHIP_CORRIDORS_B1F",
"music": "MUS_DAN02",
"music": "MUS_ABANDONED_SHIP",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
"weather": "WEATHER_SHADE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_ABANDONED_SHIP_DECK",
"name": "AbandonedShip_Deck",
"layout": "LAYOUT_ABANDONED_SHIP_DECK",
"music": "MUS_DAN02",
"music": "MUS_ABANDONED_SHIP",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
"weather": "WEATHER_NONE",
@@ -2,7 +2,7 @@
"id": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
"name": "AbandonedShip_HiddenFloorCorridors",
"layout": "LAYOUT_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
"music": "MUS_DAN02",
"music": "MUS_ABANDONED_SHIP",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
"weather": "WEATHER_SHADE",
@@ -2,7 +2,7 @@
"id": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
"name": "AbandonedShip_HiddenFloorRooms",
"layout": "LAYOUT_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
"music": "MUS_DAN02",
"music": "MUS_ABANDONED_SHIP",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
"weather": "WEATHER_SHADE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_ABANDONED_SHIP_ROOM_B1F",
"name": "AbandonedShip_Room_B1F",
"layout": "LAYOUT_ABANDONED_SHIP_ROOM_B1F",
"music": "MUS_DAN02",
"music": "MUS_ABANDONED_SHIP",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
"weather": "WEATHER_SHADE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_ABANDONED_SHIP_ROOMS2_1F",
"name": "AbandonedShip_Rooms2_1F",
"layout": "LAYOUT_ABANDONED_SHIP_ROOMS2_1F",
"music": "MUS_DAN02",
"music": "MUS_ABANDONED_SHIP",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
"weather": "WEATHER_SHADE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_ABANDONED_SHIP_ROOMS2_B1F",
"name": "AbandonedShip_Rooms2_B1F",
"layout": "LAYOUT_ABANDONED_SHIP_ROOMS2_B1F",
"music": "MUS_DAN02",
"music": "MUS_ABANDONED_SHIP",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
"weather": "WEATHER_SHADE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_ABANDONED_SHIP_ROOMS_1F",
"name": "AbandonedShip_Rooms_1F",
"layout": "LAYOUT_ABANDONED_SHIP_ROOMS_1F",
"music": "MUS_DAN02",
"music": "MUS_ABANDONED_SHIP",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
"weather": "WEATHER_SHADE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_ABANDONED_SHIP_ROOMS_B1F",
"name": "AbandonedShip_Rooms_B1F",
"layout": "LAYOUT_ABANDONED_SHIP_ROOMS_B1F",
"music": "MUS_DAN02",
"music": "MUS_ABANDONED_SHIP",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
"weather": "WEATHER_SHADE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_ABANDONED_SHIP_UNDERWATER1",
"name": "AbandonedShip_Underwater1",
"layout": "LAYOUT_ABANDONED_SHIP_UNDERWATER1",
"music": "MUS_DEEPDEEP",
"music": "MUS_UNDERWATER",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
"weather": "WEATHER_UNDERWATER_BUBBLES",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_ABANDONED_SHIP_UNDERWATER2",
"name": "AbandonedShip_Underwater2",
"layout": "LAYOUT_ABANDONED_SHIP_UNDERWATER2",
"music": "MUS_DEEPDEEP",
"music": "MUS_UNDERWATER",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
"weather": "WEATHER_UNDERWATER_BUBBLES",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_ALTERING_CAVE",
"name": "AlteringCave",
"layout": "LAYOUT_ALTERING_CAVE",
"music": "MUS_RG_NANADUNGEON",
"music": "MUS_RG_SEVII_CAVE",
"region_map_section": "MAPSEC_ALTERING_CAVE",
"requires_flash": false,
"weather": "WEATHER_NONE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_ANCIENT_TOMB",
"name": "AncientTomb",
"layout": "LAYOUT_ANCIENT_TOMB",
"music": "MUS_MABOROSI",
"music": "MUS_SEALED_CHAMBER",
"region_map_section": "MAPSEC_ANCIENT_TOMB",
"requires_flash": false,
"weather": "WEATHER_NONE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_AQUA_HIDEOUT_1F",
"name": "AquaHideout_1F",
"layout": "LAYOUT_AQUA_HIDEOUT_1F",
"music": "MUS_AJITO",
"music": "MUS_AQUA_MAGMA_HIDEOUT",
"region_map_section": "MAPSEC_AQUA_HIDEOUT",
"requires_flash": false,
"weather": "WEATHER_NONE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_AQUA_HIDEOUT_B1F",
"name": "AquaHideout_B1F",
"layout": "LAYOUT_AQUA_HIDEOUT_B1F",
"music": "MUS_AJITO",
"music": "MUS_AQUA_MAGMA_HIDEOUT",
"region_map_section": "MAPSEC_AQUA_HIDEOUT",
"requires_flash": false,
"weather": "WEATHER_NONE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_AQUA_HIDEOUT_B2F",
"name": "AquaHideout_B2F",
"layout": "LAYOUT_AQUA_HIDEOUT_B2F",
"music": "MUS_AJITO",
"music": "MUS_AQUA_MAGMA_HIDEOUT",
"region_map_section": "MAPSEC_AQUA_HIDEOUT",
"requires_flash": false,
"weather": "WEATHER_NONE",
+6 -3
View File
@@ -1,3 +1,6 @@
.set LOCALID_MATT, 1
.set LOCALID_SUBMARINE, 4
AquaHideout_B2F_MapScripts:: @ 8233DCF
map_script MAP_SCRIPT_ON_TRANSITION, AquaHideout_B2F_OnTransition
.byte 0
@@ -12,7 +15,7 @@ AquaHideout_B2F_EventScript_PreventMattNoticing:: @ 8233DDF
AquaHideout_B2F_EventScript_MattNoticePlayer:: @ 8233DE5
lockall
setvar VAR_0x8008, 1 @ Matt object event id
setvar VAR_0x8008, LOCALID_MATT
playse SE_PIN
applymovement VAR_0x8008, Common_Movement_ExclamationMark
waitmovement 0
@@ -29,8 +32,8 @@ AquaHideout_B2F_EventScript_Matt:: @ 8233E09
end
AquaHideout_B2F_EventScript_SubmarineEscape:: @ 8233E25
setvar VAR_0x8008, 1 @ Matt object event id
setvar VAR_0x8009, 4 @ Submarine object event id
setvar VAR_0x8008, LOCALID_MATT
setvar VAR_0x8009, LOCALID_SUBMARINE
applymovement VAR_0x8008, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
delay 20
@@ -2,7 +2,7 @@
"id": "MAP_AQUA_HIDEOUT_UNUSED_RUBY_MAP1",
"name": "AquaHideout_UnusedRubyMap1",
"layout": "LAYOUT_AQUA_HIDEOUT_UNUSED_RUBY_MAP1",
"music": "MUS_AJITO",
"music": "MUS_AQUA_MAGMA_HIDEOUT",
"region_map_section": "MAPSEC_AQUA_HIDEOUT",
"requires_flash": false,
"weather": "WEATHER_NONE",
@@ -2,7 +2,7 @@
"id": "MAP_AQUA_HIDEOUT_UNUSED_RUBY_MAP2",
"name": "AquaHideout_UnusedRubyMap2",
"layout": "LAYOUT_AQUA_HIDEOUT_UNUSED_RUBY_MAP2",
"music": "MUS_AJITO",
"music": "MUS_AQUA_MAGMA_HIDEOUT",
"region_map_section": "MAPSEC_AQUA_HIDEOUT",
"requires_flash": false,
"weather": "WEATHER_NONE",
@@ -2,7 +2,7 @@
"id": "MAP_AQUA_HIDEOUT_UNUSED_RUBY_MAP3",
"name": "AquaHideout_UnusedRubyMap3",
"layout": "LAYOUT_AQUA_HIDEOUT_UNUSED_RUBY_MAP3",
"music": "MUS_AJITO",
"music": "MUS_AQUA_MAGMA_HIDEOUT",
"region_map_section": "MAPSEC_AQUA_HIDEOUT",
"requires_flash": false,
"weather": "WEATHER_NONE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_ARTISAN_CAVE_1F",
"name": "ArtisanCave_1F",
"layout": "LAYOUT_ARTISAN_CAVE_1F",
"music": "MUS_DAN01",
"music": "MUS_PETALBURG_WOODS",
"region_map_section": "MAPSEC_ARTISAN_CAVE",
"requires_flash": false,
"weather": "WEATHER_NONE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_ARTISAN_CAVE_B1F",
"name": "ArtisanCave_B1F",
"layout": "LAYOUT_ARTISAN_CAVE_B1F",
"music": "MUS_DAN01",
"music": "MUS_PETALBURG_WOODS",
"region_map_section": "MAPSEC_ARTISAN_CAVE",
"requires_flash": false,
"weather": "WEATHER_NONE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_COLOSSEUM_2P",
"name": "BattleColosseum_2P",
"layout": "LAYOUT_BATTLE_COLOSSEUM_2P",
"music": "MUS_RAINBOW",
"music": "MUS_EVER_GRANDE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
+1 -1
View File
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_COLOSSEUM_4P",
"name": "BattleColosseum_4P",
"layout": "LAYOUT_BATTLE_COLOSSEUM_4P",
"music": "MUS_RAINBOW",
"music": "MUS_EVER_GRANDE",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
"weather": "WEATHER_NONE",
@@ -1,3 +1,12 @@
.set LOCALID_BLACK_BELT_1, 1
.set LOCALID_BLACK_BELT_2, 2
.set LOCALID_BLACK_BELT_3, 3
.set LOCALID_BLACK_BELT_4, 4
.set LOCALID_ATTENDANT, 5
.set LOCALID_OPPONENT, 7
.set LOCALID_PLAYER, 8
.set LOCALID_ANNOUNCER, 9
BattleFrontier_BattleArenaBattleRoom_MapScripts:: @ 8257487
map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleArenaBattleRoom_OnTransition
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaBattleRoom_OnFrame
@@ -6,7 +15,7 @@ BattleFrontier_BattleArenaBattleRoom_MapScripts:: @ 8257487
.byte 0
@ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
@ The player is represented instead by object event 8, which has the gfx id VAR_OBJ_GFX_ID_1
@ The player is represented instead by LOCALID_PLAYER, which has the gfx id VAR_OBJ_GFX_ID_1
BattleFrontier_BattleArenaBattleRoom_OnResume: @ 825749C
special OffsetCameraForBattle
@@ -39,48 +48,48 @@ BattleFrontier_BattleArenaBattleRoom_OnFrame: @ 82574D2
BattleFrontier_BattleArenaBattleRoom_EventScript_EnterRoom:: @ 82574DC
lockall
showobjectat 8, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerEnter
showobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerEnter
waitmovement 0
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 0
goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers
applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft
setvar VAR_TEMP_2, 1
frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE
goto BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent
BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers:: @ 825752E
tower_setopponent
addobject 7
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentEnter
addobject LOCALID_OPPONENT
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentEnter
waitmovement 0
applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_W187
applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_M_BELLY_DRUM
waitse
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_PlayerStepForward, MSGBOX_DEFAULT
closemessage
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward
waitmovement 0
applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_W187
applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_M_BELLY_DRUM
waitse
waitmovement 0
arena_gettrainername
msgbox BattleFrontier_BattleArenaBattleRoom_Text_OpponentStepForward, MSGBOX_DEFAULT
closemessage
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward
waitmovement 0
applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_W187
applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_M_BELLY_DRUM
waitse
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_SetKOTourneyBegin, MSGBOX_DEFAULT
closemessage
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward
waitmovement 0
palace_getopponentintro
msgbox gStringVar4, MSGBOX_DEFAULT
@@ -89,12 +98,12 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers:: @ 825752E
switch VAR_RESULT
case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedOpponent
BattleFrontier_BattleArenaBattleRoom_EventScript_DeclareOpponentWinner:: @ 82575DB
applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
applymovement 1, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
applymovement 2, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
applymovement 3, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp
applymovement 4, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp
playse SE_W173
applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
applymovement LOCALID_BLACK_BELT_1, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
applymovement LOCALID_BLACK_BELT_2, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
applymovement LOCALID_BLACK_BELT_3, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp
applymovement LOCALID_BLACK_BELT_4, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp
playse SE_M_SNORE
waitse
waitmovement 0
arena_gettrainername
@@ -111,18 +120,18 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedOpponent:: @ 8257630
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
case 7, BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerWalkBackToLine
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentExit
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerWalkBackToLine
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentExit
waitmovement 0
removeobject 7
applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft
removeobject LOCALID_OPPONENT
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_MonsWillBeRestored, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_ME_ASA
playfanfare MUS_HEAL
waitfanfare
special HealPlayerParty
BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent:: @ 82576B0
@@ -193,8 +202,8 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_AskRetireChallenge:: @ 8257808
BattleFrontier_BattleArenaBattleRoom_EventScript_ContinueChallenge:: @ 825783A
closemessage
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight
applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight
waitmovement 0
goto BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers
waitstate
@@ -273,27 +282,27 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoonNoRecord:: @ 8
BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGreta:: @ 8257961
call BattleFrontier_EventScript_SetBrainObjectGfx
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight
applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight
waitmovement 0
applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_W187
applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_M_BELLY_DRUM
waitse
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_PlayerStepForward, MSGBOX_DEFAULT
closemessage
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForwardLong
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForwardLong
waitmovement 0
applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_W187
applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_M_BELLY_DRUM
waitse
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_MakeWayForGreta, MSGBOX_DEFAULT
closemessage
addobject 7
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaEnter
addobject LOCALID_OPPONENT
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaEnter
waitmovement 0
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward
waitmovement 0
switch VAR_TEMP_F
case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleArenaBattleRoom_EventScript_IntroGretaGold
@@ -305,11 +314,11 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGreta:: @ 8257961
msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureChallenger, MSGBOX_DEFAULT
closemessage
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_IsThatRight, MSGBOX_DEFAULT
closemessage
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_YouLookWeakTakeThingsEasy, MSGBOX_DEFAULT
BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaSilver:: @ 8257A3F
@@ -324,10 +333,10 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaSilver:: @ 8257A5C
frontier_getsymbols
compare VAR_RESULT, 0
goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureToughAfterAll, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattleArenaBattleRoom_Text_ReceivedGutsSymbol
waitmessage
waitfanfare
@@ -342,11 +351,11 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_IntroGretaGold:: @ 8257AA5
msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaLookingForwardToSeeingAgain, MSGBOX_DEFAULT
closemessage
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_SoAreYouReady, MSGBOX_DEFAULT
closemessage
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_WontAllowHalfheartedEffort, MSGBOX_DEFAULT
BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaGold:: @ 8257AF8
@@ -361,10 +370,10 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaGold:: @ 8257B15
frontier_getsymbols
compare VAR_RESULT, 2
goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaBlownAway, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattleArenaBattleRoom_Text_GutsSymbolTookGoldenShine
waitmessage
waitfanfare
@@ -392,12 +401,12 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_DoArenaBattle:: @ 8257B6C
return
BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner:: @ 8257BA9
applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
applymovement 1, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
applymovement 2, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
applymovement 3, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp
applymovement 4, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp
playse SE_BAN
applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
applymovement LOCALID_BLACK_BELT_1, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
applymovement LOCALID_BLACK_BELT_2, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
applymovement LOCALID_BLACK_BELT_3, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp
applymovement LOCALID_BLACK_BELT_4, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp
playse SE_BANG
waitse
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsPlayer, MSGBOX_DEFAULT
@@ -479,8 +488,8 @@ BattleFrontier_BattleArenaBattleRoom_OnWarp: @ 8257C0C
.2byte 0
BattleFrontier_BattleArenaBattleRoom_EventScript_SetUpRoomObjects:: @ 8257C16
hideobjectat 8, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM
removeobject 7
hideobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM
removeobject LOCALID_OPPONENT
call BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisible
setvar VAR_TEMP_1, 1
@@ -1,3 +1,5 @@
.set LOCALID_ATTENDANT, 1
BattleFrontier_BattleArenaCorridor_MapScripts:: @ 82573B9
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaCorridor_OnFrame
.byte 0
@@ -9,13 +11,13 @@ BattleFrontier_BattleArenaCorridor_OnFrame: @ 82573BF
BattleFrontier_BattleArenaCorridor_EventScript_WalkToBattleRoom:: @ 82573C9
delay 16
setvar VAR_TEMP_0, 1
applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_AttendantWalkToDoor
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaCorridor_Movement_AttendantWalkToDoor
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_PlayerWalkToDoor
waitmovement 0
applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_AttendantFacePlayer
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaCorridor_Movement_AttendantFacePlayer
waitmovement 0
msgbox BattleFrontier_BattleArenaCorridor_Text_PleaseStepIn, MSGBOX_SIGN
applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_AttendantMoveOutOfWay
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaCorridor_Movement_AttendantMoveOutOfWay
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_PlayerEnterDoor
waitmovement 0
@@ -1,3 +1,5 @@
.set LOCALID_ATTENDANT, 1
BattleFrontier_BattleArenaLobby_MapScripts:: @ 8255C36
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaLobby_OnFrame
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleArenaLobby_OnWarp
@@ -206,12 +208,12 @@ BattleFrontier_BattleArenaLobby_EventScript_EndCancelChallenge:: @ 8256003
end
BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLv50:: @ 8256005
applymovement 1, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToLeftDoor
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToLeftDoor
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToLeftDoor
waitmovement 0
opendoor 2, 2
waitdooranim
applymovement 1, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor
waitmovement 0
closedoor 2, 2
@@ -255,12 +257,12 @@ BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor: @ 825604C
step_end
BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLvOpen:: @ 8256050
applymovement 1, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToRightDoor
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToRightDoor
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToRightDoor
waitmovement 0
opendoor 11, 2
waitdooranim
applymovement 1, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor
waitmovement 0
closedoor 11, 2
@@ -1,3 +1,10 @@
.set LOCALID_ANNOUNCER, 1
.set LOCALID_AUDIENCE_TWIN, 2
.set LOCALID_AUDIENCE_WALKING, 6
.set LOCALID_REFEREE, 9
.set LOCALID_PLAYER, 13
.set LOCALID_OPPONENT, 15
BattleFrontier_BattleDomeBattleRoom_MapScripts:: @ 824BC9C
map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleDomeBattleRoom_OnTransition
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeBattleRoom_OnFrame
@@ -43,24 +50,24 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_EnterRoom:: @ 824BD0A
call BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum
compare VAR_RESULT, DOME_ROUND1
call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_TryDoAudienceMemberWalkToSeat
applymovement 1, Common_Movement_WalkInPlaceDown
applymovement LOCALID_ANNOUNCER, Common_Movement_WalkInPlaceDown
waitmovement 0
call BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayer
msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerHasEnteredDome, MSGBOX_DEFAULT
closemessage
showobjectat 13, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM
showobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM
compare VAR_TEMP_F, DOME_FINAL
goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnter
compare VAR_TEMP_E, FRONTIER_BRAIN_NOT_READY
goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnterForTucker
BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnter:: @ 824BD4E
applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnter
applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnter
goto BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceReactToPlayer
BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnterForTucker:: @ 824BD5A
applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnterForTucker
applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnterForTucker
BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceReactToPlayer:: @ 824BD61
playse SE_W227B
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitmovement 0
compare VAR_TEMP_F, DOME_FINAL
@@ -71,8 +78,8 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_BattleOpponent:: @ 824BD82
dome_getopponentname
msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerVersusTrainer, MSGBOX_DEFAULT
closemessage
applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward
applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_OpponentStepForward
applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward
applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_OpponentStepForward
waitmovement 0
tower_getopponentintro 0
msgbox gStringVar4, MSGBOX_DEFAULT
@@ -88,15 +95,15 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_BattleOpponent:: @ 824BD82
BattleFrontier_BattleDomeBattleRoom_EventScript_Draw:: @ 824BDF7
msgbox BattleFrontier_BattleDomeBattleRoom_Text_RefereeDecisionPleaseWait, MSGBOX_DEFAULT
closemessage
playse SE_W227B
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
delay 60
applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_TieRefereeEnter
applymovement LOCALID_REFEREE, BattleFrontier_BattleDomeBattleRoom_Movement_RefereeEnter
waitmovement 0
applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_RefereeFaceLeft
applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleDomeBattleRoom_Movement_AnnouncerFaceLeft
waitmovement 0
delay 180
applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_TieRefereeExit
applymovement LOCALID_REFEREE, BattleFrontier_BattleDomeBattleRoom_Movement_RefereeExit
waitmovement 0
compare VAR_TEMP_2, DRAW_TUCKER @ Tucker always wins on a draw
goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent
@@ -104,7 +111,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_Draw:: @ 824BDF7
switch VAR_RESULT
case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent
BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent:: @ 824BE4F
applymovement 1, Common_Movement_WalkInPlaceDown
applymovement LOCALID_ANNOUNCER, Common_Movement_WalkInPlaceDown
waitmovement 0
dome_getopponentname
compare VAR_TEMP_2, NO_DRAW
@@ -113,7 +120,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent:: @ 824BE4F
call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWonDraw
compare VAR_TEMP_2, DRAW_TUCKER
call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerWonDraw
playse SE_W227B
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
delay 60
BattleFrontier_BattleDomeBattleRoom_EventScript_LostTourney:: @ 824BE8D
@@ -140,13 +147,13 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerWonDraw:: @ 824BED9
return
BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent:: @ 824BEE0
applymovement 1, Common_Movement_WalkInPlaceDown
applymovement LOCALID_ANNOUNCER, Common_Movement_WalkInPlaceDown
waitmovement 0
compare VAR_TEMP_2, NO_DRAW
call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWon
compare VAR_TEMP_2, DRAW_TRAINER
call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWonDraw
playse SE_W227B
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
delay 60
dome_getroundtext
@@ -161,7 +168,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent:: @ 824BEE0
waitstate
BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney:: @ 824BF62
applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerApproachAudience
applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerApproachAudience
waitmovement 0
frontier_get FRONTIER_DATA_LVL_MODE
switch VAR_RESULT
@@ -172,8 +179,8 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney:: @ 824BF62
BattleFrontier_BattleDomeBattleRoom_EventScript_WonLvOpenTourney:: @ 824BF96
msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsLvOpenChamp, MSGBOX_DEFAULT
BattleFrontier_BattleDomeBattleRoom_EventScript_CelebrateWin:: @ 824BF9E
special DoConfettiEffect
playse SE_W227B
special DoDomeConfetti
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
delay 60
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
@@ -351,28 +358,28 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerGold:: @ 824C209
msgbox BattleFrontier_BattleDomeBattleRoom_Text_LegendHasReturnedDomeAceTucker, MSGBOX_DEFAULT
BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerEnter:: @ 824C211
closemessage
applymovement 2, BattleFrontier_BattleDomeBattleRoom_Movement_AudienceTwinJump
applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_RefereeMoveForTuckerEntrance
applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerEnterAndDance
playse SE_W227B
applymovement LOCALID_AUDIENCE_TWIN, BattleFrontier_BattleDomeBattleRoom_Movement_AudienceTwinJump
applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleDomeBattleRoom_Movement_AnnouncerMoveForTuckerEntrance
applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerEnterAndDance
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
playse SE_W227B
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
playse SE_W227B
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
playse SE_W227B
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
playse SE_W227B
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
waitmovement 0
message BattleFrontier_BattleDomeBattleRoom_Text_SpectatorTuckerChant
waitmessage
playse SE_W227B
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
switch VAR_TEMP_E
@@ -397,10 +404,10 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver:: @ 824C2B9
compare VAR_RESULT, 0
goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney
closemessage
applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer
applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer
waitmovement 0
msgbox BattleFrontier_BattleDomeBattleRoom_Text_SeeYourFrontierPass, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattleDomeBattleRoom_Text_ReceivedTacticsSymbol
waitmessage
waitfanfare
@@ -427,10 +434,10 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold:: @ 824C373
compare VAR_RESULT, 2
goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney
closemessage
applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer
applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer
waitmovement 0
msgbox BattleFrontier_BattleDomeBattleRoom_Text_NeverLostWhenPowerUnleashed, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattleDomeBattleRoom_Text_TacticsSymbolTookGoldenShine
waitmessage
waitfanfare
@@ -441,15 +448,15 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold:: @ 824C373
BattleFrontier_BattleDomeBattleRoom_EventScript_DoTuckerBattle:: @ 824C400
msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerVersusTucker, MSGBOX_DEFAULT
closemessage
applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward2
applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerStepForward
applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward2
applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerStepForward
waitmovement 0
call BattleFrontier_BattleDomeBattleRoom_EventScript_DoDomeBattle
return
BattleFrontier_BattleDomeBattleRoom_EventScript_LostToTucker:: @ 824C420
msgbox BattleFrontier_BattleDomeBattleRoom_Text_WinnerIsTucker, MSGBOX_DEFAULT
playse SE_W227B
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
goto BattleFrontier_BattleDomeBattleRoom_EventScript_LostTourney
@@ -477,7 +484,7 @@ BattleFrontier_BattleDomeBattleRoom_OnWarp: @ 824C481
.2byte 0
BattleFrontier_BattleDomeBattleRoom_EventScript_SetUpObjects:: @ 824C48B
hideobjectat 13, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM
hideobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM
call BattleFrontier_BattleDomeBattleRoom_EventScript_AddAudience
call BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx
setvar VAR_TEMP_1, 1
@@ -490,10 +497,10 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_SetUpObjects:: @ 824C48B
compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects
call BattleFrontier_EventScript_SetBrainObjectGfx
setobjectxyperm 15, 13, 9
removeobject 15
addobject 15
applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisibleFacingUp
setobjectxyperm LOCALID_OPPONENT, 13, 9
removeobject LOCALID_OPPONENT
addobject LOCALID_OPPONENT
applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisibleFacingUp
BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects:: @ 824C4EF
end
@@ -746,7 +753,7 @@ BattleFrontier_BattleDomeBattleRoom_Movement_TuckerEnterAndDance: @ 824C78E
walk_left
step_end
BattleFrontier_BattleDomeBattleRoom_Movement_RefereeMoveForTuckerEntrance: @ 824C7F9
BattleFrontier_BattleDomeBattleRoom_Movement_AnnouncerMoveForTuckerEntrance: @ 824C7F9
delay_16
delay_16
walk_left
@@ -893,14 +900,14 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_SetWalkingAudienceMemberPos:: @
copyvar VAR_TEMP_D, VAR_RESULT
compare VAR_TEMP_D, 0
goto_if_eq Common_EventScript_NopReturn
setobjectxyperm 6, 2, 0
setobjectmovementtype 6, MOVEMENT_TYPE_FACE_RIGHT
setobjectxyperm LOCALID_AUDIENCE_WALKING, 2, 0
setobjectmovementtype LOCALID_AUDIENCE_WALKING, MOVEMENT_TYPE_FACE_RIGHT
return
BattleFrontier_BattleDomeBattleRoom_EventScript_TryDoAudienceMemberWalkToSeat:: @ 824C938
compare VAR_TEMP_D, 0
goto_if_eq Common_EventScript_NopReturn
applymovement 6, BattleFrontier_BattleDomeBattleRoom_Movement_AudienceMemberWalkToSeat
applymovement LOCALID_AUDIENCE_WALKING, BattleFrontier_BattleDomeBattleRoom_Movement_AudienceMemberWalkToSeat
return
BattleFrontier_BattleDomeBattleRoom_Movement_AudienceTwinJump: @ 824C94B
@@ -932,18 +939,18 @@ BattleFrontier_BattleDomeBattleRoom_Movement_AudienceMemberWalkToSeat: @ 824C95E
walk_in_place_fastest_down
step_end
BattleFrontier_BattleDomeBattleRoom_Movement_TieRefereeEnter: @ 824C964
BattleFrontier_BattleDomeBattleRoom_Movement_RefereeEnter: @ 824C964
walk_right
walk_right
walk_right
walk_right
step_end
BattleFrontier_BattleDomeBattleRoom_Movement_RefereeFaceLeft: @ 824C969
BattleFrontier_BattleDomeBattleRoom_Movement_AnnouncerFaceLeft: @ 824C969
walk_in_place_fastest_left
step_end
BattleFrontier_BattleDomeBattleRoom_Movement_TieRefereeExit: @ 824C96B
BattleFrontier_BattleDomeBattleRoom_Movement_RefereeExit: @ 824C96B
walk_left
walk_left
walk_left
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR",
"name": "BattleFrontier_BattleDomeCorridor",
"layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR",
"music": "MUS_B_DOME1",
"music": "MUS_B_DOME_LOBBY",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
"weather": "WEATHER_NONE",
@@ -1,3 +1,5 @@
.set LOCALID_ATTENDANT, 1
BattleFrontier_BattleDomeCorridor_MapScripts:: @ 824B0FE
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeCorridor_OnFrame
.byte 0
@@ -12,12 +14,12 @@ BattleFrontier_BattleDomeCorridor_EventScript_EnterCorridor:: @ 824B10E
frontier_get FRONTIER_DATA_LVL_MODE
compare VAR_RESULT, FRONTIER_LVL_OPEN
goto_if_eq BattleFrontier_BattleDomeCorridor_EventScript_WalkToBattleRoomLvOpen
applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLv50
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLv50
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLv50
waitmovement 0
opendoor 13, 3
waitdooranim
applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLv50
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLv50
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLv50
waitmovement 0
closedoor 13, 3
@@ -25,12 +27,12 @@ BattleFrontier_BattleDomeCorridor_EventScript_EnterCorridor:: @ 824B10E
goto BattleFrontier_BattleDomeCorridor_EventScript_WarpToPreBattleRoom
BattleFrontier_BattleDomeCorridor_EventScript_WalkToBattleRoomLvOpen:: @ 824B161
applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLvOpen
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLvOpen
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLvOpen
waitmovement 0
opendoor 37, 3
waitdooranim
applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLvOpen
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLvOpen
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLvOpen
waitmovement 0
closedoor 37, 3
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY",
"name": "BattleFrontier_BattleDomeLobby",
"layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_DOME_LOBBY",
"music": "MUS_B_DOME1",
"music": "MUS_B_DOME_LOBBY",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
"weather": "WEATHER_NONE",
@@ -1,3 +1,6 @@
.set LOCALID_ATTENDANT_SINGLES, 1
.set LOCALID_ATTENDANT_DOUBLES, 6
BattleFrontier_BattleDomeLobby_MapScripts:: @ 82497E2
map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleDomeLobby_OnResume
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeLobby_OnFrame
@@ -262,19 +265,19 @@ BattleFrontier_BattleDomeLobby_EventScript_WalkToDoor:: @ 8249C6E
return
BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantWalkToDoor:: @ 8249CDD
applymovement 1, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor
applymovement LOCALID_ATTENDANT_SINGLES, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor
return
BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantWalkToDoor:: @ 8249CE5
applymovement 6, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor
applymovement LOCALID_ATTENDANT_DOUBLES, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor
return
BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantEnterDoor:: @ 8249CED
applymovement 1, BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor
applymovement LOCALID_ATTENDANT_SINGLES, BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor
return
BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantEnterDoor:: @ 8249CF5
applymovement 6, BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor
applymovement LOCALID_ATTENDANT_DOUBLES, BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor
return
BattleFrontier_BattleDomeLobby_EventScript_WelcomeSingles:: @ 8249CFD
@@ -1,3 +1,5 @@
.set LOCALID_ATTENDANT, 1
BattleFrontier_BattleDomePreBattleRoom_MapScripts:: @ 824B1F9
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomePreBattleRoom_OnFrame
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomePreBattleRoom_OnWarp
@@ -151,7 +153,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_ContinueChallenge:: @ 824B46D
dome_setopponent
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_RightThisWay, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattleDomePreBattleRoom_Movement_AttendantMoveAside
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleDomePreBattleRoom_Movement_AttendantMoveAside
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerWalkToDoor
waitmovement 0
@@ -222,7 +224,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_ReturnFromBattle:: @ 824B5C7
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_RestoreMonsToFullHealth, MSGBOX_DEFAULT
special LoadPlayerParty
frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_ME_ASA
playfanfare MUS_HEAL
waitfanfare
special HealPlayerParty
call BattleFrontier_BattleDomePreBattleRoom_EventScript_RoundCompleteMessage
@@ -1,3 +1,12 @@
.set LOCALID_SCIENTIST_1, 1
.set LOCALID_OPPONENT, 2
.set LOCALID_SCIENTIST_2, 3
.set LOCALID_SCIENTIST_3, 4
.set LOCALID_SCIENTIST_4, 5
.set LOCALID_SCIENTIST_5, 6
.set LOCALID_SCIENTIST_6, 7
.set LOCALID_PLAYER, 8
BattleFrontier_BattleFactoryBattleRoom_MapScripts:: @ 825ADAB
map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleFactoryBattleRoom_OnTransition
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryBattleRoom_OnWarp
@@ -5,7 +14,7 @@ BattleFrontier_BattleFactoryBattleRoom_MapScripts:: @ 825ADAB
.byte 0
@ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
@ The player is represented instead by object event 8, which has the gfx id VAR_OBJ_GFX_ID_F
@ The player is represented instead by LOCALID_PLAYER, which has the gfx id VAR_OBJ_GFX_ID_F
BattleFrontier_BattleFactoryBattleRoom_OnTransition: @ 825ADBB
frontier_settrainers
@@ -22,7 +31,7 @@ BattleFrontier_BattleFactoryBattleRoom_OnTransition: @ 825ADBB
BattleFrontier_BattleFactoryBattleRoom_EventScript_SetUpFactoryHeadObj:: @ 825ADF3
call BattleFrontier_EventScript_SetBrainObjectGfx
setobjectxyperm 2, 7, 9
setobjectxyperm LOCALID_OPPONENT, 7, 9
end
BattleFrontier_BattleFactoryBattleRoom_OnWarp: @ 825AE00
@@ -34,7 +43,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_HideObjects:: @ 825AE0A
hideobjectat OBJ_EVENT_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
compare VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY
goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_EndHideObjects
hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
hideobjectat LOCALID_OPPONENT, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
BattleFrontier_BattleFactoryBattleRoom_EventScript_EndHideObjects:: @ 825AE24
end
@@ -53,8 +62,8 @@ BattleFrontier_BattleFactoryBattleRoom_OnFrame: @ 825AE31
BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle:: @ 825AE3B
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_GetAMoveOn, MSGBOX_DEFAULT
closemessage
applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_NolandMoveToBattle
applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
applymovement LOCALID_OPPONENT, BattleFrontier_BattleFactoryBattleRoom_Movement_NolandMoveToBattle
applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
waitmovement 0
call BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle
@@ -64,15 +73,15 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle::
BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoom:: @ 825AE67
compare VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY
goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle
applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
waitmovement 0
call BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle
factory_setopponentgfx
removeobject 2
setobjectxyperm 2, 7, 1
addobject 2
applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_OpponentEnter
removeobject LOCALID_OPPONENT
setobjectxyperm LOCALID_OPPONENT, 7, 1
addobject LOCALID_OPPONENT
applymovement LOCALID_OPPONENT, BattleFrontier_BattleFactoryBattleRoom_Movement_OpponentEnter
waitmovement 0
BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleOpponent:: @ 825AEA7
compare VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY
@@ -139,9 +148,9 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandSilver:: @ 825B
goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_NolandLetsSeeFrontierPass, MSGBOX_DEFAULT
closemessage
applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland
applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland
waitmovement 0
playfanfare MUS_ME_SYMBOLGET
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattleFactoryBattleRoom_Text_ReceivedKnowledgeSymbol
waitmessage
waitfanfare
@@ -168,9 +177,9 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandGold:: @ 825B09
goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_OutOfMyLeagueLetsSeePass, MSGBOX_DEFAULT
waitmessage
applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland
applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland
waitmovement 0
playfanfare MUS_ME_SYMBOLGET
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattleFactoryBattleRoom_Text_KnowledgeSymbolTookGoldenShine
waitmessage
waitfanfare
@@ -248,12 +257,12 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyDoubles:: @ 825B1A
end
BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle:: @ 825B1B4
applymovement 1, Common_Movement_WalkInPlaceFastestRight
applymovement 3, Common_Movement_WalkInPlaceFastestRight
applymovement 4, Common_Movement_WalkInPlaceFastestRight
applymovement 5, Common_Movement_WalkInPlaceFastestLeft
applymovement 6, Common_Movement_WalkInPlaceFastestLeft
applymovement 7, Common_Movement_WalkInPlaceFastestLeft
applymovement LOCALID_SCIENTIST_1, Common_Movement_WalkInPlaceFastestRight
applymovement LOCALID_SCIENTIST_2, Common_Movement_WalkInPlaceFastestRight
applymovement LOCALID_SCIENTIST_3, Common_Movement_WalkInPlaceFastestRight
applymovement LOCALID_SCIENTIST_4, Common_Movement_WalkInPlaceFastestLeft
applymovement LOCALID_SCIENTIST_5, Common_Movement_WalkInPlaceFastestLeft
applymovement LOCALID_SCIENTIST_6, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
@@ -1,3 +1,6 @@
.set LOCALID_ATTENDANT_SINGLES, 1
.set LOCALID_ATTENDANT_DOUBLES, 6
BattleFrontier_BattleFactoryLobby_MapScripts:: @ 82583E8
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryLobby_OnFrame
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryLobby_OnWarp
@@ -184,11 +187,11 @@ BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge:: @ 825871A
end
BattleFrontier_BattleFactoryLobby_EventScript_TalkedToSinglesAttendant:: @ 825875C
setvar VAR_LAST_TALKED, 1
setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_SINGLES
return
BattleFrontier_BattleFactoryLobby_EventScript_TalkedToDoublesAttendant:: @ 8258762
setvar VAR_LAST_TALKED, 6
setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_DOUBLES
return
BattleFrontier_BattleFactoryLobby_EventScript_ExplainChallenge:: @ 8258768
@@ -1,3 +1,5 @@
.set LOCALID_ATTENDANT, 1
BattleFrontier_BattleFactoryPreBattleRoom_MapScripts:: @ 8259ABA
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryPreBattleRoom_OnFrame
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryPreBattleRoom_OnWarp
@@ -11,8 +13,8 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SetUpObjects:: @ 8259ACF
setvar VAR_TEMP_1, 1
compare VAR_0x8006, 1
goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_TurnPlayerNorth
setobjectxy 1, 8, 7
turnobject 1, DIR_SOUTH
setobjectxy LOCALID_ATTENDANT, 8, 7
turnobject LOCALID_ATTENDANT, DIR_SOUTH
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_TurnPlayerNorth:: @ 8259AEA
turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH
end
@@ -25,7 +27,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterRoom:: @ 8259AF9
compare VAR_0x8006, 1
goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReturnToRoomFromBattle
setvar VAR_TEMP_0, 1
applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantEnterRoom
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantEnterRoom
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerEnterRoom
waitmovement 0
compare VAR_0x8006, 2
@@ -60,21 +62,21 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReturnToRoomFromBattle:: @
factory_setopponentmons
factory_resethelditems
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_LetUsRestoreMons, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
playfanfare MUS_HEAL
waitfanfare
special HealPlayerParty
frontier_getbrainstatus
compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForRegularOpponent
playse SE_TOREEYE
playse SE_POKENAV_CALL
waitse
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_WaitFewMoments, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantMoveToReceiveCall
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantMoveToReceiveCall
waitmovement 0
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_UnderstoodSirWillDo, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantReturnToPlayer
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantReturnToPlayer
waitmovement 0
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_MessageFromHeadComeRightNow, MSGBOX_DEFAULT
closemessage
@@ -419,12 +421,12 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapBeforeHead:: @ 825A
case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLv50:: @ 825A17C
applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLv50
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLv50
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLv50
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLvOpen:: @ 825A18B
applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLvOpen
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLvOpen
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLvOpen
return
@@ -1,3 +1,9 @@
.set LOCALID_PLAYER, 1
.set LOCALID_OPPONENT, 2
.set LOCALID_ATTENDANT, 3
.set LOCALID_DUSCLOPS, 4
.set LOCALID_AZURILL, 5
BattleFrontier_BattlePalaceBattleRoom_MapScripts:: @ 824F815
map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePalaceBattleRoom_OnTransition
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceBattleRoom_OnFrame
@@ -5,8 +11,8 @@ BattleFrontier_BattlePalaceBattleRoom_MapScripts:: @ 824F815
.byte 0
@ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
@ The player is represented instead by object event 1, which has the gfx id VAR_OBJ_GFX_ID_0
@ The opponent is represented by object event 2, which has the gfx id VAR_OBJ_GFX_ID_1
@ The player is represented instead by LOCALID_PLAYER, which has the gfx id VAR_OBJ_GFX_ID_0
@ The opponent is represented by LOCALID_OPPONENT, which has the gfx id VAR_OBJ_GFX_ID_1
BattleFrontier_BattlePalaceBattleRoom_OnTransition: @ 824F825
frontier_settrainers
@@ -37,24 +43,24 @@ BattleFrontier_BattlePalaceBattleRoom_OnFrame: @ 824F861
.2byte 0
BattleFrontier_BattlePalaceBattleRoom_EventScript_EnterRoom:: @ 824F86B
showobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
showobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 0
goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_BeginChallenge
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerReturnToChallenge
applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerReturnToChallenge
waitmovement 0
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown
setvar VAR_TEMP_2, 1
frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent
BattleFrontier_BattlePalaceBattleRoom_EventScript_BeginChallenge:: @ 824F8B5
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerEnterRoom
applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerEnterRoom
waitmovement 0
BattleFrontier_BattlePalaceBattleRoom_EventScript_NextOpponentEnter:: @ 824F8BF
tower_setopponent
addobject 2
applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentEnter
addobject LOCALID_OPPONENT
applymovement LOCALID_OPPONENT, BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentEnter
waitmovement 0
palace_getopponentintro
msgbox gStringVar4, MSGBOX_DEFAULT
@@ -73,17 +79,17 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedOpponent:: @ 824F911
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
case 7, BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon
applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentExit
applymovement LOCALID_OPPONENT, BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentExit
waitmovement 0
removeobject 2
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown
removeobject LOCALID_OPPONENT
applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown
waitmovement 0
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_LetMeRestoreYourMons, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_ME_ASA
playfanfare MUS_HEAL
waitfanfare
special HealPlayerParty
BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent:: @ 824F98A
@@ -153,8 +159,8 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRetireChallenge:: @ 824FAE2
case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent
BattleFrontier_BattlePalaceBattleRoom_EventScript_ContinueChallenge:: @ 824FB14
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight
applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight
closemessage
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_NextOpponentEnter
@@ -203,16 +209,16 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenser:: @ 824FC06
call BattleFrontier_EventScript_SetBrainObjectGfx
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_AnnounceArrivalOfSpenser, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight
setobjectxyperm 2, 15, 1
addobject 2
hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
setobjectxy 2, 13, 1
setobjectxyperm 2, 13, 1
applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_DusclopsEnter
applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_AzurillEnter
applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_SpenserEnter
applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight
setobjectxyperm LOCALID_OPPONENT, 15, 1
addobject LOCALID_OPPONENT
hideobjectat LOCALID_OPPONENT, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
setobjectxy LOCALID_OPPONENT, 13, 1
setobjectxyperm LOCALID_OPPONENT, 13, 1
applymovement LOCALID_DUSCLOPS, BattleFrontier_BattlePalaceBattleRoom_Movement_DusclopsEnter
applymovement LOCALID_AZURILL, BattleFrontier_BattlePalaceBattleRoom_Movement_AzurillEnter
applymovement LOCALID_OPPONENT, BattleFrontier_BattlePalaceBattleRoom_Movement_SpenserEnter
waitmovement 0
switch VAR_TEMP_F
case FRONTIER_BRAIN_GOLD, BattleFrontier_BattlePalaceBattleRoom_EventScript_IntroSpenserGold
@@ -236,18 +242,18 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserSilver:: @ 824F
compare VAR_RESULT, 0
goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserPostSilverBattle, MSGBOX_DEFAULT
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown
applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_LetsSeeFrontierPass, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattlePalaceBattleRoom_Text_ReceivedSpiritsSymbol
waitmessage
waitfanfare
frontier_givesymbol
applymovement 2, Common_Movement_WalkInPlaceLeft
applymovement LOCALID_OPPONENT, Common_Movement_WalkInPlaceLeft
waitmovement 0
applymovement 1, Common_Movement_WalkInPlaceFastestRight
applymovement 3, Common_Movement_WalkInPlaceFastestRight
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFastestRight
applymovement LOCALID_ATTENDANT, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserAwaitNextTime, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon
@@ -271,18 +277,18 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserGold:: @ 824FD8
compare VAR_RESULT, 2
goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserYourTeamIsAdmirable, MSGBOX_DEFAULT
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown
applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_HurryWithFrontierPass, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattlePalaceBattleRoom_Text_SpiritsSymbolTookGoldenShine
waitmessage
waitfanfare
frontier_givesymbol
applymovement 2, Common_Movement_WalkInPlaceLeft
applymovement LOCALID_OPPONENT, Common_Movement_WalkInPlaceLeft
waitmovement 0
applymovement 1, Common_Movement_WalkInPlaceFastestRight
applymovement 3, Common_Movement_WalkInPlaceFastestRight
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFastestRight
applymovement LOCALID_ATTENDANT, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserComeSeeMeAgain, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon
@@ -306,13 +312,13 @@ BattleFrontier_BattlePalaceBattleRoom_OnWarp: @ 824FE34
.2byte 0
BattleFrontier_BattlePalaceBattleRoom_EventScript_SetUpRoomObjects:: @ 824FE3E
hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
hideobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
call BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfx
setvar VAR_TEMP_1, 1
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible
removeobject 2
applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible
applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible
removeobject LOCALID_OPPONENT
applymovement LOCALID_DUSCLOPS, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible
applymovement LOCALID_AZURILL, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible
end
BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor2ndOpponent:: @ 824FE66
@@ -1,3 +1,5 @@
.set LOCALID_ATTENDANT, 1
BattleFrontier_BattlePalaceCorridor_MapScripts:: @ 824F4A3
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceCorridor_OnFrame
.byte 0
@@ -8,7 +10,7 @@ BattleFrontier_BattlePalaceCorridor_OnFrame: @ 824F4A9
BattleFrontier_BattlePalaceCorridor_EventScript_WalkThroughCorridor:: @ 824F4B3
delay 16
applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_EnterCorridor
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_EnterCorridor
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_EnterCorridor
waitmovement 0
lockall
@@ -27,12 +29,12 @@ BattleFrontier_BattlePalaceCorridor_EventScript_WalkThroughCorridor:: @ 824F4B3
frontier_get FRONTIER_DATA_LVL_MODE
compare VAR_RESULT, FRONTIER_LVL_OPEN
goto_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_WalkToOpenBattleRoom
applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkTo50BattleRoom
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkTo50BattleRoom
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkTo50BattleRoom
waitmovement 0
opendoor 6, 3
waitdooranim
applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerEnterBattleRoom
waitmovement 0
closedoor 6, 3
@@ -40,12 +42,12 @@ BattleFrontier_BattlePalaceCorridor_EventScript_WalkThroughCorridor:: @ 824F4B3
goto BattleFrontier_BattlePalaceCorridor_EventScript_WarpToBattleRoom
BattleFrontier_BattlePalaceCorridor_EventScript_WalkToOpenBattleRoom:: @ 824F553
applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkToOpenBattleRoom
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkToOpenBattleRoom
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkToOpenBattleRoom
waitmovement 0
opendoor 10, 3
waitdooranim
applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerEnterBattleRoom
waitmovement 0
closedoor 10, 3
@@ -1,3 +1,6 @@
.set LOCALID_ATTENDANT_SINGLES, 1
.set LOCALID_ATTENDANT_DOUBLES, 6
BattleFrontier_BattlePalaceLobby_MapScripts:: @ 824D77E
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceLobby_OnFrame
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePalaceLobby_OnWarp
@@ -269,11 +272,11 @@ BattleFrontier_BattlePalaceLobby_EventScript_WalkToDoor:: @ 824DBBC
return
BattleFrontier_BattlePalaceLobby_EventScript_TalkedToSinglesAttendant:: @ 824DC23
setvar VAR_LAST_TALKED, 1
setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_SINGLES
return
BattleFrontier_BattlePalaceLobby_EventScript_TalkedToDoublesAttendant:: @ 824DC29
setvar VAR_LAST_TALKED, 6
setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_DOUBLES
return
BattleFrontier_BattlePalaceLobby_EventScript_OpenSinglesHallDoor:: @ 824DC2F
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR",
"name": "BattleFrontier_BattlePikeCorridor",
"layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR",
"music": "MUS_B_TUBE",
"music": "MUS_B_PIKE",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
"weather": "WEATHER_NONE",
@@ -1,3 +1,5 @@
.set LOCALID_ATTENDANT, 1
BattleFrontier_BattlePikeCorridor_MapScripts:: @ 825C771
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeCorridor_OnFrame
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeCorridor_OnWarp
@@ -13,7 +15,7 @@ BattleFrontier_BattlePikeCorridor_EventScript_EnterCorridor:: @ 825C786
pike_cleartrainerids
pike_nohealing TRUE
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_PlayerEnterCorridor
applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_AttendantEnterCorridor
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePikeCorridor_Movement_AttendantEnterCorridor
waitmovement 0
lockall
msgbox BattleFrontier_BattlePikeCorridor_Text_YourChallengeHasBegun, MSGBOX_DEFAULT
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY",
"name": "BattleFrontier_BattlePikeLobby",
"layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY",
"music": "MUS_B_TUBE",
"music": "MUS_B_PIKE",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
"weather": "WEATHER_NONE",
@@ -1,3 +1,5 @@
.set LOCALID_ATTENDANT, 1
BattleFrontier_BattlePikeLobby_MapScripts:: @ 825B6C6
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeLobby_OnFrame
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeLobby_OnWarp
@@ -200,7 +202,7 @@ BattleFrontier_BattlePikeLobby_EventScript_ShowResults:: @ 825BA80
end
BattleFrontier_BattlePikeLobby_EventScript_WalkToCorridor:: @ 825BA94
applymovement 1, BattleFrontier_BattlePikeLobby_Movement_AttendantWalkToCorridor
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePikeLobby_Movement_AttendantWalkToCorridor
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeLobby_Movement_PlayerWalkToCorridor
waitmovement 0
return
@@ -263,7 +265,7 @@ BattleFrontier_BattlePikeLobby_EventScript_ExitRules:: @ 825BB47
end
BattleFrontier_BattlePike_EventScript_CloseCurtain:: @ 825BB49
playse SE_CURTAIN
playse SE_PIKE_CURTAIN_CLOSE
special CloseBattlePikeCurtain
waitstate
waitse
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL",
"name": "BattleFrontier_BattlePikeRoomFinal",
"layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL",
"music": "MUS_B_TUBE",
"music": "MUS_B_PIKE",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
"weather": "WEATHER_NONE",
@@ -1,3 +1,5 @@
.set LOCALID_ATTENDANT, 1
BattleFrontier_BattlePikeRoomFinal_MapScripts:: @ 825E392
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRoomFinal_OnFrame
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoomFinal_OnWarp
@@ -9,7 +11,7 @@ BattleFrontier_BattlePikeRoomFinal_OnFrame: @ 825E39D
BattleFrontier_BattlePikeRoomFinal_EventScript_EnterRoom:: @ 825E3A7
delay 16
applymovement 1, BattleFrontier_BattlePikeRoomFinal_Movement_AttendantApproachPlayer
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePikeRoomFinal_Movement_AttendantApproachPlayer
waitmovement 0
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
lockall
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL",
"name": "BattleFrontier_BattlePikeRoomNormal",
"layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL",
"music": "MUS_B_TUBE",
"music": "MUS_B_PIKE",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
"weather": "WEATHER_NONE",
@@ -1,3 +1,8 @@
@ Objects in this room are set dynamically with OBJ_EVENT_GFX_VAR_0 and OBJ_EVENT_GFX_VAR_1
@ Note: LOCALIDs shared with data/scripts/battle_pike.inc
.equ LOCALID_OBJ_0, 1
.equ LOCALID_OBJ_1, 2
BattleFrontier_BattlePikeRoomNormal_MapScripts:: @ 825D152
map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRoom_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePikeRoom_OnTransition
@@ -24,7 +29,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_EnterRoom:: @ 825D171
BattleFrontier_BattlePikeRoomNormal_EventScript_EnterSingleBattleRoom:: @ 825D1C6
lockall
delay 16
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer
waitmovement 0
pike_gettrainerintro 0
msgbox gStringVar4, MSGBOX_DEFAULT
@@ -44,7 +49,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost:: @ 825D20A
end
BattleFrontier_BattlePikeRoomNormal_EventScript_WonSingleBattle:: @ 825D226
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit
waitmovement 0
end
@@ -54,7 +59,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_EnterHardBattleRoom:: @ 825D231
msgbox BattleFrontier_BattlePikeRoomNormal_Text_BattleSomewhatToughTrainer, MSGBOX_DEFAULT
waitmessage
closemessage
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer
waitmovement 0
pike_gettrainerintro 0
msgbox gStringVar4, MSGBOX_DEFAULT
@@ -71,27 +76,27 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_EnterHardBattleRoom:: @ 825D231
end
BattleFrontier_BattlePikeRoomNormal_EventScript_WonHardBattle:: @ 825D285
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit
waitmovement 0
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCApproachPlayer
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCApproachPlayer
waitmovement 0
lock
faceplayer
msgbox BattleFrontier_BattlePikeRoomNormal_Text_RestoreToFullHealth, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
playfanfare MUS_HEAL
waitfanfare
special HealPlayerParty
msgbox BattleFrontier_BattlePikeRoomNormal_Text_EnjoyRestOfChallenge2, MSGBOX_DEFAULT
closemessage
release
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit
waitmovement 0
end
BattleFrontier_BattlePikeRoomNormal_EventScript_EnterBrainRoom:: @ 825D2BF
delay 22
lockall
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_PreQueenHealNPCApproachPlayer
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_PreQueenHealNPCApproachPlayer
waitmovement 0
pike_prequeenheal
switch VAR_RESULT
@@ -104,9 +109,9 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter:: @ 825D2FB
closemessage
special SpawnCameraObject
applymovement OBJ_EVENT_ID_CAMERA, BattleFrontier_BattlePikeRoomNormal_Movement_CameraPanUp
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExitForLucy
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExitForLucy
waitmovement 0
playse SE_CURTAIN
playse SE_PIKE_CURTAIN_CLOSE
call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesLittleClosed
delay 4
call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesMostlyClosed
@@ -115,16 +120,16 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter:: @ 825D2FB
delay 4
waitse
delay 60
playse SE_CURTAIN1
playse SE_PIKE_CURTAIN_OPEN
delay 65
call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesMostlyClosed
showobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL
showobjectat LOCALID_OBJ_0, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL
delay 4
call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesLittleClosed
delay 4
call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesOpen
waitse
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_LucyEnter
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_LucyEnter
waitmovement 0
pike_getbrainstatus
switch VAR_RESULT
@@ -149,7 +154,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucySilver:: @ 825D3DA
goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy
msgbox BattleFrontier_BattlePikeRoomNormal_Text_LucyShowMeFrontierPass, MSGBOX_DEFAULT
waitmessage
playfanfare MUS_ME_SYMBOLGET
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattlePikeRoomNormal_Text_ReceivedLuckSymbol
waitmessage
waitfanfare
@@ -177,7 +182,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucyGold:: @ 825D460
goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy
msgbox BattleFrontier_BattlePikeRoomNormal_Text_LucyFrontierPass, MSGBOX_DEFAULT
waitmessage
playfanfare MUS_ME_SYMBOLGET
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattlePikeRoomNormal_Text_LuckSymbolTookGoldenShine
waitmessage
waitfanfare
@@ -188,7 +193,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucyGold:: @ 825D460
end
BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy:: @ 825D49D
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_LucyMoveAside
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_LucyMoveAside
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerWalkUp2
waitmovement 0
@@ -206,14 +211,14 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenNoHeal:: @ 825D4DC
BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenHealOneMon:: @ 825D4EA
msgbox BattleFrontier_BattlePikeRoomNormal_Text_ChoseRoomHealOne, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
playfanfare MUS_HEAL
waitfanfare
goto BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter
end
BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenHealTwoMons:: @ 825D4FC
msgbox BattleFrontier_BattlePikeRoomNormal_Text_ChoseRoomHealTwo, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
playfanfare MUS_HEAL
waitfanfare
goto BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter
end
@@ -221,16 +226,16 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenHealTwoMons:: @ 825D4FC
BattleFrontier_BattlePikeRoomNormal_EventScript_EnterFullHealRoom:: @ 825D50E
lockall
delay 16
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer
waitmovement 0
message BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreToFullHealth
waitmessage
playfanfare MUS_ME_ASA
playfanfare MUS_HEAL
waitfanfare
special HealPlayerParty
msgbox BattleFrontier_BattlePikeRoomNormal_Text_EnjoyRestOfChallenge, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit
waitmovement 0
releaseall
end
@@ -238,14 +243,14 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_EnterFullHealRoom:: @ 825D50E
BattleFrontier_BattlePikeRoomNormal_EventScript_EnterDoubleBattleRoom:: @ 825D53E
lockall
delay 16
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1WalkRight
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2WalkLeft
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1WalkRight
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2WalkLeft
waitmovement 0
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown
waitmovement 0
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1FacePlayer
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2FacePlayer
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1FacePlayer
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2FacePlayer
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer1
waitmovement 0
@@ -270,9 +275,9 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_EnterDoubleBattleRoom:: @ 825D53
BattleFrontier_BattlePikeRoomNormal_EventScript_WonDoubleBattle:: @ 825D5DC
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer2
waitmovement 0
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1Exit
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1Exit
waitmovement 0
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2Exit
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2Exit
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceUp
waitmovement 0
@@ -281,7 +286,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_WonDoubleBattle:: @ 825D5DC
BattleFrontier_BattlePikeRoomNormal_EventScript_EnterStatusRoom:: @ 825D605
lockall
message BattleFrontier_BattlePikeRoomNormal_Text_WatchOut
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonApproachPlayer
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonApproachPlayer
waitmovement 0
pike_getstatusmon
copyvar VAR_0x8004, VAR_RESULT
@@ -311,9 +316,9 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaAttack:: @ 825D643
call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedHypnosis
pike_flashscreen
waitstate
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon
waitmovement 0
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC
waitmovement 0
waitse
playmoncry SPECIES_KIRLIA, 0
@@ -323,8 +328,8 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaAttack:: @ 825D643
playmoncry SPECIES_KIRLIA, 0
waitmoncry
closemessage
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer
waitmovement 0
msgbox BattleFrontier_BattlePikeRoomNormal_Text_ApologizeForKirlia, MSGBOX_DEFAULT
return
@@ -342,9 +347,9 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsAttack:: @ 825D6D5
call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedWillOWisp
pike_flashscreen
waitstate
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon
waitmovement 0
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC
waitmovement 0
waitse
playmoncry SPECIES_DUSCLOPS, 0
@@ -354,8 +359,8 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsAttack:: @ 825D6D5
playmoncry SPECIES_DUSCLOPS, 0
waitmoncry
closemessage
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer
waitmovement 0
msgbox BattleFrontier_BattlePikeRoomNormal_Text_ApologizeForDusclops, MSGBOX_DEFAULT
return
@@ -568,12 +573,12 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_HealNPC:: @ 825D83E
call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreTwoMons
compare VAR_RESULT, 1
call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreOneMon
playfanfare MUS_ME_ASA
playfanfare MUS_HEAL
waitfanfare
msgbox BattleFrontier_BattlePikeRoomNormal_Text_BestOfLuckFarewell, MSGBOX_DEFAULT
closemessage
release
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExit
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExit
waitmovement 0
end
@@ -598,7 +603,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_StatusMon:: @ 825D88D
msgbox BattleFrontier_BattlePikeRoomNormal_Text_Silence, MSGBOX_DEFAULT
closemessage
release
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceRight
applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceRight
waitmovement 0
end
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS",
"name": "BattleFrontier_BattlePikeRoomWildMons",
"layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS",
"music": "MUS_B_TUBE",
"music": "MUS_B_PIKE",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
"weather": "WEATHER_NONE",
@@ -2,7 +2,7 @@
"id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM",
"name": "BattleFrontier_BattlePikeThreePathRoom",
"layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM",
"music": "MUS_B_TUBE",
"music": "MUS_B_PIKE",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
"weather": "WEATHER_NONE",
@@ -1,3 +1,5 @@
.set LOCALID_HINT_GIVER, 2
BattleFrontier_BattlePikeThreePathRoom_MapScripts:: @ 825C843
map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRoom_OnResume
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeThreePathRoom_OnFrame
@@ -159,12 +161,12 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_SetPikeQueenHint:: @ 825CA91
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_GivePikeQueenHint:: @ 825CA97
applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverApproachPlayer
applymovement LOCALID_HINT_GIVER, BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverApproachPlayer
waitmovement 0
lockall
msgbox BattleFrontier_BattlePikeThreePathRoom_Text_TerrifyingEvent, MSGBOX_DEFAULT
releaseall
applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverReturnToPos
applymovement LOCALID_HINT_GIVER, BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverReturnToPos
waitmovement 0
setvar VAR_TEMP_5, 255
end
Loaded 100 of 2765 files, more files were not shown because too many files have changed in this diff. Show more