merge w master

This commit is contained in:
ghoulslash 2023-04-15 22:04:35 -04:00
commit 6c8cf2c026
1469 changed files with 59326 additions and 62722 deletions

View File

@ -1,5 +1,11 @@
#!/usr/bin/perl
# Usage:
# calcrom.pl <mapfile> [--data]
#
# mapfile: path to .map file output by LD
# data: set to output % breakdown of data
use IPC::Cmd qw[ run ];
use Getopt::Long;
@ -65,12 +71,13 @@ my $base_cmd = "nm $elffname | awk '{print \$3}' | grep '^[^_].\\{4\\}' | uniq";
# This looks for Unknown_, Unknown_, or sub_, followed by an address. Note that
# it matches even if stuff precedes the unknown, like sUnknown/gUnknown.
my $undoc_cmd = "grep '[Uu]nknown_[0-9a-fA-F]\\{5,7\\}\\|sub_[0-9a-fA-F]\\{5,7\\}'";
my $undoc_regex = "'[Uu]nknown_[0-9a-fA-F]\\{5,7\\}\\|sub_[0-9a-fA-F]\\{5,7\\}'";
# This looks for every symbol with an address at the end of it. Some things are
# given a name based on their type / location, but still have an unknown purpose.
# For example, FooMap_EventScript_FFFFFFF.
my $partial_doc_cmd = "grep '_[0-28][0-9a-fA-F]\\{5,7\\}'";
# The above may be double counted here, and will need to be filtered out.
my $partial_doc_regex = "'_[0-28][0-9a-fA-F]\\{5,7\\}'";
my $count_cmd = "wc -l";
@ -87,7 +94,7 @@ my $total_syms_as_string;
my $undocumented_as_string;
(run (
command => "$base_cmd | $undoc_cmd | $count_cmd",
command => "$base_cmd | grep $undoc_regex | $count_cmd",
buffer => \$undocumented_as_string,
timeout => 60
))
@ -95,7 +102,7 @@ my $undocumented_as_string;
my $partial_documented_as_string;
(run (
command => "$base_cmd | $partial_doc_cmd | $count_cmd",
command => "$base_cmd | grep $partial_doc_regex | grep -v $undoc_regex | $count_cmd",
buffer => \$partial_documented_as_string,
timeout => 60
))
@ -112,7 +119,7 @@ my $undocumented = $undocumented_as_string + 0;
$partial_documented_as_string =~ s/^\s+|\s+$//g;
my $partial_documented = $partial_documented_as_string + 0;
(($partial_documented != 0) or (($partial_documented == 0) and ($partial_documented_as_string eq "0")))
or die "ERROR: Cannot convert string to num: '$partial_documented_as_string'";
or die "ERROR: Cannot convert string to num: '$partial_documented_as_string'";
$total_syms_as_string =~ s/^\s+|\s+$//g;
my $total_syms = $total_syms_as_string + 0;
@ -126,9 +133,6 @@ my $total = $src + $asm;
my $srcPct = sprintf("%.4f", 100 * $src / $total);
my $asmPct = sprintf("%.4f", 100 * $asm / $total);
# partial_documented is double-counting the unknown_* and sub_* symbols.
$partial_documented = $partial_documented - $undocumented;
my $documented = $total_syms - ($undocumented + $partial_documented);
my $docPct = sprintf("%.4f", 100 * $documented / $total_syms);
my $partialPct = sprintf("%.4f", 100 * $partial_documented / $total_syms);

3
.gitignore vendored
View File

@ -30,7 +30,8 @@ build/
.DS_Store
*.ddump
.idea/
porymap.project.cfg
porymap.*.cfg
prefabs.json
.vscode/
*.a
.fuse_hidden*

View File

@ -9,7 +9,7 @@ If you run into trouble, ask for help on Discord or IRC (see [README.md](README.
## Windows
Windows has instructions for building with three possible terminals, providing 3 different options in case the user stumbles upon unexpected errors.
- [Windows 10 (WSL1)](#windows-10-wsl1) (**Fastest, highly recommended**, Windows 10 only)
- [Windows 10/11 (WSL1)](#windows-1011-wsl1) (**Fastest, highly recommended**, Windows 10 and 11 only)
- [Windows (msys2)](#windows-msys2) (Second fastest)
- [Windows (Cygwin)](#windows-cygwin) (Slowest)
@ -26,7 +26,7 @@ All of the Windows instructions assume that the default drive is C:\\. If this d
**A note of caution**: As Windows 7 is officially unsupported by Microsoft and Windows 8 has very little usage, some maintainers are unwilling to maintain the Windows 7/8 instructions. Thus, these instructions may break in the future with fixes taking longer than fixes to the Windows 10 instructions.
## Windows 10 (WSL1)
## Windows 10/11 (WSL1)
WSL1 is the preferred terminal to build **pokeemerald**. The following instructions will explain how to install WSL1 (referred to interchangeably as WSL).
- If WSL (Debian or Ubuntu) is **not installed**, then go to [Installing WSL1](#Installing-WSL1).
- Otherwise, if WSL is installed, but it **hasn't previously been set up for another decompilation project**, then go to [Setting up WSL1](#Setting-up-WSL1).
@ -44,15 +44,15 @@ WSL1 is the preferred terminal to build **pokeemerald**. The following instructi
3. The next step is to choose and install a Linux distribution from the Microsoft Store. The following instructions will assume Ubuntu as the Linux distribution of choice.
<details>
<summary><i>Note for advanced users...</i></summary>
> You can pick a preferred Linux distribution, but setup instructions may differ. Debian should work with the given instructions, but has not been tested.
> You can pick a preferred Linux distribution, but setup instructions may differ. Debian should work with the given instructions, but has not been tested.
</details>
4. Open the [Microsoft Store Linux Selection](https://aka.ms/wslstore), click Ubuntu, then click Get, which will install the Ubuntu distribution.
<details>
<summary><i>Notes...</i></summary>
> Note 1: If a dialog pops up asking for you to sign into a Microsoft Account, then just close the dialog.
> Note 1: If a dialog pops up asking for you to sign into a Microsoft Account, then just close the dialog.
> Note 2: If the link does not work, then open the Microsoft Store manually, and search for the Ubuntu app (choose the one with no version number).
</details>
@ -102,11 +102,11 @@ cd /mnt/c/Users/<user>/Desktop/decomps
<details>
<summary><i>Notes...</i></summary>
> Note 1: The Windows C:\ drive is called /mnt/c/ in WSL.
> Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users/<user>/Desktop/decomp folder"`.
> Note 1: The Windows C:\ drive is called /mnt/c/ in WSL.
> Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users/<user>/Desktop/decomp folder"`.
> Note 3: Windows path names are case-insensitive so adhering to capitalization isn't needed
</details>
If this works, then proceed to [Installation](#installation).
Otherwise, ask for help on Discord or IRC (see [README.md](README.md)), or continue reading below for [Windows instructions using msys2](#windows-msys2).
@ -213,10 +213,10 @@ Note that the directory **must exist** in Windows. If you want to store pokeemer
<details>
<summary><i>Notes...</i></summary>
> Note 1: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "c:/users/<user>/Desktop/decomp folder"`.
> Note 2: Windows path names are case-insensitive so adhering to capitalization isn't needed
> Note 1: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "c:/users/<user>/Desktop/decomp folder"`.
> Note 2: Windows path names are case-insensitive so adhering to capitalization isn't needed
</details>
If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)).
## macOS
@ -283,8 +283,8 @@ Note that the directory **must exist** in the folder system. If you want to stor
<details>
<summary><i>Note..</i>.</summary>
> Note: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Desktop/decomp folder"`
> Note: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Desktop/decomp folder"`
</details>
If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)).
@ -305,7 +305,7 @@ Then proceed to [Choosing where to store pokeemerald (Linux)](#choosing-where-to
> then you will have to install devkitARM. Install all the above packages except binutils-arm-none-eabi, and follow the instructions to
> [install devkitARM on Debian/Ubuntu-based distributions](#installing-devkitarm-on-debianubuntu-based-distributions).
</details>
### Arch Linux
Run this command as root to install the necessary packages:
```bash
@ -418,21 +418,16 @@ If you aren't in the pokeemerald directory already, then **change directory** to
```bash
cd pokeemerald
```
To build **pokeemerald.gba** for the first time and confirm it matches the official ROM image (Note: to speed up builds, see [Parallel builds](#parallel-builds)):
To build **pokeemerald.gba** (Note: to speed up builds, see [Parallel builds](#parallel-builds)):
```bash
make compare
make
```
If an OK is returned, then the installation went smoothly.
If it has built successfully you will have the output file **pokeemerald.gba** in your project folder.
<details>
<summary>Note for Windows...</summary>
> If you switched terminals since the last build (e.g. from msys2 to WSL1), you must run `make clean-tools` once before any subsequent `make` commands.
</details>
To build **pokeemerald.gba** with your changes:
```bash
make
```
# Building guidance
## Parallel builds
@ -451,11 +446,20 @@ Replace `<output of nproc>` with the number that the `nproc` command returned.
`nproc` is not available on macOS. The alternative is `sysctl -n hw.ncpu` ([relevant Stack Overflow thread](https://stackoverflow.com/questions/1715580)).
## Debug info
## Compare ROM to the original
To build **pokeemerald.elf** with enhanced debug info:
For contributing, or if you'd simply like to verify that your ROM is identical to the original game, run:
```bash
make DINFO=1
make compare
```
If it matches, you will see the following at the end of the output:
```bash
pokeemerald.gba: OK
```
If there are any changes from the original game, you will instead see:
```bash
pokeemerald.gba: FAILED
shasum: WARNING: 1 computed checksum did NOT match
```
## devkitARM's C compiler
@ -534,8 +538,8 @@ devkitARM is now installed.
devkitARM is now installed.
## Installing devkitARM on Arch Linux
### Installing devkitARM on Arch Linux
1. Follow [devkitPro's instructions](https://devkitpro.org/wiki/devkitPro_pacman#Customising_Existing_Pacman_Install) to configure `pacman` to download devkitPro packages.
2. Install `gba-dev`: run the following command as root.
@ -552,7 +556,7 @@ devkitARM is now installed.
devkitARM is now installed.
## 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`.
```bash
@ -564,6 +568,14 @@ make TOOLCHAIN="/usr/local/arm-none-eabi"
```
To compile the `modern` target with this toolchain, the subdirectories `lib`, `include`, and `arm-none-eabi` must also be present.
### Building with debug info under a modern toolchain
To build **pokeemerald.elf** with debug symbols under a modern toolchain:
```bash
make modern DINFO=1
```
Note that this is not necessary for a non-modern build since those are built with debug symbols by default.
# Useful additional tools
* [porymap](https://github.com/huderlem/porymap) for viewing and editing maps

View File

@ -107,7 +107,7 @@ LIBPATH := -L ../../tools/agbcc/lib
LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall
else
CC1 = $(shell $(PATH_MODERNCC) --print-prog-name=cc1) -quiet
override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast -g
override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast
ROM := $(MODERN_ROM_NAME)
OBJ_DIR := $(MODERN_OBJ_DIR_NAME)
LIBPATH := -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libnosys.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libc.a))"
@ -134,7 +134,8 @@ JSONPROC := tools/jsonproc/jsonproc$(EXE)
PERL := perl
TOOLDIRS := $(filter-out tools/agbcc tools/binutils,$(wildcard tools/*))
# Inclusive list. If you don't want a tool to be built, don't add it here.
TOOLDIRS := tools/aif2pcm tools/bin2c tools/gbafix tools/gbagfx tools/jsonproc tools/mapjson tools/mid2agb tools/preproc tools/ramscrgen tools/rsfont tools/scaninc
TOOLBASE = $(TOOLDIRS:tools/%=%)
TOOLS = $(foreach tool,$(TOOLBASE),tools/$(tool)/$(tool)$(EXE))
@ -254,7 +255,7 @@ tidynonmodern:
tidymodern:
rm -f $(MODERN_ROM_NAME) $(MODERN_ELF_NAME) $(MODERN_MAP_NAME)
rm -rf $(MODERN_OBJ_DIR_NAME)
ifneq ($(MODERN),0)
$(C_BUILDDIR)/berry_crush.o: override CFLAGS += -Wno-address-of-packed-member
endif
@ -410,7 +411,7 @@ LD_SCRIPT := ld_script.txt
LD_SCRIPT_DEPS := $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld
else
LD_SCRIPT := ld_script_modern.txt
LD_SCRIPT_DEPS :=
LD_SCRIPT_DEPS :=
endif
$(OBJ_DIR)/ld_script.ld: $(LD_SCRIPT) $(LD_SCRIPT_DEPS)

View File

@ -550,38 +550,38 @@
.2byte \param1
.4byte \param2
.endm
@ useful script macros
.macro get_curr_move_type
get_type AI_TYPE_MOVE
.endm
.macro get_user_type1
get_type AI_TYPE1_USER
.endm
.macro get_user_type2
get_type AI_TYPE2_USER
.endm
.macro get_target_type1
get_type AI_TYPE1_TARGET
.endm
.macro get_target_type2
get_type AI_TYPE2_TARGET
.endm
.macro if_ability battler:req, ability:req, ptr:req
check_ability \battler, \ability
if_equal 1, \ptr
.endm
.macro if_no_ability battler:req, ability:req, ptr:req
check_ability \battler, \ability
if_equal 0, \ptr
.endm
.macro if_type battler:req, type:req, ptr:req
is_of_type \battler, \type
if_equal 1, \ptr
@ -591,20 +591,20 @@
is_of_type \battler, \type
if_equal 0, \ptr
.endm
.macro if_target_faster ptr:req
if_user_goes 1, \ptr
.endm
.macro if_user_faster ptr:req
if_user_goes 0, \ptr
.endm
.macro if_double_battle ptr:req
is_double_battle
if_equal 1, \ptr
.endm
.macro if_not_double_battle ptr:req
is_double_battle
if_equal 0, \ptr
@ -613,7 +613,7 @@
.macro if_any_move_disabled battler:req, ptr:req
if_any_move_disabled_or_encored \battler, 0, \ptr
.endm
.macro if_any_move_encored battler:req, ptr:req
if_any_move_disabled_or_encored \battler, 1, \ptr
.endm

View File

@ -270,16 +270,16 @@
.macro stopsound
.byte 0x2f
.endm
@ useful macros
.macro jumpreteq value:req, ptr:req
jumpargeq ARG_RET_ID, \value, \ptr
.endm
.macro jumprettrue ptr:req
jumpreteq TRUE, \ptr
.endm
.macro jumpretfalse ptr:req
jumpreteq FALSE, \ptr
.endm

View File

@ -410,33 +410,33 @@
.byte \endMode
.byte \endState
.endm
@ Help macros for 5 uses of moveend command
@ All cases
.macro moveendall
setbyte sMOVEEND_STATE, 0
moveend 0, 0
.endm
@ Chosen case
.macro moveendcase case:req
setbyte sMOVEEND_STATE, \case
moveend 1, 0
.endm
@ All cases from (inclusive)
.macro moveendfrom from:req
setbyte sMOVEEND_STATE, \from
moveend 0, 0
.endm
@ All cases from 0 to (not inclusive)
.macro moveendto to:req
setbyte sMOVEEND_STATE, 0
moveend 2, \to
.endm
@ Cases from (inclusive) to (not inclusive)
.macro moveendfromto from:req, to:req
setbyte sMOVEEND_STATE, \from
@ -668,7 +668,7 @@
.byte 0x77
.endm
.macro faintifabilitynotdamp
.macro tryexplosion
.byte 0x78
.endm
@ -1031,7 +1031,7 @@
.byte 0xc8
.endm
.macro jumpifattackandspecialattackcannotfall ptr:req
.macro trymemento ptr:req
.byte 0xc9
.4byte \ptr
.endm
@ -1252,165 +1252,165 @@
.byte 0xf8
.byte \position
.endm
@ various command changed to more readable macros
.macro cancelmultiturnmoves battler:req
various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
.endm
.macro setmagiccoattarget battler:req
various \battler, VARIOUS_SET_MAGIC_COAT_TARGET
.endm
.macro getifcantrunfrombattle battler:req
various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE
.endm
.macro getmovetarget battler:req
various \battler, VARIOUS_GET_MOVE_TARGET
.endm
.macro getbattlerfainted battler:req
various \battler, VARIOUS_GET_BATTLER_FAINTED
.endm
.macro resetintimidatetracebits battler:req
various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
.endm
.macro updatechoicemoveonlvlup battler:req
various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
.endm
.macro resetplayerfainted
various BS_ATTACKER, VARIOUS_RESET_PLAYER_FAINTED
.endm
.macro palaceflavortext battler:req
various \battler, VARIOUS_PALACE_FLAVOR_TEXT
.endm
.macro arenajudgmentwindow
various BS_ATTACKER, VARIOUS_ARENA_JUDGMENT_WINDOW
.endm
.macro arenaopponentmonlost
various BS_ATTACKER, VARIOUS_ARENA_OPPONENT_MON_LOST
.endm
.macro arenaplayermonlost
various BS_ATTACKER, VARIOUS_ARENA_PLAYER_MON_LOST
.endm
.macro arenabothmonlost
various BS_ATTACKER, VARIOUS_ARENA_BOTH_MONS_LOST
.endm
.macro forfeityesnobox battler:req
various \battler, VARIOUS_EMIT_YESNOBOX
.endm
.macro arenadrawreftextbox
various BS_ATTACKER, VARIOUS_DRAW_ARENA_REF_TEXT_BOX
.endm
.macro arenaerasereftextbox
various BS_ATTACKER, VARIOUS_ERASE_ARENA_REF_TEXT_BOX
.endm
.macro arenajudgmentstring id:req
various \id, VARIOUS_ARENA_JUDGMENT_STRING
.endm
.macro arenawaitmessage id:req
various \id, VARIOUS_ARENA_WAIT_STRING
.endm
.macro waitcry battler:req
various \battler, VARIOUS_WAIT_CRY
.endm
.macro returnopponentmon1toball battler:req
various \battler, VARIOUS_RETURN_OPPONENT_MON1
.endm
.macro returnopponentmon2toball battler:req
various \battler, VARIOUS_RETURN_OPPONENT_MON2
.endm
.macro volumedown
various BS_ATTACKER, VARIOUS_VOLUME_DOWN
.endm
.macro volumeup
various BS_ATTACKER, VARIOUS_VOLUME_UP
.endm
.macro setalreadystatusedmoveattempt battler:req
various \battler, VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT
.endm
.macro palacetryescapestatus battler:req
various \battler, VARIOUS_PALACE_TRY_ESCAPE_STATUS
.endm
.macro setoutcomeonteleport battler:req
various \battler, VARIOUS_SET_TELEPORT_OUTCOME
.endm
.macro playtrainerdefeatbgm battler:req
various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
.endm
@ helpful macros
.macro setstatchanger stat:req, stages:req, down:req
setbyte sSTATCHANGER, \stat | \stages << 4 | \down << 7
.endm
.macro setmoveeffect effect:req
setbyte cEFFECT_CHOOSER, \effect
.endm
.macro chosenstatus1animation battler:req, status:req
chosenstatusanimation \battler, 0x0, \status
.endm
.macro chosenstatus2animation battler:req, status:req
chosenstatusanimation \battler, 0x1, \status
.endm
.macro sethword dst:req, value:req
setbyte \dst, (\value) & 0xFF
setbyte \dst + 1, ((\value) >> 8) & 0xFF
.endm
.macro setword dst:req, value:req
setbyte \dst, (\value) & 0xFF
setbyte \dst + 1, ((\value) >> 8) & 0xFF
setbyte \dst + 2, ((\value) >> 16) & 0xFF
setbyte \dst + 3, ((\value) >> 24) & 0xFF
.endm
.macro copybyte dst:req, src:req
copyarray \dst, \src, 0x1
.endm
.macro copyhword dst:req, src:req
copyarray \dst, \src, 0x2
.endm
.macro copyword dst:req, src:req
copyarray \dst, \src, 0x4
.endm
.macro jumpifbytenotequal byte1:req, byte2:req, jumpptr:req
jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr
.endm
.macro jumpifbyteequal byte1:req, byte2:req, jumpptr:req
jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr
.endm
.macro jumpifmove move:req, jumpptr:req
jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr
.endm
@ -1418,23 +1418,23 @@
.macro jumpifnotmove move:req, jumpptr:req
jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr
.endm
.macro jumpifstatus3 battler:req, status:req, jumpptr:req
jumpifstatus3condition \battler, \status, FALSE, \jumpptr
.endm
.macro jumpifnostatus3 battler:req, status:req, jumpptr:req
jumpifstatus3condition \battler, \status, TRUE, \jumpptr
.endm
.macro jumpifmovehadnoeffect jumpptr:req
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr
.endm
.macro jumpifbattletype flags:req, jumpptr:req
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
.endm
.macro jumpifnotbattletype flags:req, jumpptr:req
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
.endm

View File

@ -276,8 +276,8 @@
.2byte SPECIAL_\function
.endm
@ Blocks script execution until a command or C code manually unblocks it. Generally used with specific
@ commands and specials. Calling EnableBothScriptContexts for instance will allow execution to continue.
@ Blocks script execution until a command or C code manually unblocks it. Generally used with specific
@ commands and specials. Calling ScriptContext_Enable for instance will allow execution to continue.
.macro waitstate
.byte 0x27
.endm
@ -469,7 +469,7 @@
formatwarp \map, \a, \b, \c
.endm
@ Sets the dynamic warp destination. Warps with a destination map of MAP_NONE will target this destination.
@ Sets the dynamic warp destination. Warps with a destination map of MAP_DYNAMIC will target this destination.
@ Warp commands can be given either the id of which warp location to go to on the destination map
@ or a pair of x/y coordinates to go to directly on the destination map.
.macro setdynamicwarp map:req, a, b, c
@ -985,7 +985,7 @@
.endm
@ Gives the player a Pokémon of the specified species and level, holding the specified item. The trailing 0s are unused parameters.
@ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome.
@ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome.
.macro givemon species:req, level:req, item=ITEM_NONE
.byte 0x79
.2byte \species
@ -997,7 +997,7 @@
.endm
@ Gives the player an Egg of the specified species.
@ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome.
@ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome.
.macro giveegg species:req
.byte 0x7a
.2byte \species
@ -1415,7 +1415,7 @@
.2byte \out
.endm
@ Gives 'count' coins to the player, up to a total of MAX_COINS.
@ Gives 'count' coins to the player, up to a total of MAX_COINS.
@ If the player already has MAX_COINS then VAR_RESULT is set to TRUE, otherwise it is set to FALSE.
.macro addcoins count:req
.byte 0xb4
@ -1576,15 +1576,15 @@
.4byte \value
.endm
@ Sets the eventLegal bit for the Pokemon in the specified slot of the player's party.
.macro setmoneventlegal slot:req
@ Sets the modernFatefulEncounter bit for the Pokemon in the specified slot of the player's party.
.macro setmodernfatefulencounter slot:req
.byte 0xcd
.2byte \slot
.endm
@ Checks if the eventLegal bit is set for the Pokemon in the specified slot of the player's party. If it isn't set,
@ Checks if the modernFatefulEncounter bit is set for the Pokemon in the specified slot of the player's party. If it isn't set,
@ VAR_RESULT is TRUE. If the bit is set (or if the specified slot is empty or invalid), VAR_RESULT is FALSE.
.macro checkmoneventlegal slot:req
.macro checkmodernfatefulencounter slot:req
.byte 0xce
.2byte \slot
.endm
@ -1887,7 +1887,7 @@
@ Gives 'amount' of the specified 'item' to the player and prints a message with fanfare.
@ If the player doesn't have space for all the items then as many are added as possible, the
@ message indicates there is no room, and VAR_RESULT is set to FALSE.
@ message indicates there is no room, and VAR_RESULT is set to FALSE.
@ Otherwise VAR_RESULT is set to TRUE, and the message indicates they have received the item(s).
.macro giveitem item:req, amount=1
setorcopyvar VAR_0x8000, \item
@ -1932,10 +1932,10 @@
closebraillemessage
.endm
@ Creates an "event legal" Pokémon for an encounter
@ Creates a Pokémon with the modernFatefulEncounter bit set for an encounter
.macro seteventmon species:req, level:req, item=ITEM_NONE
setvar VAR_0x8004, \species
setvar VAR_0x8005, \level
setvar VAR_0x8006, \item
special CreateEventLegalEnemyMon
special CreateEnemyEventMon
.endm

View File

@ -19,11 +19,11 @@
.4byte \script
.endm
@ Defines an object event template for map data. Mirrors the struct layout of ObjectEventTemplate in include/global.fieldmap.h
.macro object_event index:req, gfx:req, inConnection:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req
@ Defines an object event template for map data, to be used by a normal object. Mirrors the struct layout of ObjectEventTemplate in include/global.fieldmap.h
.macro object_event index:req, gfx:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req
.byte \index
.byte \gfx
.byte \inConnection
.byte OBJ_KIND_NORMAL
.space 1 @ Padding
.2byte \x, \y
.byte \elevation
@ -38,6 +38,22 @@
inc _num_npcs
.endm
@ Defines an object event template for map data, to be used by a clone object. Mirrors the struct layout of ObjectEventTemplate in include/global.fieldmap.h
@ NOTE: The handling for this type of event does not exist in Emerald by default; it is exclusive to FRLG.
.macro clone_event index:req, gfx:req, x:req, y:req, target_local_id:req, target_map_id:req
.byte \index
.byte \gfx
.byte OBJ_KIND_CLONE
.space 1 @ Padding
.2byte \x, \y
.byte \target_local_id
.space 3 @ Padding
.2byte \target_map_id & 0xFF @ map num
.2byte \target_map_id >> 8 @ map group
.space 8 @ Padding
inc _num_npcs
.endm
@ Defines a warp event for map data. Mirrors the struct layout of WarpEvent in include/global.fieldmap.h
.macro warp_def x:req, y:req, elevation:req, warpId:req, map_id:req
.2byte \x, \y
@ -49,12 +65,12 @@
.endm
@ Defines a coord event for map data. Mirrors the struct layout of CoordEvent in include/global.fieldmap.h
.macro coord_event x:req, y:req, elevation:req, trigger:req, index:req, script:req
.macro coord_event x:req, y:req, elevation:req, var:req, varValue:req, script:req
.2byte \x, \y
.byte \elevation
.space 1 @ Padding
.2byte \trigger
.2byte \index
.2byte \var
.2byte \varValue
.space 2 @ Padding
.4byte \script
inc _num_traps

View File

@ -152,8 +152,8 @@
create_movement_action walk_slow_diag_northeast, MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT
create_movement_action walk_slow_diag_southwest, MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT
create_movement_action walk_slow_diag_southeast, MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT
create_movement_action store_lock_anim, MOVEMENT_ACTION_STORE_AND_LOCK_ANIM
create_movement_action free_unlock_anim, MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM
create_movement_action lock_anim, MOVEMENT_ACTION_LOCK_ANIM
create_movement_action unlock_anim, MOVEMENT_ACTION_UNLOCK_ANIM
create_movement_action walk_left_affine, MOVEMENT_ACTION_WALK_LEFT_AFFINE
create_movement_action walk_right_affine, MOVEMENT_ACTION_WALK_RIGHT_AFFINE
create_movement_action levitate, MOVEMENT_ACTION_LEVITATE

View File

@ -100,9 +100,9 @@
special CallTrainerHillFunction
.endm
@ Set the challenge mode to HILL_TAG_* (Normal, Variety, Unique, or Expert)
.macro trainerhill_settag tag:req
setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_TAG
copyvar VAR_0x8005, \tag
@ Set the challenge mode to HILL_MODE_* (Normal, Variety, Unique, or Expert)
.macro trainerhill_setmode mode:req
setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_MODE
copyvar VAR_0x8005, \mode
special CallTrainerHillFunction
.endm

View File

@ -416,13 +416,13 @@ SHADOW = FC 03 @ same as fc 01
COLOR_HIGHLIGHT_SHADOW = FC 04 @ takes 3 bytes
PALETTE = FC 05 @ used in credits
FONT = FC 06 @ Given a font id, or use font constants below instead
RESET_SIZE = FC 07
RESET_FONT = FC 07
PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them
PAUSE_UNTIL_PRESS = FC 09
WAIT_SE = FC 0A
PLAY_BGM = FC 0B
ESCAPE = FC 0C
SHIFT_TEXT = FC 0D
SHIFT_RIGHT = FC 0D
SHIFT_DOWN = FC 0E
FILL_WINDOW = FC 0F
PLAY_SE = FC 10
@ -795,7 +795,7 @@ MUS_LITTLEROOT = 95 01
MUS_MT_CHIMNEY = 96 01
MUS_ENCOUNTER_FEMALE = 97 01
MUS_LILYCOVE = 98 01
MUS_ROUTE111 = 99 01
MUS_DESERT = 99 01
MUS_HELP = 9A 01
MUS_UNDERWATER = 9B 01
MUS_VICTORY_TRAINER = 9C 01

View File

@ -1,5 +1,2 @@
gUnusedWindowVar1
gUnusedWindowVar2
gTransparentTileNumber
gUnusedWindowVar3
gWindowBgTilemapBuffers

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,7 @@
#include "constants/global.h"
#include "constants/battle.h"
#include "constants/pokemon.h"
#include "constants/battle_arena.h"
#include "constants/battle_script_commands.h"
#include "constants/battle_anim.h"
#include "constants/battle_string_ids.h"
@ -14,7 +15,7 @@
.include "constants/constants.inc"
.section script_data, "aw", %progbits
.align 2
gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectHit @ EFFECT_HIT
@ -374,7 +375,8 @@ BattleScript_EffectExplosion::
attackcanceler
attackstring
ppreduce
faintifabilitynotdamp
@ Below jumps to BattleScript_DampStopsExplosion if it fails (only way it can)
tryexplosion
setatkhptozero
waitstate
jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_ExplosionDoAnimStartLoop
@ -489,7 +491,7 @@ BattleScript_EffectStatUp::
BattleScript_EffectStatUpAfterAtkCanceler::
attackstring
ppreduce
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_StatUpEnd
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_StatUpEnd
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_StatUpAttackAnim
pause B_WAIT_TIME_SHORT
goto BattleScript_StatUpPrintString
@ -535,7 +537,7 @@ BattleScript_EffectStatDown::
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_StatDownEnd
statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_StatDownEnd
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_StatDownDoAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_FELL_EMPTY, BattleScript_StatDownEnd
pause B_WAIT_TIME_SHORT
@ -1491,17 +1493,17 @@ BattleScript_CurseTrySpeed::
attackanimation
waitanimation
setstatchanger STAT_SPEED, 1, TRUE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CurseTryAttack
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CurseTryAttack
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CurseTryAttack::
setstatchanger STAT_ATK, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CurseTryDefense
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CurseTryDefense
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CurseTryDefense::
setstatchanger STAT_DEF, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CurseEnd
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CurseEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CurseEnd::
@ -1613,7 +1615,7 @@ BattleScript_EffectSwagger::
attackanimation
waitanimation
setstatchanger STAT_ATK, 2, FALSE
statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_SwaggerTryConfuse
statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_SwaggerTryConfuse
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_SwaggerTryConfuse
setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@ -1812,7 +1814,7 @@ BattleScript_EffectSkullBash::
setbyte sTWOTURN_STRINGID, B_MSG_TURN1_SKULL_BASH
call BattleScriptFirstChargingTurn
setstatchanger STAT_DEF, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_SkullBashEnd
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_SkullBashEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_SkullBashEnd
setgraphicalstatchangevalues
playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@ -1926,8 +1928,8 @@ BattleScript_EffectTeleport::
ppreduce
jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailed
getifcantrunfrombattle BS_ATTACKER
jumpifbyte CMP_EQUAL, gBattleCommunication, 1, BattleScript_ButItFailed
jumpifbyte CMP_EQUAL, gBattleCommunication, 2, BattleScript_PrintAbilityMadeIneffective
jumpifbyte CMP_EQUAL, gBattleCommunication, BATTLE_RUN_FORBIDDEN, BattleScript_ButItFailed
jumpifbyte CMP_EQUAL, gBattleCommunication, BATTLE_RUN_FAILURE, BattleScript_PrintAbilityMadeIneffective
attackanimation
waitanimation
printstring STRINGID_PKMNFLEDFROMBATTLE
@ -2015,7 +2017,7 @@ BattleScript_EffectDefenseCurl::
ppreduce
setdefensecurlbit
setstatchanger STAT_DEF, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_DefenseCurlDoStatUpAnim
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_DefenseCurlDoStatUpAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_StatUpPrintString
attackanimation
waitanimation
@ -2156,7 +2158,7 @@ BattleScript_EffectFlatter::
attackanimation
waitanimation
setstatchanger STAT_SPATK, 1, FALSE
statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_FlatterTryConfuse
statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_FlatterTryConfuse
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_FlatterTryConfuse
setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@ -2201,10 +2203,10 @@ BattleScript_AlreadyBurned::
BattleScript_EffectMemento::
attackcanceler
jumpifbyte CMP_EQUAL, cMISS_TYPE, B_MSG_PROTECTED, BattleScript_MementoFailProtect
jumpifbyte CMP_EQUAL, cMISS_TYPE, B_MSG_PROTECTED, BattleScript_MementoTargetProtect
attackstring
ppreduce
jumpifattackandspecialattackcannotfall BattleScript_ButItFailed
trymemento BattleScript_ButItFailed
setatkhptozero
attackanimation
waitanimation
@ -2213,16 +2215,16 @@ BattleScript_EffectMemento::
playstatchangeanimation BS_TARGET, BIT_ATK | BIT_SPATK, STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO | STAT_CHANGE_MULTIPLE_STATS
playstatchangeanimation BS_TARGET, BIT_ATK, STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO
setstatchanger STAT_ATK, 2, TRUE
statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_EffectMementoTrySpAtk
@ Greater than STAT_FELL is checking if the stat cannot decrease
statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_EffectMementoTrySpAtk
@ Greater than B_MSG_DEFENDER_STAT_FELL is checking if the stat cannot decrease
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_FELL, BattleScript_EffectMementoTrySpAtk
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_EffectMementoTrySpAtk:
playstatchangeanimation BS_TARGET, BIT_SPATK, STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO
setstatchanger STAT_SPATK, 2, TRUE
statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_EffectMementoTryFaint
@ Greater than STAT_FELL is checking if the stat cannot decrease
statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_EffectMementoTryFaint
@ Greater than B_MSG_DEFENDER_STAT_FELL is checking if the stat cannot decrease
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, B_MSG_DEFENDER_STAT_FELL, BattleScript_EffectMementoTryFaint
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
@ -2233,11 +2235,12 @@ BattleScript_EffectMementoPrintNoEffect:
printstring STRINGID_BUTNOEFFECT
waitmessage B_WAIT_TIME_LONG
goto BattleScript_EffectMementoTryFaint
BattleScript_MementoFailProtect:
@ If the target is protected there's no need to check the target's stats or animate, the user will just faint
BattleScript_MementoTargetProtect:
attackstring
ppreduce
jumpifattackandspecialattackcannotfall BattleScript_MementoFailEnd
BattleScript_MementoFailEnd:
trymemento BattleScript_MementoTargetProtectEnd
BattleScript_MementoTargetProtectEnd:
setatkhptozero
pause B_WAIT_TIME_LONG
effectivenesssound
@ -2660,14 +2663,14 @@ BattleScript_TickleDoMoveAnim::
playstatchangeanimation BS_TARGET, BIT_ATK | BIT_DEF, STAT_CHANGE_NEGATIVE | STAT_CHANGE_MULTIPLE_STATS
playstatchangeanimation BS_TARGET, BIT_ATK, STAT_CHANGE_NEGATIVE
setstatchanger STAT_ATK, 1, TRUE
statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TickleTryLowerDef
statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_TickleTryLowerDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_TickleTryLowerDef
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_TickleTryLowerDef::
playstatchangeanimation BS_TARGET, BIT_DEF, STAT_CHANGE_NEGATIVE
setstatchanger STAT_DEF, 1, TRUE
statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TickleEnd
statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_TickleEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_TickleEnd
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
@ -2693,13 +2696,13 @@ BattleScript_CosmicPowerDoMoveAnim::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_SPDEF, 0
setstatchanger STAT_DEF, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CosmicPowerTrySpDef
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CosmicPowerTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CosmicPowerTrySpDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CosmicPowerTrySpDef::
setstatchanger STAT_SPDEF, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CosmicPowerEnd
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CosmicPowerEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CosmicPowerEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
@ -2722,13 +2725,13 @@ BattleScript_BulkUpDoMoveAnim::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, 0
setstatchanger STAT_ATK, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_BulkUpTryDef
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_BulkUpTryDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_BulkUpTryDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_BulkUpTryDef::
setstatchanger STAT_DEF, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_BulkUpEnd
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_BulkUpEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_BulkUpEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
@ -2747,13 +2750,13 @@ BattleScript_CalmMindDoMoveAnim::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_SPATK | BIT_SPDEF, 0
setstatchanger STAT_SPATK, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CalmMindTrySpDef
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CalmMindTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CalmMindTrySpDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_CalmMindTrySpDef::
setstatchanger STAT_SPDEF, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CalmMindEnd
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_CalmMindEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_CalmMindEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
@ -2779,13 +2782,13 @@ BattleScript_DragonDanceDoMoveAnim::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_SPEED, 0
setstatchanger STAT_ATK, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_DragonDanceTrySpeed
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_DragonDanceTrySpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_DragonDanceTrySpeed
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_DragonDanceTrySpeed::
setstatchanger STAT_SPEED, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_DragonDanceEnd
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_DragonDanceEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_DragonDanceEnd
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
@ -2823,7 +2826,7 @@ BattleScript_GiveExp::
setbyte sGIVEEXP_STATE, 0
getexp BS_TARGET
end2
BattleScript_HandleFaintedMon::
checkteamslost BattleScript_LinkHandleFaintedMonMultiple
jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_FaintedMonEnd
@ -3456,27 +3459,27 @@ BattleScript_AllStatsUpAtk::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED | BIT_SPATK | BIT_SPDEF, 0
setstatchanger STAT_ATK, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpDef
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AllStatsUpDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_AllStatsUpDef::
setstatchanger STAT_DEF, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpSpeed
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AllStatsUpSpeed
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_AllStatsUpSpeed::
setstatchanger STAT_SPEED, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpSpAtk
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AllStatsUpSpAtk
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_AllStatsUpSpAtk::
setstatchanger STAT_SPATK, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpSpDef
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AllStatsUpSpDef
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_AllStatsUpSpDef::
setstatchanger STAT_SPDEF, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpRet
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AllStatsUpRet
printfromtable gStatUpStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_AllStatsUpRet::
@ -3623,14 +3626,14 @@ BattleScript_AtkDefDown::
playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_ATK, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE | STAT_CHANGE_MULTIPLE_STATS
playstatchangeanimation BS_ATTACKER, BIT_ATK, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE
setstatchanger STAT_ATK, 1, TRUE
statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_AtkDefDown_TryDef
statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_ALLOW_PTR, BattleScript_AtkDefDown_TryDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_AtkDefDown_TryDef
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_AtkDefDown_TryDef::
playstatchangeanimation BS_ATTACKER, BIT_DEF, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE
setstatchanger STAT_DEF, 1, TRUE
statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_AtkDefDown_End
statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_ALLOW_PTR, BattleScript_AtkDefDown_End
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_AtkDefDown_End
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
@ -3696,7 +3699,7 @@ BattleScript_SAtkDown2::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_SPATK, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO
setstatchanger STAT_SPATK, 2, TRUE
statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_SAtkDown2End
statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_ALLOW_PTR, BattleScript_SAtkDown2End
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_SAtkDown2End
printfromtable gStatDownStringIds
waitmessage B_WAIT_TIME_LONG
@ -4027,7 +4030,7 @@ BattleScript_IntimidateActivatesLoop:
jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_IntimidatePrevented
jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_IntimidatePrevented
jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_IntimidatePrevented
statbuffchange STAT_BUFF_NOT_PROTECT_AFFECTED | STAT_BUFF_ALLOW_PTR, BattleScript_IntimidateActivatesLoopIncrement
statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_ALLOW_PTR, BattleScript_IntimidateActivatesLoopIncrement
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_IntimidateActivatesLoopIncrement
setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@ -4043,7 +4046,7 @@ BattleScript_IntimidatePrevented:
printstring STRINGID_PREVENTEDFROMWORKING
waitmessage B_WAIT_TIME_LONG
goto BattleScript_IntimidateActivatesLoopIncrement
BattleScript_DroughtActivates::
pause B_WAIT_TIME_SHORT
printstring STRINGID_PKMNSXINTENSIFIEDSUN
@ -4406,7 +4409,7 @@ BattleScript_BerryConfuseHealEnd2::
BattleScript_BerryStatRaiseEnd2::
playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_BerryStatRaiseDoStatUp
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_BerryStatRaiseDoStatUp
BattleScript_BerryStatRaiseDoStatUp::
setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_ROSE_ITEM
call BattleScript_StatUp
@ -4480,7 +4483,7 @@ BattleScript_ArenaDoJudgment::
arenajudgmentstring B_MSG_REF_THATS_IT
arenawaitmessage B_MSG_REF_THATS_IT
pause B_WAIT_TIME_LONG
setbyte gBattleCommunication, 0
setbyte gBattleCommunication, 0 @ Reset state for arenajudgmentwindow
arenajudgmentwindow
pause B_WAIT_TIME_LONG
arenajudgmentwindow
@ -4493,8 +4496,9 @@ BattleScript_ArenaDoJudgment::
arenajudgmentstring B_MSG_REF_JUDGE_BODY
arenawaitmessage B_MSG_REF_JUDGE_BODY
arenajudgmentwindow
jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 3, BattleScript_ArenaJudgmentPlayerLoses
jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 4, BattleScript_ArenaJudgmentDraw
jumpifbyte CMP_EQUAL, gBattleCommunication + 1, ARENA_RESULT_PLAYER_LOST, BattleScript_ArenaJudgmentPlayerLoses
jumpifbyte CMP_EQUAL, gBattleCommunication + 1, ARENA_RESULT_TIE, BattleScript_ArenaJudgmentDraw
@ ARENA_RESULT_PLAYER_WON
arenajudgmentstring B_MSG_REF_PLAYER_WON
arenawaitmessage B_MSG_REF_PLAYER_WON
arenajudgmentwindow

View File

@ -65,7 +65,7 @@ BattleScript_SuccessBallThrow::
jumpifhalfword CMP_EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_PrintCaughtMonInfo
incrementgamestat GAME_STAT_POKEMON_CAPTURES
BattleScript_PrintCaughtMonInfo::
printstring STRINGID_GOTCHAPKMNCAUGHT
printstring STRINGID_GOTCHAPKMNCAUGHTPLAYER
trysetcaughtmondexflags BattleScript_TryNicknameCaughtMon
printstring STRINGID_PKMNDATAADDEDTODEX
waitstate
@ -87,7 +87,7 @@ BattleScript_SuccessBallThrowEnd::
finishturn
BattleScript_WallyBallThrow::
printstring STRINGID_GOTCHAPKMNCAUGHT2
printstring STRINGID_GOTCHAPKMNCAUGHTWALLY
setbyte gBattleOutcome, B_OUTCOME_CAUGHT
finishturn

View File

@ -435,11 +435,15 @@ AI_CGM_BetterWhenAudienceExcited:
AI_CGM_BetterWhenAudienceExcited_1stUp:
@ BUG: Should be if_appeal_num_eq 0
@ 1st up on 1st appeal excitement will always be 0
if_appeal_num_not_eq 0, AI_CGM_BetterWhenAudienceExcited_Not1stAppeal
.ifdef BUGFIX
if_appeal_num_eq 0, AI_CGM_BetterWhenAudienceExcited_1stAppeal
.else
if_appeal_num_not_eq 0, AI_CGM_BetterWhenAudienceExcited_1stAppeal
.endif
if_excitement_eq 4, AI_CGM_BetterWhenAudienceExcited_1AwayFromMax
if_excitement_eq 3, AI_CGM_BetterWhenAudienceExcited_2AwayFromMax
end
AI_CGM_BetterWhenAudienceExcited_Not1stAppeal:
AI_CGM_BetterWhenAudienceExcited_1stAppeal:
if_random_less_than 125, AI_CGM_End
score -15
end
@ -542,7 +546,11 @@ AI_CGM_TargetMonWithJudgesAttention:
end
AI_CGM_TargetMonWithJudgesAttention_CheckMon1:
if_cannot_participate MON_1, AI_CGM_TargetMonWithJudgesAttention_CheckMon2
.ifdef BUGFIX
if_not_used_combo_starter MON_1, AI_CGM_TargetMonWithJudgesAttention_CheckMon2
.else
if_used_combo_starter MON_1, AI_CGM_TargetMonWithJudgesAttention_CheckMon2
.endif
if_random_less_than 125, AI_CGM_TargetMonWithJudgesAttention_CheckMon2
score +2
if_not_completed_combo MON_1, AI_CGM_TargetMonWithJudgesAttention_CheckMon2
@ -551,7 +559,11 @@ AI_CGM_TargetMonWithJudgesAttention_CheckMon1:
AI_CGM_TargetMonWithJudgesAttention_CheckMon2:
if_user_order_eq MON_2, AI_CGM_End
if_cannot_participate MON_2, AI_CGM_TargetMonWithJudgesAttention_CheckMon3
.ifdef BUGFIX
if_not_used_combo_starter MON_2, AI_CGM_TargetMonWithJudgesAttention_CheckMon3
.else
if_used_combo_starter MON_2, AI_CGM_TargetMonWithJudgesAttention_CheckMon3
.endif
if_random_less_than 125, AI_CGM_TargetMonWithJudgesAttention_CheckMon3
score +2
if_not_completed_combo MON_2, AI_CGM_TargetMonWithJudgesAttention_CheckMon3
@ -560,7 +572,11 @@ AI_CGM_TargetMonWithJudgesAttention_CheckMon2:
AI_CGM_TargetMonWithJudgesAttention_CheckMon3:
if_user_order_eq MON_3, AI_CGM_End
if_cannot_participate MON_3, AI_CGM_End
.ifdef BUGFIX
if_not_used_combo_starter MON_3, AI_CGM_End
.else
if_used_combo_starter MON_3, AI_CGM_End
.endif
if_random_less_than 125, AI_CGM_End
score +2
if_not_completed_combo MON_3, AI_CGM_End

View File

@ -47,14 +47,14 @@
"y": 6,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_DECK",
"dest_warp_id": 4
"dest_warp_id": "4"
},
{
"x": 8,
"y": 6,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_DECK",
"dest_warp_id": 4
"dest_warp_id": "4"
}
],
"coord_events": [],

View File

@ -7,7 +7,7 @@ AbandonedShip_CaptainsOffice_EventScript_CaptSternAide::
goto_if_set FLAG_EXCHANGED_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus
checkitem ITEM_SCANNER
goto_if_eq VAR_RESULT, TRUE, AbandonedShip_CaptainsOffice_EventScript_CanYouDeliverScanner
goto_if_set FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus
goto_if_set FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_2_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus
msgbox AbandonedShip_CaptainsOffice_Text_NoSuccessFindingScanner, MSGBOX_DEFAULT
release
end

View File

@ -47,84 +47,84 @@
"y": 11,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_DECK",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 8,
"y": 11,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_DECK",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 0,
"y": 11,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_DECK",
"dest_warp_id": 3
"dest_warp_id": "3"
},
{
"x": 1,
"y": 11,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_DECK",
"dest_warp_id": 3
"dest_warp_id": "3"
},
{
"x": 11,
"y": 9,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 14,
"y": 9,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F",
"dest_warp_id": 3
"dest_warp_id": "3"
},
{
"x": 11,
"y": 3,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 14,
"y": 3,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F",
"dest_warp_id": 4
"dest_warp_id": "4"
},
{
"x": 3,
"y": 9,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_ROOMS2_1F",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 16,
"y": 2,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
"dest_warp_id": 7
"dest_warp_id": "7"
},
{
"x": 5,
"y": 2,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
"dest_warp_id": 6
"dest_warp_id": "6"
},
{
"x": 3,
"y": 3,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_ROOMS2_1F",
"dest_warp_id": 2
"dest_warp_id": "2"
}
],
"coord_events": [],

View File

@ -47,56 +47,56 @@
"y": 4,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_ROOMS2_B1F",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 3,
"y": 4,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_ROOMS2_B1F",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 5,
"y": 7,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_ROOMS_B1F",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 8,
"y": 7,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_ROOMS_B1F",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 11,
"y": 7,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_ROOMS_B1F",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 11,
"y": 4,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_ROOM_B1F",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 0,
"y": 2,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"dest_warp_id": 10
"dest_warp_id": "10"
},
{
"x": 8,
"y": 2,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"dest_warp_id": 9
"dest_warp_id": "9"
}
],
"coord_events": [],

View File

@ -20,35 +20,35 @@
"y": 15,
"elevation": 3,
"dest_map": "MAP_ROUTE108",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 14,
"y": 15,
"elevation": 3,
"dest_map": "MAP_ROUTE108",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 13,
"y": 9,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 8,
"y": 9,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 12,
"y": 5,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CAPTAINS_OFFICE",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -20,42 +20,42 @@
"y": 8,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 6,
"y": 8,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 9,
"y": 8,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
"dest_warp_id": 4
"dest_warp_id": "4"
},
{
"x": 3,
"y": 3,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
"dest_warp_id": 6
"dest_warp_id": "6"
},
{
"x": 6,
"y": 3,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
"dest_warp_id": 7
"dest_warp_id": "7"
},
{
"x": 9,
"y": 3,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
"dest_warp_id": 8
"dest_warp_id": "8"
}
],
"coord_events": [],

View File

@ -38,7 +38,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemScanner",
"flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER"
"flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_2_SCANNER"
},
{
"graphics_id": "OBJ_EVENT_GFX_ITEM_BALL",
@ -51,7 +51,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemTM18",
"flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_18"
"flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM18"
},
{
"graphics_id": "OBJ_EVENT_GFX_ITEM_BALL",
@ -73,63 +73,63 @@
"y": 14,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 7,
"y": 14,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 21,
"y": 14,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 22,
"y": 14,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 36,
"y": 14,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 37,
"y": 14,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 6,
"y": 1,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
"dest_warp_id": 3
"dest_warp_id": "3"
},
{
"x": 21,
"y": 1,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
"dest_warp_id": 4
"dest_warp_id": "4"
},
{
"x": 36,
"y": 1,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
"dest_warp_id": 5
"dest_warp_id": "5"
}
],
"coord_events": [],

View File

@ -25,7 +25,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "AbandonedShip_Room_B1F_EventScript_ItemTM13",
"flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_13"
"flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM13"
}
],
"warp_events": [
@ -34,14 +34,14 @@
"y": 7,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
"dest_warp_id": 5
"dest_warp_id": "5"
},
{
"x": 5,
"y": 7,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
"dest_warp_id": 5
"dest_warp_id": "5"
}
],
"coord_events": [],

View File

@ -86,21 +86,21 @@
"y": 16,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"dest_warp_id": 8
"dest_warp_id": "8"
},
{
"x": 5,
"y": 16,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"dest_warp_id": 8
"dest_warp_id": "8"
},
{
"x": 4,
"y": 1,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"dest_warp_id": 11
"dest_warp_id": "11"
}
],
"coord_events": [],

View File

@ -47,28 +47,28 @@
"y": 7,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 5,
"y": 7,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 13,
"y": 7,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 14,
"y": 7,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -73,42 +73,42 @@
"y": 16,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"dest_warp_id": 4
"dest_warp_id": "4"
},
{
"x": 5,
"y": 16,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"dest_warp_id": 4
"dest_warp_id": "4"
},
{
"x": 4,
"y": 1,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"dest_warp_id": 6
"dest_warp_id": "6"
},
{
"x": 13,
"y": 16,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"dest_warp_id": 5
"dest_warp_id": "5"
},
{
"x": 13,
"y": 1,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"dest_warp_id": 7
"dest_warp_id": "7"
},
{
"x": 14,
"y": 16,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F",
"dest_warp_id": 5
"dest_warp_id": "5"
}
],
"coord_events": [],

View File

@ -47,21 +47,21 @@
"y": 1,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 13,
"y": 1,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
"dest_warp_id": 3
"dest_warp_id": "3"
},
{
"x": 22,
"y": 1,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
"dest_warp_id": 4
"dest_warp_id": "4"
}
],
"coord_events": [],

View File

@ -20,14 +20,14 @@
"y": 7,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_UNDERWATER2",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 4,
"y": 7,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_UNDERWATER2",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -20,7 +20,7 @@
"y": 1,
"elevation": 3,
"dest_map": "MAP_ABANDONED_SHIP_UNDERWATER1",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -20,7 +20,7 @@
"y": 22,
"elevation": 0,
"dest_map": "MAP_ROUTE103",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -34,21 +34,21 @@
"y": 29,
"elevation": 3,
"dest_map": "MAP_ROUTE120",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 8,
"y": 20,
"elevation": 0,
"dest_map": "MAP_ANCIENT_TOMB",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 8,
"y": 11,
"elevation": 3,
"dest_map": "MAP_ANCIENT_TOMB",
"dest_warp_id": 1
"dest_warp_id": "1"
}
],
"coord_events": [],

View File

@ -60,21 +60,21 @@
"y": 27,
"elevation": 1,
"dest_map": "MAP_LILYCOVE_CITY",
"dest_warp_id": 6
"dest_warp_id": "6"
},
{
"x": 14,
"y": 27,
"elevation": 1,
"dest_map": "MAP_LILYCOVE_CITY",
"dest_warp_id": 6
"dest_warp_id": "6"
},
{
"x": 22,
"y": 1,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -138,175 +138,175 @@
"y": 1,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_1F",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 18,
"y": 1,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B2F",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 12,
"y": 1,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B2F",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 3,
"y": 3,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B2F",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 31,
"y": 4,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 7
"dest_warp_id": "7"
},
{
"x": 27,
"y": 4,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 8
"dest_warp_id": "8"
},
{
"x": 20,
"y": 4,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 10
"dest_warp_id": "10"
},
{
"x": 27,
"y": 12,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 4
"dest_warp_id": "4"
},
{
"x": 3,
"y": 15,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 5
"dest_warp_id": "5"
},
{
"x": 3,
"y": 20,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 12
"dest_warp_id": "12"
},
{
"x": 32,
"y": 19,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 6
"dest_warp_id": "6"
},
{
"x": 23,
"y": 10,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 22
"dest_warp_id": "22"
},
{
"x": 45,
"y": 3,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 9
"dest_warp_id": "9"
},
{
"x": 42,
"y": 5,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 18
"dest_warp_id": "18"
},
{
"x": 45,
"y": 5,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 12
"dest_warp_id": "12"
},
{
"x": 48,
"y": 5,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 16
"dest_warp_id": "16"
},
{
"x": 42,
"y": 9,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 15
"dest_warp_id": "15"
},
{
"x": 45,
"y": 9,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 20
"dest_warp_id": "20"
},
{
"x": 48,
"y": 9,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 13
"dest_warp_id": "13"
},
{
"x": 42,
"y": 13,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 24
"dest_warp_id": "24"
},
{
"x": 45,
"y": 13,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 17
"dest_warp_id": "17"
},
{
"x": 48,
"y": 13,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 12
"dest_warp_id": "12"
},
{
"x": 42,
"y": 17,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 11
"dest_warp_id": "11"
},
{
"x": 45,
"y": 17,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 17
"dest_warp_id": "17"
},
{
"x": 48,
"y": 17,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 19
"dest_warp_id": "19"
}
],
"coord_events": [],

View File

@ -99,70 +99,70 @@
"y": 1,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 12,
"y": 1,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 3,
"y": 3,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 3
"dest_warp_id": "3"
},
{
"x": 31,
"y": 8,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B2F",
"dest_warp_id": 5
"dest_warp_id": "5"
},
{
"x": 8,
"y": 8,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B2F",
"dest_warp_id": 8
"dest_warp_id": "8"
},
{
"x": 5,
"y": 8,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B2F",
"dest_warp_id": 3
"dest_warp_id": "3"
},
{
"x": 18,
"y": 13,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B2F",
"dest_warp_id": 7
"dest_warp_id": "7"
},
{
"x": 12,
"y": 13,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B2F",
"dest_warp_id": 6
"dest_warp_id": "6"
},
{
"x": 31,
"y": 17,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B2F",
"dest_warp_id": 4
"dest_warp_id": "4"
},
{
"x": 32,
"y": 20,
"elevation": 3,
"dest_map": "MAP_AQUA_HIDEOUT_B1F",
"dest_warp_id": 4
"dest_warp_id": "4"
}
],
"coord_events": [

View File

@ -34,14 +34,14 @@
"y": 17,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 13
"dest_warp_id": "13"
},
{
"x": 6,
"y": 5,
"elevation": 0,
"dest_map": "MAP_ARTISAN_CAVE_B1F",
"dest_warp_id": 1
"dest_warp_id": "1"
}
],
"coord_events": [],

View File

@ -34,14 +34,14 @@
"y": 48,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 10
"dest_warp_id": "10"
},
{
"x": 38,
"y": 5,
"elevation": 0,
"dest_map": "MAP_ARTISAN_CAVE_1F",
"dest_warp_id": 1
"dest_warp_id": "1"
}
],
"coord_events": [],

View File

@ -33,15 +33,15 @@
"x": 6,
"y": 8,
"elevation": 3,
"dest_map": "MAP_NONE",
"dest_warp_id": 127
"dest_map": "MAP_DYNAMIC",
"dest_warp_id": "WARP_ID_DYNAMIC"
},
{
"x": 7,
"y": 8,
"elevation": 3,
"dest_map": "MAP_NONE",
"dest_warp_id": 127
"dest_map": "MAP_DYNAMIC",
"dest_warp_id": "WARP_ID_DYNAMIC"
}
],
"coord_events": [

View File

@ -19,29 +19,29 @@
"x": 5,
"y": 8,
"elevation": 3,
"dest_map": "MAP_NONE",
"dest_warp_id": 127
"dest_map": "MAP_DYNAMIC",
"dest_warp_id": "WARP_ID_DYNAMIC"
},
{
"x": 6,
"y": 8,
"elevation": 3,
"dest_map": "MAP_NONE",
"dest_warp_id": 127
"dest_map": "MAP_DYNAMIC",
"dest_warp_id": "WARP_ID_DYNAMIC"
},
{
"x": 7,
"y": 8,
"elevation": 3,
"dest_map": "MAP_NONE",
"dest_warp_id": 127
"dest_map": "MAP_DYNAMIC",
"dest_warp_id": "WARP_ID_DYNAMIC"
},
{
"x": 8,
"y": 8,
"elevation": 3,
"dest_map": "MAP_NONE",
"dest_warp_id": 127
"dest_map": "MAP_DYNAMIC",
"dest_warp_id": "WARP_ID_DYNAMIC"
}
],
"coord_events": [

View File

@ -86,7 +86,7 @@
"y": 12,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 1
"dest_warp_id": "1"
}
],
"coord_events": [],

View File

@ -5,6 +5,10 @@
.set LOCALID_PLAYER, 13
.set LOCALID_OPPONENT, 15
.set NO_DRAW, 0
.set DRAW_TRAINER, 1
.set DRAW_TUCKER, 2
BattleFrontier_BattleDomeBattleRoom_MapScripts::
map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleDomeBattleRoom_OnTransition
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeBattleRoom_OnFrame
@ -12,10 +16,6 @@ BattleFrontier_BattleDomeBattleRoom_MapScripts::
map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleDomeBattleRoom_OnResume
.byte 0
.set NO_DRAW, 0
.set DRAW_TRAINER, 1
.set DRAW_TUCKER, 2
BattleFrontier_BattleDomeBattleRoom_OnTransition:
dome_setopponentgfx
frontier_get FRONTIER_DATA_BATTLE_NUM

View File

@ -34,14 +34,14 @@
"y": 8,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 7,
"y": 8,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 1
"dest_warp_id": "1"
}
],
"coord_events": [],

View File

@ -99,14 +99,14 @@
"y": 16,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 12,
"y": 16,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 1
"dest_warp_id": "1"
}
],
"coord_events": [],

View File

@ -34,14 +34,14 @@
"y": 8,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 7,
"y": 8,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 1
"dest_warp_id": "1"
}
],
"coord_events": [],

View File

@ -99,14 +99,14 @@
"y": 11,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 10,
"y": 11,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 2
"dest_warp_id": "2"
}
],
"coord_events": [],

View File

@ -86,14 +86,14 @@
"y": 9,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 1,
"y": 9,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR",
"dest_warp_id": 2
"dest_warp_id": "2"
}
],
"coord_events": [],

View File

@ -112,28 +112,28 @@
"y": 13,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 9,
"y": 13,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 6,
"y": 3,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 10,
"y": 3,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -99,21 +99,21 @@
"y": 11,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 13,
"y": 11,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 5,
"y": 4,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -472,8 +472,8 @@ BattleFrontier_BattlePalaceLobby_Text_FeatWillBeRecorded:
@ Unused
BattleFrontier_BattlePalaceLobby_Text_BattlePointsFor7WinStreak:
.string "For the feat of your 7-win streak,\n"
.string "we present you with Battle Point(s).$"
.string "For the feat of your 7-win streak,\n"
.string "we present you with Battle Point(s).$"
BattleFrontier_BattlePalaceLobby_Text_NoSpaceForPrize:
.string "You seem to have no space for\n"

View File

@ -73,21 +73,21 @@
"y": 12,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 4,
"y": 12,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 6,
"y": 12,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -364,7 +364,8 @@ BattleFrontier_BattlePikeLobby_Text_AwardYouTheseBattlePoints2:
@ Unused
BattleFrontier_BattlePikeLobby_Text_ReachedBattlePointLimit:
.string "You appear to have reached the limit\n"
.string "for Battle Points…\pPlease exchange some Battle Points\n"
.string "for Battle Points…\p"
.string "Please exchange some Battle Points\n"
.string "for prizes, then return…$"
BattleFrontier_BattlePikeLobby_Text_FailedToSaveBeforeQuitting:

View File

@ -73,7 +73,7 @@
"y": 17,
"elevation": 4,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 3
"dest_warp_id": "3"
}
],
"coord_events": [],

View File

@ -60,14 +60,14 @@
"y": 8,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 6,
"y": 8,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY",
"dest_warp_id": 2
"dest_warp_id": "2"
}
],
"coord_events": [],

View File

@ -138,21 +138,21 @@
"y": 9,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 13,
"y": 9,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 6,
"y": 1,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -411,7 +411,13 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeLinkMultisChallenge::
special LoadPlayerParty
closemessage
delay 2
@ The command tower_save ultimately calls TrySavingData(SAVE_LINK), which writes data in SaveBlock1 and SaveBlock2
@ to the flash, but not data in PokemonStorage. The SaveGame script that follows asks the player to do a full save,
@ which they can opt out of. As a result the player can save their party and quit without having saved the PC.
@ This allows players to clone pokemon and their held items by withdrawing them (or erase them by despositing).
.ifndef BUGFIX
tower_save 0
.endif
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
@ -911,7 +917,7 @@ BattleFrontier_BattleTowerLobby_EventScript_ExitRules::
end
@ Unused
BattleFrontier_BattleTowerLobby_EventScript_DirectYouToBattleRoom:
BattleFrontier_BattleTowerLobby_Text_DirectYouToBattleRoom:
.string "I'll direct you to your BATTLE ROOM now.$"
BattleFrontier_BattleTowerLobby_Text_DidntSaveBeforeQuitting:

View File

@ -138,21 +138,21 @@
"y": 10,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 6
"dest_warp_id": "6"
},
{
"x": 6,
"y": 10,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 6
"dest_warp_id": "6"
},
{
"x": 8,
"y": 10,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 6
"dest_warp_id": "6"
}
],
"coord_events": [],

View File

@ -60,7 +60,7 @@
"y": 9,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 5
"dest_warp_id": "5"
}
],
"coord_events": [],

View File

@ -86,14 +86,14 @@
"y": 7,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 3
"dest_warp_id": "3"
},
{
"x": 2,
"y": 7,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 3
"dest_warp_id": "3"
}
],
"coord_events": [],

View File

@ -22,18 +22,20 @@ BattleFrontier_Lounge2_EventScript_AlreadyMetManiac::
end
BattleFrontier_Lounge2_EventScript_GiveAdvice::
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 0, BattleFrontier_Lounge2_EventScript_BufferSingle
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 1, BattleFrontier_Lounge2_EventScript_BufferDouble
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 2, BattleFrontier_Lounge2_EventScript_BufferMulti
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 3, BattleFrontier_Lounge2_EventScript_BufferMultiLink
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 4, BattleFrontier_Lounge2_EventScript_BufferBattleDome
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 5, BattleFrontier_Lounge2_EventScript_BufferBattleFactory
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 6, BattleFrontier_Lounge2_EventScript_BufferBattlePalace
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 7, BattleFrontier_Lounge2_EventScript_BufferBattleArena
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 8, BattleFrontier_Lounge2_EventScript_BufferBattlePike
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 9, BattleFrontier_Lounge2_EventScript_BufferBattlePyramid
call_if_le VAR_FRONTIER_MANIAC_FACILITY, 3, BattleFrontier_Lounge2_EventScript_BattleTowerNews
call_if_ge VAR_FRONTIER_MANIAC_FACILITY, 4, BattleFrontier_Lounge2_EventScript_FacilityNews
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, FRONTIER_MANIAC_TOWER_SINGLES, BattleFrontier_Lounge2_EventScript_BufferSingle
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, FRONTIER_MANIAC_TOWER_DOUBLES, BattleFrontier_Lounge2_EventScript_BufferDouble
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, FRONTIER_MANIAC_TOWER_MULTIS, BattleFrontier_Lounge2_EventScript_BufferMulti
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, FRONTIER_MANIAC_TOWER_LINK, BattleFrontier_Lounge2_EventScript_BufferMultiLink
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, FRONTIER_MANIAC_DOME, BattleFrontier_Lounge2_EventScript_BufferBattleDome
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, FRONTIER_MANIAC_FACTORY, BattleFrontier_Lounge2_EventScript_BufferBattleFactory
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, FRONTIER_MANIAC_PALACE, BattleFrontier_Lounge2_EventScript_BufferBattlePalace
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, FRONTIER_MANIAC_ARENA, BattleFrontier_Lounge2_EventScript_BufferBattleArena
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, FRONTIER_MANIAC_PIKE, BattleFrontier_Lounge2_EventScript_BufferBattlePike
call_if_eq VAR_FRONTIER_MANIAC_FACILITY, FRONTIER_MANIAC_PYRAMID, BattleFrontier_Lounge2_EventScript_BufferBattlePyramid
@ <= FRONTIER_MANIAC_TOWER_LINK is any Battle Tower mode
call_if_le VAR_FRONTIER_MANIAC_FACILITY, FRONTIER_MANIAC_TOWER_LINK, BattleFrontier_Lounge2_EventScript_BattleTowerNews
@ >= FRONTIER_MANIAC_DOME is any facility other than Battle Tower
call_if_ge VAR_FRONTIER_MANIAC_FACILITY, FRONTIER_MANIAC_DOME, BattleFrontier_Lounge2_EventScript_FacilityNews
special ShowFrontierManiacMessage
waitmessage
waitbuttonpress

View File

@ -86,7 +86,7 @@
"y": 9,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 9
"dest_warp_id": "9"
}
],
"coord_events": [],

View File

@ -60,7 +60,7 @@
"y": 9,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 6
"dest_warp_id": "6"
}
],
"coord_events": [],

View File

@ -73,14 +73,14 @@
"y": 7,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 7
"dest_warp_id": "7"
},
{
"x": 2,
"y": 7,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 7
"dest_warp_id": "7"
}
],
"coord_events": [],

View File

@ -34,7 +34,7 @@
"y": 9,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 8
"dest_warp_id": "8"
}
],
"coord_events": [],

View File

@ -73,7 +73,7 @@
"y": 9,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 7
"dest_warp_id": "7"
}
],
"coord_events": [],

View File

@ -60,7 +60,7 @@
"y": 9,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 10
"dest_warp_id": "10"
}
],
"coord_events": [],

View File

@ -34,14 +34,14 @@
"y": 9,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 11
"dest_warp_id": "11"
},
{
"x": 2,
"y": 9,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 11
"dest_warp_id": "11"
}
],
"coord_events": [],

View File

@ -73,14 +73,14 @@
"y": 7,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 4
"dest_warp_id": "4"
},
{
"x": 4,
"y": 7,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 4
"dest_warp_id": "4"
}
],
"coord_events": [],

View File

@ -14,9 +14,9 @@
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": [
{
"direction": "left",
"map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"offset": 0,
"map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST"
"direction": "left"
}
],
"object_events": [
@ -365,98 +365,98 @@
"y": 14,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 39,
"y": 29,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 45,
"y": 56,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 58,
"y": 14,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 35,
"y": 12,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_RANKING_HALL",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 4,
"y": 44,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_LOUNGE1",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 10,
"y": 28,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 22,
"y": 51,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_LOUNGE5",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 5,
"y": 8,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_LOUNGE6",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 65,
"y": 31,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_LOUNGE3",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 14,
"y": 51,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_LOUNGE8",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 21,
"y": 45,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_LOUNGE9",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 3,
"y": 51,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 28,
"y": 7,
"elevation": 0,
"dest_map": "MAP_ARTISAN_CAVE_1F",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -14,9 +14,9 @@
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": [
{
"direction": "right",
"map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"offset": 0,
"map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST"
"direction": "right"
}
],
"object_events": [
@ -339,77 +339,77 @@
"y": 27,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 19,
"y": 17,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 11,
"y": 38,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 45,
"y": 44,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_LOUNGE2",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 51,
"y": 51,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_MART",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 44,
"y": 5,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_SCOTTS_HOUSE",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 53,
"y": 44,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_LOUNGE4",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 5,
"y": 20,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_LOUNGE7",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 26,
"y": 65,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_RECEPTION_GATE",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 26,
"y": 61,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_RECEPTION_GATE",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 39,
"y": 55,
"elevation": 0,
"dest_map": "MAP_ARTISAN_CAVE_B1F",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -86,21 +86,21 @@
"y": 8,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 12
"dest_warp_id": "12"
},
{
"x": 6,
"y": 8,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 12
"dest_warp_id": "12"
},
{
"x": 1,
"y": 6,
"elevation": 4,
"dest_map": "MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -73,21 +73,21 @@
"y": 6,
"elevation": 4,
"dest_map": "MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 5,
"y": 1,
"elevation": 3,
"dest_map": "MAP_UNION_ROOM",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 9,
"y": 1,
"elevation": 3,
"dest_map": "MAP_TRADE_CENTER",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -60,14 +60,14 @@
"y": 14,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 4
"dest_warp_id": "4"
},
{
"x": 27,
"y": 14,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
"dest_warp_id": 4
"dest_warp_id": "4"
}
],
"coord_events": [],

View File

@ -86,14 +86,14 @@
"y": 13,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 8
"dest_warp_id": "8"
},
{
"x": 4,
"y": 1,
"elevation": 0,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 9
"dest_warp_id": "9"
}
],
"coord_events": [],

View File

@ -34,14 +34,14 @@
"y": 7,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 5
"dest_warp_id": "5"
},
{
"x": 3,
"y": 7,
"elevation": 3,
"dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
"dest_warp_id": 5
"dest_warp_id": "5"
}
],
"coord_events": [],

View File

@ -47,7 +47,7 @@
"y": 24,
"elevation": 0,
"dest_map": "MAP_BIRTH_ISLAND_HARBOR",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -48,21 +48,24 @@ BirthIsland_Exterior_EventScript_Triangle::
special DoDeoxysRockInteraction
waitstate
switch VAR_RESULT
case 0, BirthIsland_Exterior_EventScript_NotSolved1
case 1, BirthIsland_Exterior_EventScript_NotSolved2
case 2, BirthIsland_Exterior_EventScript_Deoxys
case 3, BirthIsland_Exterior_EventScript_NotSolved3
case DEOXYS_ROCK_FAILED, BirthIsland_Exterior_EventScript_Failed
case DEOXYS_ROCK_PROGRESSED, BirthIsland_Exterior_EventScript_Progressed
case DEOXYS_ROCK_SOLVED, BirthIsland_Exterior_EventScript_Deoxys
case DEOXYS_ROCK_COMPLETE, BirthIsland_Exterior_EventScript_Complete
end
BirthIsland_Exterior_EventScript_NotSolved1::
@ The actual rock triangle movement is handled by DoDeoxysRockInteraction.
@ Unless the player has solved the puzzle and needs to encounter Deoxys,
@ there's nothing else the script needs to do.
BirthIsland_Exterior_EventScript_Failed::
release
end
BirthIsland_Exterior_EventScript_NotSolved2::
BirthIsland_Exterior_EventScript_Progressed::
release
end
BirthIsland_Exterior_EventScript_NotSolved3::
BirthIsland_Exterior_EventScript_Complete::
release
end

View File

@ -47,7 +47,7 @@
"y": 2,
"elevation": 0,
"dest_map": "MAP_BIRTH_ISLAND_EXTERIOR",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -20,14 +20,14 @@
"y": 17,
"elevation": 3,
"dest_map": "MAP_CAVE_OF_ORIGIN_ENTRANCE",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 14,
"y": 5,
"elevation": 3,
"dest_map": "MAP_CAVE_OF_ORIGIN_B1F",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -34,7 +34,7 @@
"y": 3,
"elevation": 3,
"dest_map": "MAP_CAVE_OF_ORIGIN_1F",
"dest_warp_id": 1
"dest_warp_id": "1"
}
],
"coord_events": [],

View File

@ -20,14 +20,14 @@
"y": 20,
"elevation": 3,
"dest_map": "MAP_SOOTOPOLIS_CITY",
"dest_warp_id": 3
"dest_warp_id": "3"
},
{
"x": 9,
"y": 5,
"elevation": 3,
"dest_map": "MAP_CAVE_OF_ORIGIN_1F",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -20,14 +20,14 @@
"y": 5,
"elevation": 3,
"dest_map": "MAP_CAVE_OF_ORIGIN_1F",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 5,
"y": 11,
"elevation": 3,
"dest_map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -20,14 +20,14 @@
"y": 10,
"elevation": 3,
"dest_map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 8,
"y": 14,
"elevation": 3,
"dest_map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -20,14 +20,14 @@
"y": 14,
"elevation": 3,
"dest_map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 12,
"y": 6,
"elevation": 3,
"dest_map": "MAP_CAVE_OF_ORIGIN_B1F",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -34,21 +34,21 @@
"y": 29,
"elevation": 3,
"dest_map": "MAP_ROUTE111",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 8,
"y": 20,
"elevation": 0,
"dest_map": "MAP_DESERT_RUINS",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 8,
"y": 11,
"elevation": 3,
"dest_map": "MAP_DESERT_RUINS",
"dest_warp_id": 1
"dest_warp_id": "1"
}
],
"coord_events": [],

View File

@ -34,7 +34,7 @@
"y": 12,
"elevation": 0,
"dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL",
"dest_warp_id": 2
"dest_warp_id": "2"
}
],
"coord_events": [],

View File

@ -14,14 +14,14 @@
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": [
{
"direction": "up",
"map": "MAP_ROUTE106",
"offset": -60,
"map": "MAP_ROUTE106"
"direction": "up"
},
{
"direction": "right",
"map": "MAP_ROUTE107",
"offset": 0,
"map": "MAP_ROUTE107"
"direction": "right"
}
],
"object_events": [
@ -97,35 +97,35 @@
"y": 3,
"elevation": 0,
"dest_map": "MAP_DEWFORD_TOWN_HALL",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 2,
"y": 10,
"elevation": 0,
"dest_map": "MAP_DEWFORD_TOWN_POKEMON_CENTER_1F",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 8,
"y": 17,
"elevation": 0,
"dest_map": "MAP_DEWFORD_TOWN_GYM",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 17,
"y": 14,
"elevation": 0,
"dest_map": "MAP_DEWFORD_TOWN_HOUSE1",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 8,
"y": 8,
"elevation": 0,
"dest_map": "MAP_DEWFORD_TOWN_HOUSE2",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -125,14 +125,14 @@
"y": 27,
"elevation": 0,
"dest_map": "MAP_DEWFORD_TOWN",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 6,
"y": 27,
"elevation": 0,
"dest_map": "MAP_DEWFORD_TOWN",
"dest_warp_id": 2
"dest_warp_id": "2"
}
],
"coord_events": [],

View File

@ -138,14 +138,14 @@
"y": 8,
"elevation": 0,
"dest_map": "MAP_DEWFORD_TOWN",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 6,
"y": 8,
"elevation": 0,
"dest_map": "MAP_DEWFORD_TOWN",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -60,14 +60,14 @@
"y": 7,
"elevation": 0,
"dest_map": "MAP_DEWFORD_TOWN",
"dest_warp_id": 3
"dest_warp_id": "3"
},
{
"x": 4,
"y": 7,
"elevation": 0,
"dest_map": "MAP_DEWFORD_TOWN",
"dest_warp_id": 3
"dest_warp_id": "3"
}
],
"coord_events": [],

View File

@ -47,14 +47,14 @@
"y": 8,
"elevation": 0,
"dest_map": "MAP_DEWFORD_TOWN",
"dest_warp_id": 4
"dest_warp_id": "4"
},
{
"x": 4,
"y": 8,
"elevation": 0,
"dest_map": "MAP_DEWFORD_TOWN",
"dest_warp_id": 4
"dest_warp_id": "4"
}
],
"coord_events": [],

View File

@ -60,21 +60,21 @@
"y": 8,
"elevation": 3,
"dest_map": "MAP_DEWFORD_TOWN",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 6,
"y": 8,
"elevation": 3,
"dest_map": "MAP_DEWFORD_TOWN",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 1,
"y": 6,
"elevation": 4,
"dest_map": "MAP_DEWFORD_TOWN_POKEMON_CENTER_2F",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -73,21 +73,21 @@
"y": 6,
"elevation": 4,
"dest_map": "MAP_DEWFORD_TOWN_POKEMON_CENTER_1F",
"dest_warp_id": 2
"dest_warp_id": "2"
},
{
"x": 5,
"y": 1,
"elevation": 3,
"dest_map": "MAP_UNION_ROOM",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 9,
"y": 1,
"elevation": 3,
"dest_map": "MAP_TRADE_CENTER",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -14,9 +14,9 @@
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": [
{
"direction": "left",
"map": "MAP_ROUTE128",
"offset": 40,
"map": "MAP_ROUTE128"
"direction": "left"
}
],
"object_events": [],
@ -26,28 +26,28 @@
"y": 5,
"elevation": 0,
"dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 27,
"y": 48,
"elevation": 0,
"dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 18,
"y": 41,
"elevation": 0,
"dest_map": "MAP_VICTORY_ROAD_1F",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 18,
"y": 27,
"elevation": 0,
"dest_map": "MAP_VICTORY_ROAD_1F",
"dest_warp_id": 1
"dest_warp_id": "1"
}
],
"coord_events": [

View File

@ -60,14 +60,14 @@
"y": 12,
"elevation": 3,
"dest_map": "MAP_EVER_GRANDE_CITY_HALL4",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 6,
"y": 2,
"elevation": 0,
"dest_map": "MAP_EVER_GRANDE_CITY_HALL_OF_FAME",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -33,8 +33,8 @@ EverGrandeCity_ChampionsRoom_EventScript_EnterRoom::
waitmovement 0
setvar VAR_TEMP_1, 1
goto EverGrandeCity_ChampionsRoom_EventScript_Wallace
releaseall
end
releaseall
end
EverGrandeCity_ChampionsRoom_Movement_PlayerApproachWallace:
walk_up

View File

@ -34,14 +34,14 @@
"y": 13,
"elevation": 3,
"dest_map": "MAP_EVER_GRANDE_CITY_HALL3",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 6,
"y": 2,
"elevation": 0,
"dest_map": "MAP_EVER_GRANDE_CITY_HALL4",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -34,14 +34,14 @@
"y": 13,
"elevation": 3,
"dest_map": "MAP_EVER_GRANDE_CITY_HALL2",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 6,
"y": 2,
"elevation": 0,
"dest_map": "MAP_EVER_GRANDE_CITY_HALL3",
"dest_warp_id": 0
"dest_warp_id": "0"
}
],
"coord_events": [],

View File

@ -20,28 +20,28 @@
"y": 12,
"elevation": 3,
"dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 5,
"y": 2,
"elevation": 0,
"dest_map": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM",
"dest_warp_id": 0
"dest_warp_id": "0"
},
{
"x": 4,
"y": 12,
"elevation": 3,
"dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM",
"dest_warp_id": 1
"dest_warp_id": "1"
},
{
"x": 6,
"y": 12,
"elevation": 3,
"dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM",
"dest_warp_id": 1
"dest_warp_id": "1"
}
],
"coord_events": [],

Some files were not shown because too many files have changed in this diff Show More