Merge branch 'rh-hideout-master'
@ -478,6 +478,33 @@
|
||||
"doc",
|
||||
"data"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "shachar700",
|
||||
"name": "shachar700",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/48739719?v=4",
|
||||
"profile": "https://github.com/shachar700",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "purrfectdoodle",
|
||||
"name": "Eva",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/105788407?v=4",
|
||||
"profile": "http://purrfectdoodle.com",
|
||||
"contributions": [
|
||||
"design"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "amiosi",
|
||||
"name": "amiosi",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/44352097?v=4",
|
||||
"profile": "https://github.com/amiosi",
|
||||
"contributions": [
|
||||
"data"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 7,
|
||||
|
||||
3
.gitattributes
vendored
@ -18,6 +18,9 @@ Makefile text eol=lf
|
||||
*.md text eol=lf
|
||||
*.ps1 text eol=crlf
|
||||
*.yml text eol=lf
|
||||
*.party text eol=lf
|
||||
*.cfg text eol=lf
|
||||
*.ld text eol=lf
|
||||
|
||||
*.png binary
|
||||
*.bin binary
|
||||
|
||||
@ -43,17 +43,16 @@ body:
|
||||
label: Version
|
||||
description: What version of pokeemerald-expansion are you using?
|
||||
options:
|
||||
- 1.13.3 (Latest release)
|
||||
- 1.14.1 (Latest release)
|
||||
- master (default, unreleased bugfixes)
|
||||
- upcoming (Edge)
|
||||
- 1.14.0
|
||||
- 1.13.4
|
||||
- 1.13.3
|
||||
- 1.13.2
|
||||
- 1.13.1
|
||||
- 1.13.0
|
||||
- 1.12.3
|
||||
- 1.12.2
|
||||
- 1.12.1
|
||||
- 1.12.0
|
||||
- pre-1.12.0
|
||||
- pre-1.13.0
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
|
||||
11
.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml
vendored
@ -43,17 +43,16 @@ body:
|
||||
label: Version
|
||||
description: What version of pokeemerald-expansion are you using?
|
||||
options:
|
||||
- 1.13.3 (Latest release)
|
||||
- 1.14.1 (Latest release)
|
||||
- master (default, unreleased bugfixes)
|
||||
- upcoming (Edge)
|
||||
- 1.14.0
|
||||
- 1.13.4
|
||||
- 1.13.3
|
||||
- 1.13.2
|
||||
- 1.13.1
|
||||
- 1.13.0
|
||||
- 1.12.3
|
||||
- 1.12.2
|
||||
- 1.12.1
|
||||
- 1.12.0
|
||||
- pre-1.12.0
|
||||
- pre-1.13.0
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
|
||||
11
.github/ISSUE_TEMPLATE/04_other_errors.yaml
vendored
@ -43,17 +43,16 @@ body:
|
||||
label: Version
|
||||
description: What version of pokeemerald-expansion are you using?
|
||||
options:
|
||||
- 1.13.3 (Latest release)
|
||||
- 1.14.1 (Latest release)
|
||||
- master (default, unreleased bugfixes)
|
||||
- upcoming (Edge)
|
||||
- 1.14.0
|
||||
- 1.13.4
|
||||
- 1.13.3
|
||||
- 1.13.2
|
||||
- 1.13.1
|
||||
- 1.13.0
|
||||
- 1.12.3
|
||||
- 1.12.2
|
||||
- 1.12.1
|
||||
- 1.12.0
|
||||
- pre-1.12.0
|
||||
- pre-1.13.0
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
|
||||
64
.github/docs_validate/inclusive_summary.py
vendored
Executable file
@ -0,0 +1,64 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
"""
|
||||
Checks that all documentation pages that should be mentioned in
|
||||
`docs/SUMMARY.md` are mentioned the file
|
||||
"""
|
||||
|
||||
import glob
|
||||
import re
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
errorLines = []
|
||||
|
||||
if not os.path.exists("Makefile"):
|
||||
errorLines.append("Please run this script from your root folder.")
|
||||
|
||||
summaryFile = Path("docs/SUMMARY.md")
|
||||
if not errorLines:
|
||||
if not summaryFile.is_file():
|
||||
errorLines.append("docs/SUMMARY.md missing")
|
||||
|
||||
summaryContents = []
|
||||
if not errorLines:
|
||||
with open(summaryFile, 'r', encoding='UTF-8') as file:
|
||||
entry_pattern = re.compile(r" *\- \[[^\]]*\]\(([^\)]*)\)\n")
|
||||
lineNo = 0
|
||||
while line:=file.readline():
|
||||
lineNo = lineNo + 1
|
||||
if line == "# Summary\n" or line == "\n":
|
||||
pass
|
||||
elif match:=entry_pattern.match(line):
|
||||
if "" != match.group(1):
|
||||
summaryContents.append(Path(match.group(1)))
|
||||
else:
|
||||
if not errorLines:
|
||||
errorLines.append("## Unexpected lines in docs/SUMMARY.md")
|
||||
errorLines.append(f"- {lineNo}: {line.strip()}")
|
||||
|
||||
if not errorLines:
|
||||
for pathName in glob.glob("**/*.md", root_dir="docs", recursive=True):
|
||||
path = Path(pathName)
|
||||
if path == Path("SUMMARY.md"):
|
||||
pass
|
||||
elif path == Path("changelogs/template.md"):
|
||||
pass
|
||||
elif path in summaryContents:
|
||||
pass
|
||||
else:
|
||||
if not errorLines:
|
||||
errorLines.append("## `docs/**/*.md` files present but not mentioned in `docs/SUMMARY.md`")
|
||||
errorLines.append("- " + str(path))
|
||||
|
||||
if errorLines:
|
||||
for line in errorLines:
|
||||
print(line)
|
||||
|
||||
if 'GITHUB_STEP_SUMMARY' in os.environ:
|
||||
with open(os.environ['GITHUB_STEP_SUMMARY'], 'w', encoding='UTF-8') as file:
|
||||
for line in errorLines:
|
||||
file.write(line)
|
||||
file.write('\n')
|
||||
|
||||
quit(1)
|
||||
12
.github/workflows/build.yml
vendored
@ -43,6 +43,18 @@ jobs:
|
||||
TEST: 1
|
||||
run: |
|
||||
make -j${nproc} check
|
||||
|
||||
docs_validate:
|
||||
if: github.actor != 'allcontributors[bot]'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Check that SUMMARY.md includes markdown doc files
|
||||
run: |
|
||||
.github/docs_validate/inclusive_summary.py
|
||||
|
||||
allcontributors:
|
||||
if: github.actor == 'allcontributors[bot]'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
2
.github/workflows/docs.yml
vendored
@ -17,7 +17,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
- name: Install latest mdbook
|
||||
run: |
|
||||
tag="v0.5.0-beta.1"
|
||||
tag="v0.5.1"
|
||||
url="https://github.com/rust-lang/mdbook/releases/download/${tag}/mdbook-${tag}-x86_64-unknown-linux-gnu.tar.gz"
|
||||
mkdir mdbook
|
||||
curl -sSL $url | tar -xz --directory=./mdbook
|
||||
|
||||
@ -78,6 +78,11 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/cawtds"><img src="https://avatars.githubusercontent.com/u/38510667?v=4?s=100" width="100px;" alt="cawtds"/><br /><sub><b>cawtds</b></sub></a><br /><a href="https://github.com/rh-hideout/pokeemerald-expansion/commits?author=cawtds" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/fdeblasio"><img src="https://avatars.githubusercontent.com/u/35279583?v=4?s=100" width="100px;" alt="Frank DeBlasio"/><br /><sub><b>Frank DeBlasio</b></sub></a><br /><a href="https://github.com/rh-hideout/pokeemerald-expansion/commits?author=fdeblasio" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://vriska.dev"><img src="https://avatars.githubusercontent.com/u/8355305?v=4?s=100" width="100px;" alt="leo60228"/><br /><sub><b>leo60228</b></sub></a><br /><a href="https://github.com/rh-hideout/pokeemerald-expansion/commits?author=leo60228" title="Documentation">📖</a> <a href="#data-leo60228" title="Data">🔣</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/shachar700"><img src="https://avatars.githubusercontent.com/u/48739719?v=4?s=100" width="100px;" alt="shachar700"/><br /><sub><b>shachar700</b></sub></a><br /><a href="https://github.com/rh-hideout/pokeemerald-expansion/commits?author=shachar700" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="http://purrfectdoodle.com"><img src="https://avatars.githubusercontent.com/u/105788407?v=4?s=100" width="100px;" alt="Eva"/><br /><sub><b>Eva</b></sub></a><br /><a href="#design-purrfectdoodle" title="Design">🎨</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/amiosi"><img src="https://avatars.githubusercontent.com/u/44352097?v=4?s=100" width="100px;" alt="amiosi"/><br /><sub><b>amiosi</b></sub></a><br /><a href="#data-amiosi" title="Data">🔣</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
|
||||
@ -32,6 +32,7 @@ Distributions with instructions:
|
||||
- [Debian](docs/install/linux/DEBIAN.md)
|
||||
- [Arch Linux](docs/install/linux/ARCH_LINUX.md)
|
||||
- [NixOS](docs/install/linux/NIXOS.md)
|
||||
- [Fedora](docs/install/linux/FEDORA.md)
|
||||
|
||||
Other distributions have to infer what to do from [general instructions](docs/install/linux/OTHERS.md).
|
||||
|
||||
|
||||
88
Makefile
@ -1,12 +1,32 @@
|
||||
GAME_VERSION ?= EMERALD
|
||||
TITLE ?= POKEMON EMER
|
||||
GAME_CODE ?= BPEE
|
||||
BUILD_NAME ?= emerald
|
||||
MAP_VERSION ?= emerald
|
||||
|
||||
ifeq (firered,$(MAKECMDGOALS))
|
||||
GAME_VERSION := FIRERED
|
||||
TITLE := POKEMON FIRE
|
||||
GAME_CODE := BPRE
|
||||
BUILD_NAME := firered
|
||||
MAP_VERSION := firered
|
||||
else
|
||||
ifeq (leafgreen,$(MAKECMDGOALS))
|
||||
GAME_VERSION := LEAFGREEN
|
||||
TITLE := POKEMON LEAF
|
||||
GAME_CODE := BPGE
|
||||
BUILD_NAME := leafgreen
|
||||
MAP_VERSION := firered
|
||||
endif
|
||||
endif
|
||||
|
||||
# GBA rom header
|
||||
TITLE := POKEMON EMER
|
||||
GAME_CODE := BPEE
|
||||
MAKER_CODE := 01
|
||||
REVISION := 0
|
||||
KEEP_TEMPS ?= 0
|
||||
|
||||
# `File name`.gba
|
||||
FILE_NAME := pokeemerald
|
||||
FILE_NAME := poke$(BUILD_NAME)
|
||||
BUILD_DIR := build
|
||||
|
||||
# Compares the ROM to a checksum of the original - only makes sense using when non-modern
|
||||
@ -21,6 +41,9 @@ UNUSED_ERROR ?= 0
|
||||
DEBUG ?= 0
|
||||
# Adds -flto flag, which increases link time but results in a more efficient binary (especially in audio processing)
|
||||
LTO ?= 0
|
||||
# Makes an optimized build for release, also enabling NDEBUG macro and disabling other debugging features
|
||||
# Enables LTO by default, but can be changed in the config.mk file
|
||||
RELEASE ?= 0
|
||||
|
||||
ifeq (compare,$(MAKECMDGOALS))
|
||||
COMPARE := 1
|
||||
@ -31,6 +54,11 @@ endif
|
||||
ifeq (debug,$(MAKECMDGOALS))
|
||||
DEBUG := 1
|
||||
endif
|
||||
ifneq (,$(filter release tidyrelease,$(MAKECMDGOALS)))
|
||||
RELEASE := 1
|
||||
endif
|
||||
|
||||
include config.mk
|
||||
|
||||
# Default make rule
|
||||
all: rom
|
||||
@ -63,10 +91,15 @@ endif
|
||||
|
||||
CPP := $(PREFIX)cpp
|
||||
|
||||
ifeq ($(RELEASE),1)
|
||||
FILE_NAME := $(FILE_NAME)-release
|
||||
endif
|
||||
|
||||
ROM_NAME := $(FILE_NAME).gba
|
||||
OBJ_DIR_NAME := $(BUILD_DIR)/modern
|
||||
OBJ_DIR_NAME_TEST := $(BUILD_DIR)/modern-test
|
||||
OBJ_DIR_NAME_DEBUG := $(BUILD_DIR)/modern-debug
|
||||
OBJ_DIR_NAME := $(BUILD_DIR)/$(BUILD_NAME)
|
||||
OBJ_DIR_NAME_TEST := $(BUILD_DIR)/$(BUILD_NAME)-test
|
||||
OBJ_DIR_NAME_DEBUG := $(BUILD_DIR)/$(BUILD_NAME)-debug
|
||||
OBJ_DIR_NAME_RELEASE := $(BUILD_DIR)/$(BUILD_NAME)-release
|
||||
|
||||
ELF_NAME := $(ROM_NAME:.gba=.elf)
|
||||
MAP_NAME := $(ROM_NAME:.gba=.map)
|
||||
@ -86,6 +119,9 @@ endif
|
||||
ifeq ($(DEBUG),1)
|
||||
OBJ_DIR := $(OBJ_DIR_NAME_DEBUG)
|
||||
endif
|
||||
ifeq ($(RELEASE),1)
|
||||
OBJ_DIR := $(OBJ_DIR_NAME_RELEASE)
|
||||
endif
|
||||
ELF := $(ROM:.gba=.elf)
|
||||
MAP := $(ROM:.gba=.map)
|
||||
SYM := $(ROM:.gba=.sym)
|
||||
@ -110,7 +146,7 @@ TEST_BUILDDIR = $(OBJ_DIR)/$(TEST_SUBDIR)
|
||||
SHELL := bash -o pipefail
|
||||
|
||||
# Set flags for tools
|
||||
ASFLAGS := -mcpu=arm7tdmi -march=armv4t -meabi=5 --defsym MODERN=1
|
||||
ASFLAGS := -mcpu=arm7tdmi -march=armv4t -meabi=5 --defsym MODERN=1 --defsym $(GAME_VERSION)=1
|
||||
|
||||
INCLUDE_DIRS := include
|
||||
INCLUDE_CPP_ARGS := $(INCLUDE_DIRS:%=-iquote %)
|
||||
@ -121,7 +157,13 @@ O_LEVEL ?= g
|
||||
else
|
||||
O_LEVEL ?= 2
|
||||
endif
|
||||
CPPFLAGS := $(INCLUDE_CPP_ARGS) -Wno-trigraphs -DMODERN=1 -DTESTING=$(TEST) -std=gnu17
|
||||
CPPFLAGS := $(INCLUDE_CPP_ARGS) -Wno-trigraphs -DMODERN=1 -DTESTING=$(TEST) -D$(GAME_VERSION) -std=gnu17
|
||||
ifeq ($(RELEASE),1)
|
||||
override CPPFLAGS += -DRELEASE
|
||||
ifeq ($(USE_LTO_ON_RELEASE),1)
|
||||
LTO := 1
|
||||
endif
|
||||
endif
|
||||
ARMCC := $(PREFIX)gcc
|
||||
PATH_ARMCC := PATH="$(PATH)" $(ARMCC)
|
||||
CC1 := $(shell $(PATH_ARMCC) --print-prog-name=cc1) -quiet
|
||||
@ -166,7 +208,7 @@ include make_tools.mk
|
||||
SMOLTM := $(TOOLS_DIR)/compresSmol/compresSmolTilemap$(EXE)
|
||||
SMOL := $(TOOLS_DIR)/compresSmol/compresSmol$(EXE)
|
||||
GFX := $(TOOLS_DIR)/gbagfx/gbagfx$(EXE)
|
||||
AIF := $(TOOLS_DIR)/aif2pcm/aif2pcm$(EXE)
|
||||
WAV2AGB := $(TOOLS_DIR)/wav2agb/wav2agb$(EXE)
|
||||
MID := $(TOOLS_DIR)/mid2agb/mid2agb$(EXE)
|
||||
SCANINC := $(TOOLS_DIR)/scaninc/scaninc$(EXE)
|
||||
PREPROC := $(TOOLS_DIR)/preproc/preproc$(EXE)
|
||||
@ -201,7 +243,7 @@ MISC_TOOL_DIR := $(TOOLS_DIR)/misc
|
||||
AUTO_GEN_TARGETS += $(INCLUDE_DIRS)/constants/script_commands.h
|
||||
|
||||
$(DATA_SRC_SUBDIR)/wild_encounters.h: $(DATA_SRC_SUBDIR)/wild_encounters.json $(WILD_ENCOUNTERS_TOOL_DIR)/wild_encounters_to_header.py $(INCLUDE_DIRS)/config/overworld.h $(INCLUDE_DIRS)/config/dexnav.h
|
||||
python3 $(WILD_ENCOUNTERS_TOOL_DIR)/wild_encounters_to_header.py > $@
|
||||
python3 $(WILD_ENCOUNTERS_TOOL_DIR)/wild_encounters_to_header.py
|
||||
|
||||
$(INCLUDE_DIRS)/constants/script_commands.h: $(MISC_TOOL_DIR)/make_scr_cmd_constants.py $(DATA_ASM_SUBDIR)/script_cmd_table.inc
|
||||
python3 $(MISC_TOOL_DIR)/make_scr_cmd_constants.py
|
||||
@ -222,8 +264,8 @@ MAKEFLAGS += --no-print-directory
|
||||
# Delete files that weren't built properly
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
RULES_NO_SCAN += libagbsyscall clean clean-assets tidy tidymodern tidycheck generated clean-generated
|
||||
.PHONY: all rom agbcc modern compare check debug
|
||||
RULES_NO_SCAN += libagbsyscall clean clean-assets tidy tidymodern tidycheck tidyrelease generated clean-generated
|
||||
.PHONY: all rom agbcc modern compare check debug release
|
||||
.PHONY: $(RULES_NO_SCAN)
|
||||
|
||||
infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line))))
|
||||
@ -250,7 +292,7 @@ ifeq ($(SETUP_PREREQS),1)
|
||||
$(error Errors occurred while building tools. See error messages above for more details)
|
||||
endif
|
||||
# Oh and also generate mapjson sources before we use `SCANINC`.
|
||||
$(foreach line, $(shell $(MAKE) generated | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line))))
|
||||
$(foreach line, $(shell $(MAKE) MAP_VERSION=$(MAP_VERSION) generated | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line))))
|
||||
ifneq ($(.SHELLSTATUS),0)
|
||||
$(error Errors occurred while generating map-related sources. See error messages above for more details)
|
||||
endif
|
||||
@ -294,6 +336,7 @@ $(shell mkdir -p $(SUBDIRS))
|
||||
modern: all
|
||||
compare: all
|
||||
debug: all
|
||||
release: all
|
||||
# Uncomment the next line, and then comment the 4 lines after it to reenable agbcc.
|
||||
#agbcc: all
|
||||
agbcc:
|
||||
@ -344,7 +387,7 @@ clean-assets:
|
||||
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.smol' -o -iname '*.fastSmol' -o -iname '*.smolTM' -o -iname '*.rl' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
|
||||
find $(DATA_ASM_SUBDIR)/maps \( -iname 'connections.inc' -o -iname 'events.inc' -o -iname 'header.inc' \) -exec rm {} +
|
||||
|
||||
tidy: tidymodern tidycheck tidydebug
|
||||
tidy: tidymodern tidycheck tidydebug tidyrelease
|
||||
|
||||
tidymodern:
|
||||
rm -f $(ROM_NAME) $(ELF_NAME) $(MAP_NAME)
|
||||
@ -357,6 +400,14 @@ tidycheck:
|
||||
tidydebug:
|
||||
rm -rf $(DEBUG_OBJ_DIR_NAME)
|
||||
|
||||
tidyrelease:
|
||||
ifeq ($(RELEASE),1)
|
||||
rm -f $(ROM_NAME) $(ELF_NAME) $(MAP_NAME)
|
||||
else # Manually remove the release files on clean/tidy
|
||||
rm -f $(FILE_NAME)-release.gba $(FILE_NAME)-release.elf $(FILE_NAME)-release.map
|
||||
endif
|
||||
rm -rf $(OBJ_DIR_NAME_RELEASE)
|
||||
|
||||
# Other rules
|
||||
include graphics_file_rules.mk
|
||||
include map_data_rules.mk
|
||||
@ -374,7 +425,7 @@ generated: $(AUTO_GEN_TARGETS)
|
||||
%.s: ;
|
||||
%.png: ;
|
||||
%.pal: ;
|
||||
%.aif: ;
|
||||
%.wav: ;
|
||||
|
||||
%.1bpp: %.png ; $(GFX) $< $@
|
||||
%.4bpp: %.png ; $(GFX) $< $@
|
||||
@ -453,7 +504,7 @@ ifneq ($(NODEP),1)
|
||||
endif
|
||||
|
||||
$(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.s
|
||||
$(PREPROC) $< charmap.txt | $(CPP) $(INCLUDE_SCANINC_ARGS) - | $(PREPROC) -ie $< charmap.txt | $(AS) $(ASFLAGS) -o $@
|
||||
$(PREPROC) $< charmap.txt | $(CPP) $(CPPFLAGS) $(INCLUDE_SCANINC_ARGS) - | $(PREPROC) -ie $< charmap.txt | $(AS) $(ASFLAGS) -o $@
|
||||
|
||||
$(C_BUILDDIR)/%.d: $(C_SUBDIR)/%.s
|
||||
$(SCANINC) -M $@ $(INCLUDE_SCANINC_ARGS) -I "" $<
|
||||
@ -463,7 +514,7 @@ ifneq ($(NODEP),1)
|
||||
endif
|
||||
|
||||
$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s
|
||||
$(PREPROC) $< charmap.txt | $(CPP) $(INCLUDE_SCANINC_ARGS) - | $(PREPROC) -ie $< charmap.txt | $(AS) $(ASFLAGS) -o $@
|
||||
$(PREPROC) $< charmap.txt | $(CPP) $(CPPFLAGS) $(INCLUDE_SCANINC_ARGS) - | $(PREPROC) -ie $< charmap.txt | $(AS) $(ASFLAGS) -o $@
|
||||
|
||||
$(DATA_ASM_BUILDDIR)/%.d: $(DATA_ASM_SUBDIR)/%.s
|
||||
$(SCANINC) -M $@ $(INCLUDE_SCANINC_ARGS) -I "" $<
|
||||
@ -522,6 +573,9 @@ $(ROM): $(ELF)
|
||||
$(OBJCOPY) -O binary $< $@
|
||||
$(FIX) $@ -p --silent
|
||||
|
||||
emerald: all
|
||||
firered: all
|
||||
leafgreen: all
|
||||
# Symbol file (`make syms`)
|
||||
$(SYM): $(ELF)
|
||||
$(OBJDUMP) -t $< | sort -u | grep -E "^0[2389]" | $(PERL) -p -e 's/^(\w{8}) (\w).{6} \S+\t(\w{8}) (\S+)$$/\1 \2 \3 \4/g' > $@
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
If you use **`pokeemerald-expansion`**, please credit **RHH (Rom Hacking Hideout)**. Optionally, include the version number for clarity.
|
||||
|
||||
```
|
||||
Based off RHH's pokeemerald-expansion 1.13.3 https://github.com/rh-hideout/pokeemerald-expansion/
|
||||
Based off RHH's pokeemerald-expansion 1.14.1 https://github.com/rh-hideout/pokeemerald-expansion/
|
||||
```
|
||||
|
||||
Please consider [crediting all contributors](CREDITS.md) involved in the project!
|
||||
|
||||
@ -9,11 +9,11 @@
|
||||
.2byte \move
|
||||
.endm
|
||||
|
||||
.macro attackstring
|
||||
.macro printattackstring
|
||||
.byte 0x2
|
||||
.endm
|
||||
|
||||
.macro ppreduce
|
||||
.macro unused_0x3
|
||||
.byte 0x3
|
||||
.endm
|
||||
|
||||
@ -45,14 +45,16 @@
|
||||
.byte 0xa
|
||||
.endm
|
||||
|
||||
.macro healthbarupdate battler:req
|
||||
.macro healthbarupdate battler:req updateState:req
|
||||
.byte 0xb
|
||||
.byte \battler
|
||||
.byte \updateState
|
||||
.endm
|
||||
|
||||
.macro datahpupdate battler:req
|
||||
.macro datahpupdate battler:req updateState:req
|
||||
.byte 0xc
|
||||
.byte \battler
|
||||
.byte \updateState
|
||||
.endm
|
||||
|
||||
.macro critmessage
|
||||
@ -363,9 +365,8 @@
|
||||
.byte 0x3a
|
||||
.endm
|
||||
|
||||
.macro absorbhealthbarupdate battler:req
|
||||
.macro isdmgblockedbydisguise
|
||||
.byte 0x3b
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro return
|
||||
@ -678,10 +679,8 @@
|
||||
.byte 0x75
|
||||
.endm
|
||||
|
||||
.macro various battler:req, id:req
|
||||
.macro unused_0x78
|
||||
.byte 0x76
|
||||
.byte \battler
|
||||
.byte \id
|
||||
.endm
|
||||
|
||||
.macro setprotectlike
|
||||
@ -701,10 +700,10 @@
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro tryhealhalfhealth failInstr:req, battler:req
|
||||
.macro tryhealhalfhealth battler:req, failInstr:req
|
||||
.byte 0x7b
|
||||
.4byte \failInstr
|
||||
.byte \battler
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro trymirrormove
|
||||
@ -729,14 +728,12 @@
|
||||
.byte \mode
|
||||
.endm
|
||||
|
||||
.macro trysetrest failInstr:req
|
||||
.macro trysetrest
|
||||
.byte 0x81
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifnotfirstturn jumpInstr:req
|
||||
.macro unused_0x82
|
||||
.byte 0x82
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro unused_0x83
|
||||
@ -753,9 +750,8 @@
|
||||
.byte \id
|
||||
.endm
|
||||
|
||||
.macro stockpiletobasedamage failInstr:req
|
||||
.macro stockpiletobasedamage
|
||||
.byte 0x86
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro stockpiletohpheal failInstr:req
|
||||
@ -767,7 +763,7 @@
|
||||
callnative BS_RemoveStockpileCounters
|
||||
.endm
|
||||
|
||||
.macro setdrainedhp
|
||||
.macro unused_0x88
|
||||
.byte 0x88
|
||||
.endm
|
||||
|
||||
@ -882,7 +878,7 @@
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro metronome
|
||||
.macro setcalledmove
|
||||
.byte 0x9e
|
||||
.endm
|
||||
|
||||
@ -943,7 +939,7 @@
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro trysetdestinybondtohappen
|
||||
.macro unused_0xab
|
||||
.byte 0xab
|
||||
.endm
|
||||
|
||||
@ -1019,8 +1015,10 @@
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro tryrestorehpberry
|
||||
.macro tryactivateitem battler:req, flag:req
|
||||
.byte 0xbb
|
||||
.byte \battler
|
||||
.byte \flag
|
||||
.endm
|
||||
|
||||
.macro halvehp failInstr:req
|
||||
@ -1050,9 +1048,8 @@
|
||||
.byte 0xc2
|
||||
.endm
|
||||
|
||||
.macro trysetfutureattack failInstr:req
|
||||
.macro setfutureattack
|
||||
.byte 0xc3
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro trydobeatup endInstr:req, failInstr:req
|
||||
@ -1102,7 +1099,7 @@
|
||||
.byte 0xca
|
||||
.endm
|
||||
|
||||
.macro setcharge battler:req
|
||||
.macro unused_0xcb battler:req
|
||||
.byte 0xcb
|
||||
.byte \battler
|
||||
.endm
|
||||
@ -1229,10 +1226,8 @@
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifnotcurrentmoveargtype battler:req, failInstr:req
|
||||
.macro unused_0xE4
|
||||
.byte 0xe4
|
||||
.byte \battler
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro pickup
|
||||
@ -1302,7 +1297,7 @@
|
||||
.byte 0xf3
|
||||
.endm
|
||||
|
||||
.macro subattackerhpbydmg
|
||||
.macro unused_0xf4
|
||||
.byte 0xf4
|
||||
.endm
|
||||
|
||||
@ -1348,7 +1343,7 @@
|
||||
.byte \trigger
|
||||
.endm
|
||||
|
||||
.macro tryworryseed failInstr:req
|
||||
.macro tryoverwriteability failInstr:req
|
||||
.byte 0xfe
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
@ -1383,17 +1378,6 @@
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifcantfling battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfCantFling
|
||||
.byte \battler
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro itemstatchangeeffects battler:req
|
||||
callnative BS_RunStatChangeItems
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro allyswitchswapbattlers
|
||||
callnative BS_AllySwitchSwapBattler
|
||||
.endm
|
||||
@ -1421,9 +1405,10 @@
|
||||
.4byte \restoreBattlerInstr
|
||||
.endm
|
||||
|
||||
.macro itemcurestatus jumpInstr:req
|
||||
.macro itemcurestatus jumpInstr:req, restoreBattlerInstr:req
|
||||
callnative BS_ItemCureStatus
|
||||
.4byte \jumpInstr
|
||||
.4byte \restoreBattlerInstr
|
||||
.endm
|
||||
|
||||
.macro itemincreasestat
|
||||
@ -1443,26 +1428,17 @@
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro setglaiverush
|
||||
callnative BS_SetGlaiveRush
|
||||
.endm
|
||||
|
||||
.macro setpledge jumpInstr:req
|
||||
callnative BS_SetPledge
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro setpledgestatus battler:req sidestatus:req
|
||||
.macro setpledgestatus battler:req, sidestatus:req
|
||||
callnative BS_SetPledgeStatus
|
||||
.byte \battler
|
||||
.4byte \sidestatus
|
||||
.endm
|
||||
|
||||
.macro trycopycat failInstr:req
|
||||
callnative BS_TryCopycat
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro setzeffect
|
||||
callnative BS_SetZEffect
|
||||
.endm
|
||||
@ -1645,14 +1621,6 @@
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro tryupdaterecoiltracker
|
||||
callnative BS_TryUpdateRecoilTracker
|
||||
.endm
|
||||
|
||||
.macro tryupdateleaderscresttracker
|
||||
callnative BS_TryUpdateLeadersCrestTracker
|
||||
.endm
|
||||
|
||||
.macro trytidyup clear:req, jumpInstr:req
|
||||
callnative BS_TryTidyUp
|
||||
.byte \clear
|
||||
@ -1765,10 +1733,6 @@
|
||||
callnative BS_WaitFanfare
|
||||
.endm
|
||||
|
||||
.macro setbeakblast
|
||||
callnative BS_SetBeakBlast
|
||||
.endm
|
||||
|
||||
.macro cantarshotwork failInstr:req
|
||||
callnative BS_CanTarShotWork
|
||||
.4byte \failInstr
|
||||
@ -1792,6 +1756,10 @@
|
||||
.2byte \flags
|
||||
.endm
|
||||
|
||||
.macro clearspecialstatuses
|
||||
callnative BS_ClearSpecialStatuses
|
||||
.endm
|
||||
|
||||
.macro clearmoveresultflags flags:req
|
||||
callnative BS_ClearMoveResultFlags
|
||||
.2byte \flags
|
||||
@ -1803,8 +1771,8 @@
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifcriticalhit failInstr:req
|
||||
callnative BS_JumpIfCriticalHit
|
||||
.macro jumpifnotcriticalhit failInstr:req
|
||||
callnative BS_JumpIfNotCriticalHit
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
@ -1814,11 +1782,8 @@
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpiflastuseditemholdeffect holdEffect:req, secondaryId:req, jumpInstr:req
|
||||
callnative BS_JumpIfLastUsedItemHoldEffect
|
||||
.byte \holdEffect
|
||||
.2byte \secondaryId
|
||||
.4byte \jumpInstr
|
||||
.macro tryflingholdeffect
|
||||
callnative BS_TryFlingHoldEffect
|
||||
.endm
|
||||
|
||||
.macro swapsidestatuses
|
||||
@ -1924,8 +1889,8 @@
|
||||
1:
|
||||
.endm
|
||||
|
||||
.macro jumpifabilitycantbesuppressed battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfAbilityCantBeSuppressed
|
||||
.macro jumpifabilitycantbereactivated battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfAbilityCantBeReactivated
|
||||
.byte \battler
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
@ -2181,16 +2146,6 @@
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro suckerpunchcheck failInstr:req
|
||||
callnative BS_SuckerPunchCheck
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro setsimplebeam failInstr:req
|
||||
callnative BS_SetSimpleBeam
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro tryentrainment failInstr:req
|
||||
callnative BS_TryEntrainment
|
||||
.4byte \failInstr
|
||||
@ -2204,11 +2159,6 @@
|
||||
callnative BS_InvertStatStages
|
||||
.endm
|
||||
|
||||
.macro trymefirst failInstr:req
|
||||
callnative BS_TryMeFirst
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro tryelectrify failInstr:req
|
||||
callnative BS_TryElectrify
|
||||
.4byte \failInstr
|
||||
@ -2225,11 +2175,6 @@
|
||||
.byte \case_
|
||||
.endm
|
||||
|
||||
.macro trylastresort failInstr:req
|
||||
callnative BS_TryLastResort
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro tryautotomize failInstr:req
|
||||
callnative BS_TryAutotomize
|
||||
.4byte \failInstr
|
||||
@ -2418,20 +2363,11 @@
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro checkpoltergeist failInstr:req
|
||||
callnative BS_CheckPoltergeist
|
||||
.macro setpoltergeistmessage failInstr:req
|
||||
callnative BS_SetPoltergeistMessage
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro trynoretreat failInstr:req
|
||||
callnative BS_TryNoRetreat
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro curecertainstatuses
|
||||
callnative BS_CureCertainStatuses
|
||||
.endm
|
||||
|
||||
.macro tryresetnegativestatstages
|
||||
callnative BS_TryResetNegativeStatStages
|
||||
.endm
|
||||
|
||||
@ -2332,6 +2332,11 @@
|
||||
callnative ScriptSetDoubleBattleFlag, requests_effects=1
|
||||
.endm
|
||||
|
||||
@ Stop using the ORAS dowsing machine.
|
||||
.macro stoporasdowsing
|
||||
callnative EndORASDowsing
|
||||
.endm
|
||||
|
||||
@ ============================ @
|
||||
@ FAKE RTC MACROS
|
||||
@ Will only function if OW_USE_FAKE_RTC is true. If it has any additional requirements, it will be listed accordingly.
|
||||
@ -2674,8 +2679,34 @@
|
||||
.2byte \battlePartner
|
||||
.endm
|
||||
|
||||
@ Manually buffer a string as the speaker's name for namebox.
|
||||
@ The next shown message/msgbox will include a namebox, if the provided string is not NULL.
|
||||
@ An SP_NAME_* constant can also be used, it'll take the name from gSpeakerNamesTable instead.
|
||||
.macro setspeaker name:req
|
||||
callnative SetSpeaker
|
||||
.4byte \name
|
||||
.endm
|
||||
|
||||
@ VS Seeker
|
||||
.macro vsseeker_rematchid rematchId:req
|
||||
callnative NativeVsSeekerRematchId, requests_effects=1
|
||||
.2byte \rematchId
|
||||
.endm
|
||||
|
||||
@ Sets the move relearner state
|
||||
.macro setmoverelearnerstate state:req
|
||||
callnative ScrCmd_setmoverelearnerstate, requests_effects=1
|
||||
.2byte \state
|
||||
.endm
|
||||
|
||||
@ Retrieves the move relearner state and stores it in the specified var
|
||||
.macro getmoverelearnerstate varId:req
|
||||
callnative ScrCmd_getmoverelearnerstate, requests_effects=1
|
||||
.4byte \varId
|
||||
.endm
|
||||
|
||||
@ Execute script if bag has TMs and/or HMs
|
||||
.macro istmrelearneractive destination:req
|
||||
callnative ScrCmd_istmrelearneractive, requests_effects=1
|
||||
.4byte \destination
|
||||
.endm
|
||||
|
||||
@ -20,16 +20,17 @@ $(MID_BUILDDIR)/%.o: $(MID_ASM_DIR)/%.s
|
||||
$(AS) $(ASFLAGS) -I sound -o $@ $<
|
||||
|
||||
# Compressed cries
|
||||
$(CRY_BIN_DIR)/%.bin: $(CRY_SUBDIR)/%.aif
|
||||
$(AIF) $< $@ --compress
|
||||
$(CRY_BIN_DIR)/%.bin: $(CRY_SUBDIR)/%.wav
|
||||
# NOTE: If using ipatix's High Quality Audio Mixer, remove "--no-pad" below.
|
||||
$(WAV2AGB) -b -c -l 1 --no-pad $< $@
|
||||
|
||||
# Uncompressed cries
|
||||
$(CRY_BIN_DIR)/uncomp_%.bin: $(CRY_SUBDIR)/uncomp_%.aif
|
||||
$(AIF) $< $@
|
||||
|
||||
# Uncompressed sounds
|
||||
$(SOUND_BIN_DIR)/%.bin: sound/%.aif
|
||||
$(AIF) $< $@
|
||||
$(SOUND_BIN_DIR)/%.bin: sound/%.wav
|
||||
$(WAV2AGB) -b $< $@
|
||||
|
||||
# For each line in midi.cfg, we do some trickery to convert it into a make rule for the `.mid` file described on the line
|
||||
# Data following the colon in said file corresponds to arguments passed into mid2agb
|
||||
|
||||
@ -456,6 +456,13 @@ JPN = FC 15
|
||||
ENG = FC 16
|
||||
PAUSE_MUSIC = FC 17
|
||||
RESUME_MUSIC = FC 18
|
||||
SPEAKER = FC 19
|
||||
|
||||
@ Speaker names, the order must be matching with include/constants/speaker_names.h
|
||||
NAME_NONE = 00
|
||||
NAME_MOM = 01
|
||||
NAME_PLAYER = 02
|
||||
NAME_COUNT = 03
|
||||
|
||||
@ fonts
|
||||
|
||||
|
||||
2
config.mk
Normal file
@ -0,0 +1,2 @@
|
||||
# Enable LTO when making a release build. Disable by setting to 0.
|
||||
USE_LTO_ON_RELEASE ?= 1
|
||||
@ -3361,6 +3361,7 @@ gBattleAnimMove_AquaJet::
|
||||
visible ANIM_ATTACKER
|
||||
clearmonbg ANIM_DEF_PARTNER
|
||||
blendoff
|
||||
setarg 7, 0x1000
|
||||
end
|
||||
|
||||
gBattleAnimMove_AttackOrder::
|
||||
@ -31083,6 +31084,17 @@ gBattleAnimStatus_Nightmare::
|
||||
clearmonbg ANIM_DEF_PARTNER
|
||||
end
|
||||
|
||||
gBattleAnimStatus_Frostbite::
|
||||
playsewithpan SE_M_ICY_WIND, 0
|
||||
loadspritegfx ANIM_TAG_ICE_CRYSTALS
|
||||
monbg ANIM_DEF_PARTNER
|
||||
splitbgprio ANIM_TARGET
|
||||
call IceCrystalEffectShort
|
||||
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_TARGET, 5, 7, 0, RGB(0, 20, 31)
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_DEF_PARTNER
|
||||
end
|
||||
|
||||
gBattleAnimGeneral_StatsChange::
|
||||
createvisualtask AnimTask_StatsChange, 5
|
||||
waitforvisualfinish
|
||||
@ -32122,6 +32134,16 @@ gBattleAnimGeneral_Swamp::
|
||||
blendoff
|
||||
end
|
||||
|
||||
gBattleAnimGeneral_SwapToSubstitute::
|
||||
createvisualtask AnimTask_SwapMonSpriteToFromSubstitute, 2, FALSE
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
gBattleAnimGeneral_SwapFromSubstitute::
|
||||
createvisualtask AnimTask_SwapMonSpriteToFromSubstitute, 2, TRUE
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
SnatchMoveTrySwapFromSubstitute:
|
||||
createvisualtask AnimTask_IsAttackerBehindSubstitute, 2
|
||||
jumprettrue SnatchMoveSwapSubstituteForMon
|
||||
|
||||
@ -49,9 +49,8 @@ BattleScript_UseItemMessage:
|
||||
|
||||
BattleScript_ItemRestoreHPRet:
|
||||
clearmoveresultflags MOVE_RESULT_NO_EFFECT
|
||||
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
||||
healthbarupdate BS_SCRIPTING
|
||||
datahpupdate BS_SCRIPTING
|
||||
healthbarupdate BS_SCRIPTING, PASSIVE_HP_UPDATE
|
||||
datahpupdate BS_SCRIPTING, PASSIVE_HP_UPDATE
|
||||
printstring STRINGID_ITEMRESTOREDSPECIESHEALTH
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
return
|
||||
@ -75,6 +74,10 @@ BattleScript_ItemRestoreHP_Party::
|
||||
return
|
||||
|
||||
BattleScript_ItemRestoreHP_SendOutRevivedBattler:
|
||||
switchhandleorder BS_SCRIPTING, 0
|
||||
getswitchedmondata BS_SCRIPTING
|
||||
switchindataupdate BS_SCRIPTING
|
||||
trytoclearprimalweather
|
||||
switchinanim BS_SCRIPTING, FALSE, FALSE
|
||||
waitstate
|
||||
switchineffects BS_SCRIPTING
|
||||
@ -83,13 +86,18 @@ BattleScript_ItemRestoreHP_SendOutRevivedBattler:
|
||||
BattleScript_ItemCureStatus::
|
||||
call BattleScript_UseItemMessage
|
||||
BattleScript_ItemCureStatusAfterItemMsg:
|
||||
itemcurestatus BattleScript_ItemCureStatusEnd
|
||||
updatestatusicon BS_SCRIPTING
|
||||
itemcurestatus BattleScript_ItemCureStatusEnd, BattleScript_CureStatus_Battler
|
||||
printstring STRINGID_ITEMCUREDSPECIESSTATUS
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
BattleScript_ItemCureStatusEnd:
|
||||
end
|
||||
|
||||
BattleScript_CureStatus_Battler::
|
||||
updatestatusicon BS_SCRIPTING
|
||||
printstring STRINGID_ITEMCUREDSPECIESSTATUS
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end
|
||||
|
||||
BattleScript_ItemHealAndCureStatus::
|
||||
call BattleScript_UseItemMessage
|
||||
itemrestorehp BattleScript_ItemCureStatusAfterItemMsg, BattleScript_ItemHealAndCureStatus_Battler
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
#include "config/item.h"
|
||||
#include "constants/global.h"
|
||||
#include "constants/apprentice.h"
|
||||
#include "constants/apricorn_tree.h"
|
||||
#include "constants/battle.h"
|
||||
#include "constants/battle_arena.h"
|
||||
#include "constants/battle_dome.h"
|
||||
@ -43,6 +44,7 @@
|
||||
#include "constants/maps.h"
|
||||
#include "constants/mauville_old_man.h"
|
||||
#include "constants/metatile_labels.h"
|
||||
#include "constants/move_relearner.h"
|
||||
#include "constants/moves.h"
|
||||
#include "constants/party_menu.h"
|
||||
#include "constants/pokedex.h"
|
||||
@ -62,6 +64,7 @@
|
||||
#include "constants/union_room.h"
|
||||
#include "constants/vars.h"
|
||||
#include "constants/weather.h"
|
||||
#include "constants/speaker_names.h"
|
||||
.include "asm/macros.inc"
|
||||
.include "asm/macros/event.inc"
|
||||
.include "constants/constants.inc"
|
||||
@ -71,6 +74,7 @@
|
||||
.set ALLOCATE_SCRIPT_CMD_TABLE, 1
|
||||
.include "data/script_cmd_table.inc"
|
||||
|
||||
.align 2
|
||||
gSpecialVars::
|
||||
.4byte gSpecialVar_0x8000
|
||||
.4byte gSpecialVar_0x8001
|
||||
@ -695,6 +699,7 @@ EventScript_SetBrineyLocation_Route109::
|
||||
.include "data/scripts/obtain_item.inc"
|
||||
.include "data/scripts/record_mix.inc"
|
||||
.include "data/scripts/pc.inc"
|
||||
.include "data/scripts/move_relearner.inc"
|
||||
|
||||
@ scripts/notices.inc? signs.inc? See comment about text/notices.inc
|
||||
Common_EventScript_ShowPokemartSign::
|
||||
@ -880,6 +885,7 @@ Common_EventScript_PlayerHandedOverTheItem::
|
||||
.include "data/text/pkmn_center_nurse.inc"
|
||||
.include "data/text/mart_clerk.inc"
|
||||
.include "data/text/obtain_item.inc"
|
||||
.include "data/text/move_relearner.inc"
|
||||
|
||||
@ The below and surf.inc could be split into some text/notices.inc
|
||||
gText_PokemartSign::
|
||||
@ -1109,9 +1115,6 @@ EventScript_VsSeekerChargingDone::
|
||||
.include "data/scripts/cable_club.inc"
|
||||
.include "data/text/cable_club.inc"
|
||||
.include "data/scripts/contest_hall.inc"
|
||||
.include "data/text/contest_strings.inc"
|
||||
.include "data/text/contest_link.inc"
|
||||
.include "data/text/contest_painting.inc"
|
||||
.include "data/scripts/tv.inc"
|
||||
.include "data/text/tv.inc"
|
||||
.include "data/scripts/interview.inc"
|
||||
@ -1155,3 +1158,5 @@ EventScript_VsSeekerChargingDone::
|
||||
.include "data/text/save.inc"
|
||||
.include "data/text/birch_speech.inc"
|
||||
.include "data/scripts/dexnav.inc"
|
||||
.include "data/scripts/battle_frontier.inc"
|
||||
.include "data/scripts/apricorn_tree.inc"
|
||||
|
||||
@ -83,6 +83,7 @@ gFieldEffectScriptPointers::
|
||||
.4byte gFieldEffectScript_Defog @ FLDEFF_DEFOG
|
||||
.4byte gFieldEffectScript_UseRockClimb @ FLDEFF_USE_ROCK_CLIMB
|
||||
.4byte gFieldEffectScript_RockClimbDust @ FLDEFF_ROCK_CLIMB_DUST
|
||||
.4byte gFieldEffectScript_ORASDowse @ FLDEFF_ORAS_DOWSE
|
||||
|
||||
gFieldEffectScript_ExclamationMarkIcon1::
|
||||
field_eff_callnative FldEff_ExclamationMarkIcon
|
||||
@ -386,6 +387,7 @@ gFieldEffectScript_CaveDust::
|
||||
gFieldEffectScript_Defog::
|
||||
field_eff_callnative FldEff_Defog
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseRockClimb:: @ 82DBC3F
|
||||
field_eff_callnative FldEff_UseRockClimb
|
||||
field_eff_end
|
||||
@ -394,3 +396,7 @@ gFieldEffectScript_RockClimbDust:: @ 82DBB28
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_BigDust, FldEff_RockClimbDust
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_ORASDowse::
|
||||
field_eff_callnative FldEff_ORASDowsing
|
||||
field_eff_end
|
||||
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
#include "constants/trainer_types.h"
|
||||
#include "constants/berry.h"
|
||||
#include "constants/species.h"
|
||||
#include "constants/apricorn_tree.h"
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
|
||||
@ -182,10 +182,14 @@ BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMons::
|
||||
|
||||
BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLv50::
|
||||
msgbox BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattleArenaLobby_EventScript_EndCancelChallenge
|
||||
|
||||
BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLvOpen::
|
||||
msgbox BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattleArenaLobby_EventScript_EndCancelChallenge
|
||||
|
||||
BattleFrontier_BattleArenaLobby_EventScript_CancelChallengeSaveFailed::
|
||||
@ -375,10 +379,13 @@ BattleFrontier_BattleArenaLobby_Text_SelectThreeMons:
|
||||
.string "好的,\n请选择参加的3只宝可梦。$"
|
||||
|
||||
BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLvOpen:
|
||||
.string "尊敬的挑战者!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧!$"
|
||||
.string "尊敬的挑战者!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}。$"
|
||||
|
||||
BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsEnd:
|
||||
.string "无法参加对战!\p请在准备就绪之后,\n再来参加吧!$"
|
||||
|
||||
BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLv50:
|
||||
.string "尊敬的挑战者!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧!$"
|
||||
.string "尊敬的挑战者!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}。$"
|
||||
|
||||
BattleFrontier_BattleArenaLobby_Text_GuideYouToArena:
|
||||
.string "现在我将带您前往对战竞技场。$"
|
||||
|
||||
@ -210,10 +210,14 @@ BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMons::
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMonsLv50::
|
||||
msgbox BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattleDomeLobby_EventScript_EndCancelChallenge
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMonsLvOpen::
|
||||
msgbox BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattleDomeLobby_EventScript_EndCancelChallenge
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_CancelChallengeSaveFailed::
|
||||
@ -455,10 +459,13 @@ BattleFrontier_BattleDomeLobby_Text_SelectThreeMons:
|
||||
.string "请挑选参加的\n3只宝可梦。$"
|
||||
|
||||
BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsLvOpen:
|
||||
.string "很抱歉!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只不同种类的\n宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧!$"
|
||||
.string "很抱歉!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只不同种类的\n宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}!$"
|
||||
|
||||
BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsEnd:
|
||||
.string "请在准备就绪之后,\n再来参加吧!$"
|
||||
|
||||
BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsLv50:
|
||||
.string "很抱歉!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧!$"
|
||||
.string "很抱歉!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}!$"
|
||||
|
||||
BattleFrontier_BattleDomeLobby_Text_ShowYouToBattleDome:
|
||||
.string "现在我将带您前往\n对战巨蛋。$"
|
||||
|
||||
@ -202,10 +202,14 @@ BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMons::
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMonsLv50::
|
||||
msgbox BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattlePalaceLobby_EventScript_EndCancelChallenge
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMonsLvOpen::
|
||||
msgbox BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattlePalaceLobby_EventScript_EndCancelChallenge
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_CancelChallengeSaveFailed::
|
||||
@ -390,10 +394,13 @@ BattleFrontier_BattlePalaceLobby_Text_WhichChallenge:
|
||||
.string "对战厅有2种,\nLv. 50级和自由等级,\l您要挑战哪种?$"
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsLv50:
|
||||
.string "哎……\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p并且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧。$"
|
||||
.string "哎……\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p并且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}!$"
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsEnd:
|
||||
.string "请在准备就绪之后,\n再来参加吧。$"
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsLvOpen:
|
||||
.string "哎……\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只\n不同种类的宝可梦,\p并且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧。$"
|
||||
.string "哎……\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只\n不同种类的宝可梦,\p并且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}!$"
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_Text_NowSelectThreeMons:
|
||||
.string "好的。那么请选择要参加的\n3只宝可梦。$"
|
||||
|
||||
@ -172,10 +172,14 @@ BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMons::
|
||||
|
||||
BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLv50::
|
||||
msgbox BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattlePikeLobby_EventScript_EndCancelChallenge
|
||||
|
||||
BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLvOpen::
|
||||
msgbox BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattlePikeLobby_EventScript_EndCancelChallenge
|
||||
|
||||
BattleFrontier_BattlePikeLobby_EventScript_CancelChallengeSaveFailed::
|
||||
@ -285,10 +289,13 @@ BattleFrontier_BattlePikeLobby_Text_WhichChallengeMode:
|
||||
.string "您有2个选择,\nLv. 50级和自由等级。\l要挑战哪个?$"
|
||||
|
||||
BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLv50:
|
||||
.string "冒昧打扰,但……\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p并且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧……$"
|
||||
.string "冒昧打扰,但……\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p并且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}!$"
|
||||
|
||||
BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsEnd:
|
||||
.string "请在准备就绪之后,\n再来参加吧……$"
|
||||
|
||||
BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLvOpen:
|
||||
.string "冒昧打扰,但……\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只\n不同种类的宝可梦,\p并且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧……$"
|
||||
.string "冒昧打扰,但……\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只\n不同种类的宝可梦,\p并且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}!$"
|
||||
|
||||
BattleFrontier_BattlePikeLobby_Text_PleaseChooseThreeMons:
|
||||
.string "请选择要参加挑战的\n3只宝可梦……$"
|
||||
|
||||
@ -184,10 +184,14 @@ BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMons::
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLv50::
|
||||
msgbox BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattlePyramidLobby_EventScript_EndCancelChallenge
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLvOpen::
|
||||
msgbox BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattlePyramidLobby_EventScript_EndCancelChallenge
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_EventScript_CancelChallengeSaveFailed::
|
||||
@ -544,10 +548,13 @@ BattleFrontier_BattlePyramidLobby_Text_SelectThreeMons:
|
||||
.string "好的,请选择要参加挑战的\n3只宝可梦。$"
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLvOpen:
|
||||
.string "探险家啊,有点小问题!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只\n不同种类的宝可梦,\p并且记得要取下它们携带的道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p准备就绪后,\n请告诉我一声。$"
|
||||
.string "探险家啊,有点小问题!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只\n不同种类的宝可梦,\p并且记得要取下它们携带的道具\n才可参加对战。\p此外,蛋{STR_VAR_1}!$"
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLv50:
|
||||
.string "探险家啊,有点小问题!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p并且记得要取下它们携带的道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p准备就绪后,\n请告诉我一声。$"
|
||||
.string "探险家啊,有点小问题!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p并且记得要取下它们携带的道具\n才可参加对战。\p此外,蛋{STR_VAR_1}!$"
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsEnd:
|
||||
.string "准备就绪后,\n请告诉我一声。$"
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_Text_OkayToSaveBeforeChallenge:
|
||||
.string "进入对战金字塔之前\n要先写入记录,可以吗?$"
|
||||
|
||||
@ -543,16 +543,22 @@ BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50::
|
||||
case FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Singles
|
||||
case FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Doubles
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Multis, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
|
||||
end
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Singles::
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Singles, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
|
||||
end
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Doubles::
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Doubles, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
|
||||
end
|
||||
|
||||
@ -561,16 +567,22 @@ BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpen::
|
||||
case FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenSingles
|
||||
case FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenDoubles
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenMultis, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
|
||||
end
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenSingles::
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenSingles, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
|
||||
end
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenDoubles::
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenDoubles, MSGBOX_DEFAULT
|
||||
call BattleFrontier_ShowCaughtBannedSpecies
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||||
goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
|
||||
end
|
||||
|
||||
@ -1019,29 +1031,32 @@ BattleFrontier_BattleTowerLobby_Text_RecordLastMatch:
|
||||
|
||||
@ Unused
|
||||
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50:
|
||||
.string "这位客人!\p您符合条件的宝可梦不足{STR_VAR_2}只。\p需要有{STR_VAR_2}只不同的等级50以内的\n宝可梦才可以参加比赛,\p同时这些宝可梦携带的道具\n也需要各不相同。\p蛋{STR_VAR_1}不能参加。\p准备好之后再来吧。$"
|
||||
.string "这位客人!\p您符合条件的宝可梦不足{STR_VAR_2}只。\p需要有{STR_VAR_2}只不同的等级50以内的\n宝可梦才可以参加比赛,\p同时这些宝可梦携带的道具\n也需要各不相同。\p蛋{STR_VAR_1}。$"
|
||||
|
||||
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsEnd:
|
||||
.string "准备好之后再来吧。$"
|
||||
|
||||
@ Unused
|
||||
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpen:
|
||||
.string "这位客人!\p您符合条件的宝可梦不足{STR_VAR_2}只。\p需要有{STR_VAR_2}只不同的宝可梦\n才可以参加比赛,\p同时这些宝可梦携带的道具\n也需要各不相同。\p蛋{STR_VAR_1}不能参加。\p准备好之后再来吧。$"
|
||||
.string "这位客人!\p您符合条件的宝可梦不足{STR_VAR_2}只。\p需要有{STR_VAR_2}只不同的宝可梦\n才可以参加比赛,\p同时这些宝可梦携带的道具\n也需要各不相同。\p蛋{STR_VAR_1}。$"
|
||||
|
||||
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Singles:
|
||||
.string "这位客人!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧。$"
|
||||
.string "这位客人!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}。$"
|
||||
|
||||
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenSingles:
|
||||
.string "这位客人!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧。$"
|
||||
.string "这位客人!\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}。$"
|
||||
|
||||
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Doubles:
|
||||
.string "这位客人!\p您能够参加对战的\n宝可梦不满4只。\p您需要准备4只等级50以内的\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧。$"
|
||||
.string "这位客人!\p您能够参加对战的\n宝可梦不满4只。\p您需要准备4只等级50以内的\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}。$"
|
||||
|
||||
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenDoubles:
|
||||
.string "这位客人!\p您能够参加对战的\n宝可梦不满4只。\p您需要准备4只\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧。$"
|
||||
.string "这位客人!\p您能够参加对战的\n宝可梦不满4只。\p您需要准备4只\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}。$"
|
||||
|
||||
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Multis:
|
||||
.string "这位客人!\p您能够参加对战的\n宝可梦不满2只。\p您需要准备2只等级50以内的\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧。$"
|
||||
.string "这位客人!\p您能够参加对战的\n宝可梦不满2只。\p您需要准备2只等级50以内的\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}。$"
|
||||
|
||||
BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenMultis:
|
||||
.string "这位客人!\p您能够参加对战的\n宝可梦不满2只。\p您需要准备2只\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}无法参加对战!\p请在准备就绪之后,\n再来参加吧。$"
|
||||
.string "这位客人!\p您能够参加对战的\n宝可梦不满2只。\p您需要准备2只\n不同种类的宝可梦,\p且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}。$"
|
||||
|
||||
BattleFrontier_BattleTowerLobby_Text_WelcomSingleBattle:
|
||||
.string "训练家的才能\n将在此接受考验!\p欢迎来到对战塔!\p我是您的单打对战间向导。$"
|
||||
|
||||
@ -22,6 +22,7 @@ FallarborTown_MoveRelearnersHouse_EventScript_AskTeachMove::
|
||||
|
||||
FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon::
|
||||
msgbox FallarborTown_MoveRelearnersHouse_Text_TutorWhichMon, MSGBOX_DEFAULT
|
||||
setmoverelearnerstate MOVE_RELEARNER_LEVEL_UP_MOVES @ Specifically supposed to teach level up moves
|
||||
special ChooseMonForMoveRelearner
|
||||
waitstate
|
||||
goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale
|
||||
|
||||
@ -620,72 +620,5 @@
|
||||
],
|
||||
"gMapGroup_IndoorRoute124": [
|
||||
"Route124_DivingTreasureHuntersHouse"
|
||||
],
|
||||
"connections_include_order": [
|
||||
"LittlerootTown",
|
||||
"OldaleTown",
|
||||
"DewfordTown",
|
||||
"LavaridgeTown",
|
||||
"FallarborTown",
|
||||
"VerdanturfTown",
|
||||
"PacifidlogTown",
|
||||
"PetalburgCity",
|
||||
"SlateportCity",
|
||||
"MauvilleCity",
|
||||
"RustboroCity",
|
||||
"FortreeCity",
|
||||
"LilycoveCity",
|
||||
"MossdeepCity",
|
||||
"SootopolisCity",
|
||||
"EverGrandeCity",
|
||||
"Route101",
|
||||
"Route102",
|
||||
"Route103",
|
||||
"Route104",
|
||||
"Route105",
|
||||
"Route106",
|
||||
"Route107",
|
||||
"Route108",
|
||||
"Route109",
|
||||
"Route110",
|
||||
"Route111",
|
||||
"Route112",
|
||||
"Route113",
|
||||
"Route114",
|
||||
"Route115",
|
||||
"Route116",
|
||||
"Route117",
|
||||
"Route118",
|
||||
"Route119",
|
||||
"Route120",
|
||||
"Route121",
|
||||
"Route122",
|
||||
"Route123",
|
||||
"Route124",
|
||||
"Route125",
|
||||
"Route126",
|
||||
"Route127",
|
||||
"Route128",
|
||||
"Route129",
|
||||
"Route130",
|
||||
"Route131",
|
||||
"Route132",
|
||||
"Route133",
|
||||
"Route134",
|
||||
"Underwater_Route105",
|
||||
"Underwater_Route124",
|
||||
"Underwater_Route125",
|
||||
"Underwater_Route126",
|
||||
"Underwater_Route127",
|
||||
"Underwater_Route128",
|
||||
"Underwater_Route129",
|
||||
"SafariZone_Northwest",
|
||||
"SafariZone_North",
|
||||
"SafariZone_Southwest",
|
||||
"SafariZone_South",
|
||||
"SafariZone_Northeast",
|
||||
"SafariZone_Southeast",
|
||||
"BattleFrontier_OutsideWest",
|
||||
"BattleFrontier_OutsideEast"
|
||||
]
|
||||
}
|
||||
|
||||
89
data/scripts/apricorn_tree.inc
Normal file
@ -0,0 +1,89 @@
|
||||
ApricornTreeScript::
|
||||
lock
|
||||
faceplayer
|
||||
message ApricornTree_Text_Intro
|
||||
waitmessage
|
||||
special ObjectEventInteractionGetApricornTreeData
|
||||
goto_if_gt VAR_0x8005, 0, ApricornTree_EventScript_WantToPick
|
||||
message ApricornTree_Text_Empty
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
release
|
||||
end
|
||||
|
||||
ApricornTree_EventScript_WantToPick::
|
||||
buffernumberstring STR_VAR_2, VAR_0x8005
|
||||
msgbox ApricornTree_Text_WantToPick, MSGBOX_YESNO
|
||||
goto_if_eq VAR_RESULT, YES, ApricornTree_EventScript_PickApricorn
|
||||
goto_if_eq VAR_RESULT, NO, ApricornTree_EventScript_CancelPickingApricorn
|
||||
|
||||
.set APRICORN_NORMAL_BAG_FULL, 0
|
||||
.set APRICORN_NORMAL_SPACE_IN_BAG, 1
|
||||
|
||||
ApricornTree_EventScript_PickApricorn::
|
||||
special ObjectEventInteractionPickApricornTree
|
||||
call EventScript_BufferPocketNameAndTryFanfare
|
||||
goto_if_eq VAR_0x8006, APRICORN_NORMAL_BAG_FULL, ApricornTree_EventScript_PocketFull
|
||||
message ApricornTree_Text_PickedTheApricorn
|
||||
.if OW_SHOW_ITEM_DESCRIPTIONS != OW_ITEM_DESCRIPTIONS_OFF
|
||||
copyvar VAR_0x8006 VAR_0x8004
|
||||
.endif
|
||||
delay 10
|
||||
.if OW_SHOW_ITEM_DESCRIPTIONS != OW_ITEM_DESCRIPTIONS_OFF
|
||||
showberrydescription
|
||||
.endif
|
||||
playfanfare MUS_OBTAIN_BERRY
|
||||
waitmessage
|
||||
waitfanfare
|
||||
waitbuttonpress
|
||||
message ApricornTree_Text_PutAwayApricorn
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
.if OW_SHOW_ITEM_DESCRIPTIONS != OW_ITEM_DESCRIPTIONS_OFF
|
||||
hideitemdescription
|
||||
.endif
|
||||
release
|
||||
end
|
||||
|
||||
ApricornTree_EventScript_PocketFull::
|
||||
message ApricornTree_Text_PocketFull
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
release
|
||||
end
|
||||
|
||||
ApricornTree_EventScript_CancelPickingApricorn::
|
||||
message ApricornTree_Text_ApricornLeftUnpicked
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
release
|
||||
end
|
||||
|
||||
ApricornTree_Text_Intro:
|
||||
.string "It's an Apricorn Tree!$"
|
||||
|
||||
ApricornTree_Text_Empty:
|
||||
.string "There are no Apricorns…$"
|
||||
|
||||
ApricornTree_Text_WantToPick:
|
||||
.string "…It's {STR_VAR_2} {STR_VAR_1}!\p"
|
||||
.string "Do you want to pick the\n"
|
||||
.string "{STR_VAR_1}?$"
|
||||
|
||||
ApricornTree_Text_PickedTheApricorn:
|
||||
.string "{PLAYER} obtained\n"
|
||||
.string "{STR_VAR_2} {STR_VAR_1}.$"
|
||||
|
||||
ApricornTree_Text_PutAwayApricorn:
|
||||
.string "{PLAYER} put away the\n"
|
||||
.string "{STR_VAR_1} in\l"
|
||||
.string "the BAG's {STR_VAR_3} POCKET.$"
|
||||
|
||||
ApricornTree_Text_PocketFull:
|
||||
.string "The BAG's {STR_VAR_3} POCKET is full.\p"
|
||||
.string "{PLAYER} gave up on the\p"
|
||||
.string "{STR_VAR_1}…$"
|
||||
|
||||
ApricornTree_Text_ApricornLeftUnpicked:
|
||||
.string "{PLAYER} gave up on the\p"
|
||||
.string "{STR_VAR_1}…$"
|
||||
13
data/scripts/battle_frontier.inc
Normal file
@ -0,0 +1,13 @@
|
||||
BattleFrontier_ShowCaughtBannedSpecies::
|
||||
goto_if_eq VAR_0x8005, 0, BattleFrontier_ShowCaughtBannedSpeciesEnd
|
||||
msgbox BattleFrontier_DoYouWantToSeeTheListOfCaughtBannedSpecies, MSGBOX_YESNO
|
||||
goto_if_eq VAR_RESULT, NO, BattleFrontier_ShowCaughtBannedSpeciesEnd
|
||||
callnative ShowBattleFrontierCaughtBannedSpecies
|
||||
waitstate
|
||||
BattleFrontier_ShowCaughtBannedSpeciesEnd:
|
||||
return
|
||||
|
||||
|
||||
BattleFrontier_DoYouWantToSeeTheListOfCaughtBannedSpecies:
|
||||
.string "要查看无法参加的\n"
|
||||
.string "宝可梦名单吗?$"
|
||||
@ -87,6 +87,15 @@ Debug_FlagsNotSetBattleConfigMessage_Text:
|
||||
.string "请在这里定义一个可用标志:\l"
|
||||
.string "'include/config/battle.h'!$"
|
||||
|
||||
Debug_VarsNotSetBattleConfigMessage::
|
||||
message Debug_VarsNotSetBattleConfigMessage_Text
|
||||
goto Debug_MessageEnd
|
||||
|
||||
Debug_VarsNotSetBattleConfigMessage_Text:
|
||||
.string "Feature unavailable!\n"
|
||||
.string "Please define a usable var in:\l"
|
||||
.string "'include/config/battle.h'!$"
|
||||
|
||||
Debug_BoxFilledMessage::
|
||||
message Debug_BoxFilledMessage_Text
|
||||
goto Debug_MessageEnd
|
||||
@ -387,7 +396,29 @@ Debug_EventScript_SetHiddenNature::
|
||||
dynmultistack 0, 0, TRUE, 7, FALSE, 0, NULL
|
||||
switch VAR_RESULT
|
||||
case MULTI_B_PRESSED, Debug_EventScript_InflictStatus1_Close
|
||||
special SetHiddenNature
|
||||
special SetHiddenNature
|
||||
releaseall
|
||||
end
|
||||
|
||||
Debug_EventScript_SetAbility::
|
||||
special ChoosePartyMon
|
||||
waitstate
|
||||
callnative DebugNative_GetAbilityNames
|
||||
dynmultipush gStringVar1, 0
|
||||
dynmultipush gStringVar2, 1
|
||||
dynmultipush gStringVar3, 2
|
||||
dynmultistack 0, 0, FALSE, 3 FALSE, 0, NULL
|
||||
switch VAR_RESULT
|
||||
case MULTI_B_PRESSED, Debug_EventScript_SetAbilityClose
|
||||
special SetAbility
|
||||
Debug_EventScript_SetAbilityClose:
|
||||
releaseall
|
||||
end
|
||||
|
||||
Debug_EventScript_SetFriendship::
|
||||
special ChoosePartyMon
|
||||
waitstate
|
||||
callnative DebugNative_Party_SetFriendship
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
105
data/scripts/move_relearner.inc
Normal file
@ -0,0 +1,105 @@
|
||||
Common_EventScript_MoveRelearner::
|
||||
lockall
|
||||
faceplayer
|
||||
message MoveRelearner_Text_WouldLearnNewMoves
|
||||
waitmessage
|
||||
goto Common_EventScript_MoveRelearnerDynMultiChoice
|
||||
end
|
||||
|
||||
Common_EventScript_MoveRelearnerDynMultiChoice::
|
||||
dynmultipush MoveRelearner_Text_LevelUpMoves, 0
|
||||
.if P_ENABLE_MOVE_RELEARNERS == TRUE
|
||||
dynmultipush MoveRelearner_Text_EggMoves, 1
|
||||
dynmultipush MoveRelearner_Text_TMMoves, 2
|
||||
dynmultipush MoveRelearner_Text_TutormoveMoves, 3
|
||||
.else
|
||||
call_if_set P_FLAG_EGG_MOVES, MoveRelearner_EventScript_PushEggMoves
|
||||
istmrelearneractive MoveRelearner_EventScript_PushTMMoves
|
||||
call_if_set P_FLAG_TUTOR_MOVES, MoveRelearner_EventScript_PushTutorMoves
|
||||
.endif @ P_ENABLE_MOVE_RELEARNERS
|
||||
dynmultipush MoveRelearner_Text_SeeYa, 4
|
||||
dynmultistack 0, 0, FALSE, 5, 0, 0, DYN_MULTICHOICE_CB_NONE
|
||||
closemessage
|
||||
switch VAR_RESULT
|
||||
case 0, MoveRelearner_EventScript_TeachLevelUpMoves
|
||||
case 1, MoveRelearner_EventScript_TeachEggMoves
|
||||
case 2, MoveRelearner_EventScript_TeachTMMoves
|
||||
case 3, MoveRelearner_EventScript_TeachTutorMoves
|
||||
case 4, MoveRelearner_EventScript_PleaseComeAgain
|
||||
MoveRelearner_EventScript_PleaseComeAgain:
|
||||
msgbox MoveRelearner_Text_ThankYouComeAgain, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
MoveRelearner_EventScript_PushEggMoves:
|
||||
dynmultipush MoveRelearner_Text_EggMoves, 1
|
||||
return
|
||||
|
||||
MoveRelearner_EventScript_PushTMMoves:
|
||||
dynmultipush MoveRelearner_Text_TMMoves, 2
|
||||
return
|
||||
|
||||
MoveRelearner_EventScript_PushTutorMoves:
|
||||
dynmultipush MoveRelearner_Text_TutormoveMoves, 3
|
||||
return
|
||||
|
||||
MoveRelearner_EventScript_TeachLevelUpMoves:
|
||||
setmoverelearnerstate MOVE_RELEARNER_LEVEL_UP_MOVES
|
||||
bufferstring STR_VAR_3, MoveRelearner_Text_LevelUpMoveLWR
|
||||
goto MoveRelearner_EventScript_TeachMove
|
||||
end
|
||||
|
||||
MoveRelearner_EventScript_TeachEggMoves:
|
||||
setmoverelearnerstate MOVE_RELEARNER_EGG_MOVES
|
||||
bufferstring STR_VAR_3, MoveRelearner_Text_EggMoveLWR
|
||||
goto MoveRelearner_EventScript_TeachMove
|
||||
end
|
||||
|
||||
MoveRelearner_EventScript_TeachTMMoves:
|
||||
setmoverelearnerstate MOVE_RELEARNER_TM_MOVES
|
||||
bufferstring STR_VAR_3, MoveRelearner_Text_TMMoveLWR
|
||||
goto MoveRelearner_EventScript_TeachMove
|
||||
end
|
||||
|
||||
MoveRelearner_EventScript_TeachTutorMoves:
|
||||
setmoverelearnerstate MOVE_RELEARNER_TUTOR_MOVES
|
||||
bufferstring STR_VAR_3, MoveRelearner_Text_TutorMoveLWR
|
||||
goto MoveRelearner_EventScript_TeachMove
|
||||
end
|
||||
|
||||
MoveRelearner_EventScript_TeachMove::
|
||||
getpartysize
|
||||
goto_if_eq VAR_RESULT, 0, MoveRelearner_EventScript_NoPkmn
|
||||
msgbox MoveRelearner_Text_ChoosePkmn, MSGBOX_DEFAULT
|
||||
special ChooseMonForMoveRelearner
|
||||
waitstate
|
||||
call_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, MoveRelearner_EventScript_AnythingElse
|
||||
special IsSelectedMonEgg
|
||||
call_if_eq VAR_RESULT, YES, MoveRelearner_EventScript_CantTeachMoveToEgg
|
||||
call_if_eq VAR_0x8005, NO, MoveRelearner_EventScript_CantTeachMoveToPkmn
|
||||
msgbox MoveRelearner_Text_WhichXmoveShouldTeach, MSGBOX_DEFAULT
|
||||
special TeachMoveRelearnerMove
|
||||
waitstate
|
||||
goto MoveRelearner_EventScript_AnythingElse
|
||||
end
|
||||
|
||||
MoveRelearner_EventScript_NoPkmn:
|
||||
msgbox MoveRelearner_Text_HaveNoPkmn, MSGBOX_AUTOCLOSE
|
||||
releaseall
|
||||
end
|
||||
|
||||
MoveRelearner_EventScript_CantTeachMoveToEgg:
|
||||
msgbox MoveRelearner_Text_CantTeachMoveToEgg, MSGBOX_AUTOCLOSE
|
||||
goto MoveRelearner_EventScript_AnythingElse
|
||||
end
|
||||
|
||||
MoveRelearner_EventScript_CantTeachMoveToPkmn:
|
||||
msgbox MoveRelearner_Text_CantTeachMoveToPkmn, MSGBOX_AUTOCLOSE
|
||||
goto MoveRelearner_EventScript_AnythingElse
|
||||
end
|
||||
|
||||
MoveRelearner_EventScript_AnythingElse::
|
||||
message MoveRelearner_Text_AnythingElse
|
||||
waitmessage
|
||||
goto Common_EventScript_MoveRelearnerDynMultiChoice
|
||||
end
|
||||
@ -205,6 +205,7 @@ EventScript_FoundHiddenItem::
|
||||
end
|
||||
|
||||
EventScript_PutHiddenItemInPocket::
|
||||
callnative Script_ClearDowsingColor
|
||||
delay 10
|
||||
showitemdescription
|
||||
waitmessage
|
||||
@ -215,6 +216,7 @@ EventScript_PutHiddenItemInPocket::
|
||||
hideitemdescription
|
||||
special TryPutTreasureInvestigatorsOnAir
|
||||
special SetHiddenItemFlag
|
||||
callnative Script_UpdateDowseState
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
.section .rodata
|
||||
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.include "asm/macros/m4a.inc"
|
||||
.include "asm/macros/music_voice.inc"
|
||||
.include "include/config/general.h"
|
||||
|
||||
@ -564,3 +564,6 @@ gSpecials::
|
||||
def_special EnterCode
|
||||
def_special GetCodeFeedback
|
||||
def_special SetHiddenNature
|
||||
def_special SetAbility
|
||||
def_special ObjectEventInteractionGetApricornTreeData
|
||||
def_special ObjectEventInteractionPickApricornTree
|
||||
|
||||
@ -1,34 +0,0 @@
|
||||
@ With the exception of Link standby, none of the below texts are used
|
||||
|
||||
gTest_MissedTurn::
|
||||
.string "错过回合$"
|
||||
|
||||
gText_LinkStandby4::
|
||||
.string "正在等待连接!$"
|
||||
|
||||
gText_WinnerIsPlayersMonCongrats::
|
||||
.string "冠军是{STR_VAR_1}的{STR_VAR_2}!\n恭喜!$"
|
||||
|
||||
gText_WinnerIsPlayersMon::
|
||||
.string "冠军是{STR_VAR_1}的{STR_VAR_2}!{0xFC 9}$"
|
||||
|
||||
gText_PrimaryJudgingNumX::
|
||||
.string "第1轮评审:No.{STR_VAR_1}{0xFC 9}$"
|
||||
|
||||
gText_SecondaryJudgingNumX::
|
||||
.string "第2轮评审:No.{STR_VAR_1}{0xFC 9}$"
|
||||
|
||||
gText_SetEventNumX::
|
||||
.string "自定赛:No.{STR_VAR_1}{0xFC 9}$"
|
||||
|
||||
gText_MoveUsedMostOften::
|
||||
.string "最常用的招式:\n{STR_VAR_1}{0xFC 9}$"
|
||||
|
||||
gText_MostImpressiveMon::
|
||||
.string "最出色的宝可梦:\n{STR_VAR_1}的{STR_VAR_2}{0xFC 9}$"
|
||||
|
||||
gText_SetEventNumX2::
|
||||
.string "自定赛:No.{STR_VAR_1}{0xFC 9}$"
|
||||
|
||||
gText_LinkTVProgramWillNotBeMadeTrainerLost::
|
||||
.string "无法制作连接电视节目,\n因为训练家已断开连接。{0xFC 9}$"
|
||||
@ -1,81 +0,0 @@
|
||||
gContestHallPaintingCaption::
|
||||
.string "{STR_VAR_1}\n{STR_VAR_2}的{STR_VAR_3}$"
|
||||
|
||||
@ Unused
|
||||
gContestPaintingContest::
|
||||
.string "比赛$"
|
||||
|
||||
gContestRankNormal::
|
||||
.string "普通级$"
|
||||
|
||||
gContestRankSuper::
|
||||
.string "超级级$"
|
||||
|
||||
gContestRankHyper::
|
||||
.string "专家级$"
|
||||
|
||||
gContestRankMaster::
|
||||
.string "大师级$"
|
||||
|
||||
gContestLink::
|
||||
.string "连接$"
|
||||
|
||||
gContestCoolness::
|
||||
.string "帅气$"
|
||||
|
||||
gContestBeauty::
|
||||
.string "美丽$"
|
||||
|
||||
gContestCuteness::
|
||||
.string "可爱$"
|
||||
|
||||
gContestSmartness::
|
||||
.string "聪明$"
|
||||
|
||||
gContestToughness::
|
||||
.string "强壮$"
|
||||
|
||||
gContestPaintingCool1::
|
||||
.string "挡不住的帅气——\n无可估量的{STR_VAR_1}$"
|
||||
|
||||
gContestPaintingCool2::
|
||||
.string "嗨那边的!\n好漂亮的宝可梦啊{STR_VAR_1}$"
|
||||
|
||||
gContestPaintingCool3::
|
||||
.string "这真是让人惊奇的\n{STR_VAR_1}居然那么神奇$"
|
||||
|
||||
gContestPaintingBeauty1::
|
||||
.string "{STR_VAR_1}是本世纪\n最后的维纳斯。$"
|
||||
|
||||
gContestPaintingBeauty2::
|
||||
.string "{STR_VAR_1}耀眼\n而闪亮的微笑$"
|
||||
|
||||
gContestPaintingBeauty3::
|
||||
.string "宝可梦中心的超级偶像——\n无与伦比的{STR_VAR_1}$"
|
||||
|
||||
gContestPaintingCute1::
|
||||
.string "可爱的{STR_VAR_1}$"
|
||||
|
||||
gContestPaintingCute2::
|
||||
.string "美丽的{STR_VAR_1}的\n胜利肖像$"
|
||||
|
||||
gContestPaintingCute3::
|
||||
.string "让我们看看\n那个漂亮的宝可梦{STR_VAR_1}!$"
|
||||
|
||||
gContestPaintingSmart1::
|
||||
.string "智慧的艺术大师——\n聪明的宝可梦{STR_VAR_1}$"
|
||||
|
||||
gContestPaintingSmart2::
|
||||
.string "{STR_VAR_1}——被选中的宝可梦\n宝可梦中的宝可梦$"
|
||||
|
||||
gContestPaintingSmart3::
|
||||
.string "优秀的{STR_VAR_1}的\n高贵瞬间$"
|
||||
|
||||
gContestPaintingTough1::
|
||||
.string "肌肉发达的\n{STR_VAR_1}$"
|
||||
|
||||
gContestPaintingTough2::
|
||||
.string "强壮,无比强壮\n的{STR_VAR_1}$"
|
||||
|
||||
gContestPaintingTough3::
|
||||
.string "极为强悍的\n易激动的宝可梦{STR_VAR_1}$"
|
||||
@ -1,464 +0,0 @@
|
||||
gText_AppealNumWhichMoveWillBePlayed::
|
||||
.string "第{STR_VAR_1}回合的表演!\n"
|
||||
.string "要使用哪个招式呢?$"
|
||||
@{STR_VAR_1}かいめのアピール!
|
||||
@どのわざをつかう?
|
||||
|
||||
gText_AppealNumButItCantParticipate::
|
||||
.string "第{STR_VAR_1}回合的表演!\n"
|
||||
.string "但是无法参加!$"
|
||||
@{STR_VAR_1}かいめのアピール!
|
||||
@しかしさんかできない!
|
||||
|
||||
gText_MonAppealedWithMove::
|
||||
.string "{STR_VAR_1}使用了\n"
|
||||
.string "{STR_VAR_2}进行表演!$"
|
||||
@{STR_VAR_1}は
|
||||
@{STR_VAR_2}でアピール!
|
||||
|
||||
gText_MonWasWatchingOthers::
|
||||
.string "{STR_VAR_1}在观察\n"
|
||||
.string "其他的宝可梦!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は
|
||||
@みんなを みていた!
|
||||
|
||||
gText_AllOutOfAppealTime::
|
||||
.string "表演时间结束!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@アピールタイム しゅうりょう!
|
||||
|
||||
@ Appeal result texts
|
||||
gText_BecameMoreConsciousOfOtherMons::
|
||||
.string "它变得比平时\n"
|
||||
.string "更加担心其他宝可梦了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@ほかの ポケモンが いつもより
|
||||
@きに なって きた!
|
||||
|
||||
gText_MonCantMakeAnAppealAfterThis::
|
||||
.string "{STR_VAR_1}此后\n"
|
||||
.string "都无法再次进行表演了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は このあと
|
||||
@アピール できなく なった!
|
||||
|
||||
gText_SettledDownJustLittleBit::
|
||||
.string "它稍微有些\n"
|
||||
.string "冷静下来了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@ちょっと だけ
|
||||
@きもちが おちついた!
|
||||
|
||||
gText_BecameObliviousToOtherMons::
|
||||
.string "它变得完全\n"
|
||||
.string "不关注其他宝可梦了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@ほかの ポケモンが ぜんぜん
|
||||
@きに ならなく なった!
|
||||
|
||||
gText_BecameLessAwareOfOtherMons::
|
||||
.string "它变得不那么\n"
|
||||
.string "关注其他宝可梦了。{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@ほかの ポケモンが あまり
|
||||
@きに ならなく なった!
|
||||
|
||||
gText_StoppedCaringAboutOtherMons::
|
||||
.string "它不再那么\n"
|
||||
.string "留意其他宝可梦了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@ほかの ポケモンを あまり
|
||||
@きに しないように なった!
|
||||
|
||||
gText_TriedToStartleOtherMons::
|
||||
.string "它试图惊吓\n"
|
||||
.string "其他宝可梦!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@ほかの ポケモンを
|
||||
@びっくり させようと した!
|
||||
|
||||
gText_TriedToDazzleOthers::
|
||||
.string "它试图让\n"
|
||||
.string "其他宝可梦眼花缭乱!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@みんなの めを
|
||||
@くらませようと した!
|
||||
|
||||
gText_JudgeLookedAwayFromMon::
|
||||
.string "评委的目光\n"
|
||||
.string "从{STR_VAR_1}身上移开了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@しんさいんは {STR_VAR_1}から
|
||||
@めを そらして しまった!
|
||||
|
||||
gText_TriedToUnnerveNextMon::
|
||||
.string "它试图让下一只\n"
|
||||
.string "表演的宝可梦紧张!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@つぎに まっている ポケモンを
|
||||
@きんちょう させようと した!
|
||||
|
||||
gText_MonBecameNervous::
|
||||
.string "{STR_VAR_1}\n"
|
||||
.string "紧张了起来!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は
|
||||
@きんちょう してしまった!
|
||||
|
||||
gText_AppealTriedToUnnerveWaitingMons::
|
||||
.string "它试图让所有\n"
|
||||
.string "之后表演的宝可梦紧张!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@アピールが まだの ポケモンを
|
||||
@きんちょう させようと した!
|
||||
|
||||
gText_TauntedMonsDoingWell::
|
||||
.string "它嘲笑了\n"
|
||||
.string "气势良好的宝可梦!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@ちょうしが いい ポケモンを
|
||||
@からかってみた!
|
||||
|
||||
gText_MonRegainedItsForm::
|
||||
.string "{STR_VAR_1}的气势\n"
|
||||
.string "回到了本来的样子!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の ちょうしが
|
||||
@もとに もどって しまった!
|
||||
|
||||
gText_TriedToJamMonDoingWell::
|
||||
.string "它试图干扰那些\n"
|
||||
.string "表演引人注目的宝可梦!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@ちょうしが いい ポケモンの
|
||||
@じゃまを しようと した!
|
||||
|
||||
gText_StandoutMonHustledEvenMore::
|
||||
.string "本来就引人注目的\n"
|
||||
.string "{STR_VAR_1}更加鼓足干劲了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@めだっている {STR_VAR_1}は
|
||||
@さらに はりきった!
|
||||
|
||||
gText_LargelyUnnoticedMonWorkedHard::
|
||||
.string "原本不太引人注目的\n"
|
||||
.string "{STR_VAR_1}加油努力了起来!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@めだっていない {STR_VAR_1}は
|
||||
@がんばりまくった!
|
||||
|
||||
gText_WorkedAsMuchAsMonBefore::
|
||||
.string "它鼓足了不会输给\n"
|
||||
.string "前面所有宝可梦程度的干劲!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@まえの ポケモンたちに
|
||||
@まけないくらい はりきった!
|
||||
|
||||
gText_MonsAppealDidNotGoWell::
|
||||
.string "{STR_VAR_1}的表演\n"
|
||||
.string "没能成功奏效!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は アピールを
|
||||
@うまく みせられなかった!
|
||||
|
||||
gText_WorkedAsMuchAsPrecedingMon::
|
||||
.string "和前面的宝可梦\n"
|
||||
.string "一样地鼓足了干劲!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@まえの ポケモンと
|
||||
@おなじくらい はりきった!
|
||||
|
||||
gText_MonsAppealDidNotGoWell2::
|
||||
.string "{STR_VAR_1}的表演\n"
|
||||
.string "没能成功奏效!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は アピールを
|
||||
@うまく みせられなかった!
|
||||
|
||||
gText_MonsAppealDidNotGoWell3::
|
||||
.string "{STR_VAR_1}的表演\n"
|
||||
.string "没能成功奏效!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は アピールを
|
||||
@うまく みせられなかった!
|
||||
|
||||
gText_MonsAppealWentSlightlyWell::
|
||||
.string "{STR_VAR_1}的表演\n"
|
||||
.string "做得还算可以!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の アピールは
|
||||
@すこし うまく いった!
|
||||
|
||||
gText_MonsAppealWentPrettyWell::
|
||||
.string "{STR_VAR_1}的表演\n"
|
||||
.string "做得不错!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の アピールは
|
||||
@まあまあ うまく いった!
|
||||
|
||||
gText_MonsAppealWentExcellently::
|
||||
.string "{STR_VAR_1}的表演\n"
|
||||
.string "做得非常出色!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の アピールは
|
||||
@とても うまく いった!
|
||||
|
||||
gText_MonsAppealWasDud::
|
||||
.string "{STR_VAR_1}的表演\n"
|
||||
.string "完全失败了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の アピールは
|
||||
@しっぱい して しまった!
|
||||
|
||||
gText_MonsAppealDidNotWorkVeryWell::
|
||||
.string "{STR_VAR_1}的表演\n"
|
||||
.string "做得不怎么好!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の アピールは
|
||||
@あまり うまく いかなかった!
|
||||
|
||||
gText_MonsAppealWentSlightlyWell2::
|
||||
.string "{STR_VAR_1}的表演\n"
|
||||
.string "做得还算可以!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の アピールは
|
||||
@すこし うまく いった!
|
||||
|
||||
gText_MonsAppealWentPrettyWell2::
|
||||
.string "{STR_VAR_1}的表演\n"
|
||||
.string "做得不错!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の アピールは
|
||||
@まあまあ うまく いった!
|
||||
|
||||
gText_MonsAppealWentVeryWell::
|
||||
.string "{STR_VAR_1}的表演\n"
|
||||
.string "做得很好!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の アピールは
|
||||
@かなり うまく いった!
|
||||
|
||||
gText_MonsAppealWentExcellently2::
|
||||
.string "{STR_VAR_1}的表演\n"
|
||||
.string "做得非常出色!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の アピールは
|
||||
@とても うまく いった!
|
||||
|
||||
gText_SameTypeAsOneBeforeGood::
|
||||
.string "因为和前面的宝可梦\n"
|
||||
.string "类别一致而受到喜欢!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@まえの ポケモンと
|
||||
@おなじタイプで きにいられた!
|
||||
|
||||
gText_NotSameTypeAsOneBeforeGood::
|
||||
.string "因为和前面的宝可梦\n"
|
||||
.string "类别不同而受到喜欢!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@まえの ポケモンと
|
||||
@ちがうタイプで きにいられた!
|
||||
|
||||
gText_StoodOutMuchMoreThanMonBefore::
|
||||
.string "比起前面的宝可梦\n"
|
||||
.string "要出彩得多!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@まえの ポケモンより
|
||||
@だいぶ めだった!
|
||||
|
||||
gText_DidntDoAsWellAsMonBefore::
|
||||
.string "比起前面的宝可梦\n"
|
||||
.string "完成得不算太好!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@まえの ポケモンより
|
||||
@うまく できなかった!
|
||||
|
||||
gText_MonsConditionRoseAboveUsual::
|
||||
.string "{STR_VAR_1}的气势\n"
|
||||
.string "比平时有所提升!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の ちょうしが
|
||||
@いつもより あがった!
|
||||
|
||||
gText_MonsHotStatusMadeGreatAppeal::
|
||||
.string "{STR_VAR_1}气势不错,\n"
|
||||
.string "表演变得棒极了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は ちょうしが よくて
|
||||
@ぜっこうの アピールに なった!
|
||||
|
||||
gText_MovedUpInLineForNextAppeal::
|
||||
.string "它想要在下回合的表演里\n"
|
||||
.string "更早出场而走到了前面!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@つぎの アピールを はやく
|
||||
@しようと まえに でた!
|
||||
|
||||
gText_MovedBackInLineForNextAppeal::
|
||||
.string "它想要在下回合的表演里\n"
|
||||
.string "更晚出场而后退了一步!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@つぎの アピールを おそく
|
||||
@しようと 1ぽ さがった!
|
||||
|
||||
gText_ScrambledUpOrderForNextTurn::
|
||||
.string "下个回合的表演顺序\n"
|
||||
.string "变得奇怪了起来!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@つぎの ターンの じゅんばん
|
||||
@おかしく した!
|
||||
|
||||
gText_JudgeLookedAtMonExpectantly::
|
||||
.string "评委满怀期待地\n"
|
||||
.string "看着{STR_VAR_1}!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@しんさいんが きたいして
|
||||
@{STR_VAR_1}を みつめた!
|
||||
|
||||
gText_AppealComboWentOverWell::
|
||||
.string "前后演出的招式组合\n"
|
||||
.string "得到了大家的喜爱!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@アピールの くみあわせが
|
||||
@きに いって もらえた!
|
||||
|
||||
gText_AppealComboWentOverVeryWell::
|
||||
.string "前后演出的招式组合\n"
|
||||
.string "很受大家喜欢!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@アピールの くみあわせが
|
||||
@かなり きに いられた!
|
||||
|
||||
gText_AppealComboWentOverExcellently::
|
||||
.string "前后演出的招式组合\n"
|
||||
.string "特别受大家喜欢!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@アピールの くみあわせが
|
||||
@ものすごく きに いられた!
|
||||
|
||||
gText_MonManagedToAvertGaze::
|
||||
.string "{STR_VAR_1}成功地\n"
|
||||
.string "移开了视线!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は なんとか
|
||||
@めを そらした!
|
||||
|
||||
gText_MonManagedToAvoidSeeingIt::
|
||||
.string "{STR_VAR_1}成功地\n"
|
||||
.string "避开了视线!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は
|
||||
@そっちを みずに すんだ!
|
||||
|
||||
gText_MonIsntFazedByThatSortOfThing::
|
||||
.string "{STR_VAR_1}没有受\n"
|
||||
.string "这种程度的事情影响!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は
|
||||
@このくらいは へいきだった!
|
||||
|
||||
gText_MonBecameALittleDistracted::
|
||||
.string "{STR_VAR_1}变得\n"
|
||||
.string "稍稍有点分心了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は ちょっと
|
||||
@きを とられて しまった!
|
||||
|
||||
gText_TriedToStartleOtherPokemon::
|
||||
.string "它试图惊吓\n"
|
||||
.string "其他宝可梦!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@ほかの ポケモンを
|
||||
@びっくり させようと した!
|
||||
|
||||
gText_MonLookedDownOutOfDistraction::
|
||||
.string "{STR_VAR_1}因为分心\n"
|
||||
.string "低下了头!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は きをとられて
|
||||
@したを むいて しまった!(小)
|
||||
|
||||
gText_MonTurnedBackOutOfDistraction::
|
||||
.string "{STR_VAR_1}因为分心\n"
|
||||
.string "转过了身!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は きを とられて
|
||||
@ふりかえって しまった!(中)
|
||||
|
||||
gText_MonCouldntHelpUtteringCry::
|
||||
.string "{STR_VAR_1}忍不住地\n"
|
||||
.string "叫出了声!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は おもわず
|
||||
@こえを あげて しまった!(大)
|
||||
|
||||
gText_MonCouldntHelpLeapingUp::
|
||||
.string "{STR_VAR_1}忍不住地\n"
|
||||
.string "跳了起来!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は おもわず
|
||||
@とびあがって しまった!(特大)
|
||||
|
||||
gText_MonTrippedOutOfDistraction::
|
||||
.string "{STR_VAR_1}因为分心\n"
|
||||
.string "摔在了地上四脚朝天!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は きを とられて
|
||||
@ひっくり かえって しまった!(?)
|
||||
|
||||
gText_MonWasTooNervousToMove::
|
||||
.string "{STR_VAR_1}因为紧张\n"
|
||||
.string "无法使用招式表演了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は きんちょうして
|
||||
@アピールが できなかった!
|
||||
|
||||
gText_ButItMessedUp2::
|
||||
.string "但它搞砸了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@でも しっぱい してしまった!
|
||||
|
||||
gText_ButItFailedToMakeTargetNervous::
|
||||
.string "但是它没能让\n"
|
||||
.string "目标宝可梦紧张!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@でも きんちょう
|
||||
@させられなかった!
|
||||
|
||||
gText_ButItFailedToMakeAnyoneNervous::
|
||||
.string "但是它没能让\n"
|
||||
.string "任何宝可梦紧张!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@でも だれも
|
||||
@きんちょう しなかった!
|
||||
|
||||
gText_ButItWasIgnored::
|
||||
.string "但它被无视了……{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@でも むし されて しまった……
|
||||
|
||||
gText_CouldntImproveItsCondition::
|
||||
.string "但是它并没能\n"
|
||||
.string "提升自己的气势……{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@でも ちょうしは
|
||||
@あがらなかった……
|
||||
|
||||
gText_BadConditionResultedInWeakAppeal::
|
||||
.string "它因为气势不行\n"
|
||||
.string "表演得一点也不好……{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@ちょうしが よく なくて
|
||||
@あまり うまく できなかった……
|
||||
|
||||
gText_MonWasUnaffected::
|
||||
.string "{STR_VAR_1}\n"
|
||||
.string "完全不为所动!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は
|
||||
@へいき だった!
|
||||
|
||||
gText_RepeatedAppeal::
|
||||
.string "{STR_VAR_1}因为\n"
|
||||
.string "重复表演,让大家失望了。{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は おなじアピールを
|
||||
@つづけて がっかり された!
|
||||
|
||||
gText_MonsXWentOverGreat::
|
||||
.string "{STR_VAR_1}的{STR_VAR_3}表演\n"
|
||||
.string "受到了大家的热烈欢迎!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の {STR_VAR_3}が
|
||||
@まわりに とても うけた!
|
||||
|
||||
gText_MonsXDidntGoOverWell::
|
||||
.string "{STR_VAR_1}的{STR_VAR_3}表演\n"
|
||||
.string "在这里不受欢迎……{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の {STR_VAR_3}が
|
||||
@ここでは うけなかった…
|
||||
|
||||
gText_MonsXGotTheCrowdGoing::
|
||||
.string "{STR_VAR_1}的{STR_VAR_3}表演\n"
|
||||
.string "让整个会场沸腾了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の {STR_VAR_3}に
|
||||
@まわりが もりあがった!
|
||||
|
||||
gText_MonCantAppealNextTurn::
|
||||
.string "{STR_VAR_1}无法参加\n"
|
||||
.string "下一次的表演了!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}は つぎの アピールに
|
||||
@さんか できなくなった!
|
||||
|
||||
gText_AttractedCrowdsAttention::
|
||||
.string "吸引了\n"
|
||||
.string "观众们的注意!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@かんきゃくの
|
||||
@ちゅうもくを あつめた!
|
||||
|
||||
gText_CrowdContinuesToWatchMon::
|
||||
.string "观众们一直\n"
|
||||
.string "持续关注着{STR_VAR_3}!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@かんきゃくは
|
||||
@{STR_VAR_3}を みつづけている!
|
||||
|
||||
gText_MonsMoveIsIgnored::
|
||||
.string "{STR_VAR_1}的{STR_VAR_2}\n"
|
||||
.string "被完全无视了……{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
@{STR_VAR_1}の {STR_VAR_2}は
|
||||
@めを むけられなかった……
|
||||
|
||||
gText_Contest_Shyness::
|
||||
.string "扑通扑通$"
|
||||
@ドキドキ
|
||||
|
||||
gText_Contest_Anxiety::
|
||||
.string "慌慌张张$"
|
||||
@モジモジ
|
||||
|
||||
gText_Contest_Laziness::
|
||||
.string "懒懒洋洋$"
|
||||
@テレテレ
|
||||
|
||||
gText_Contest_Hesitancy::
|
||||
.string "犹犹豫豫$"
|
||||
@オロオロ
|
||||
|
||||
@ビクビク
|
||||
gText_Contest_Fear::
|
||||
.string "战战栗栗$"
|
||||
55
data/text/move_relearner.inc
Normal file
@ -0,0 +1,55 @@
|
||||
MoveRelearner_Text_WouldLearnNewMoves:
|
||||
.string "Hi, I'm the Move Relearner.\n"
|
||||
.string "Would you like to learn new moves?$"
|
||||
|
||||
MoveRelearner_Text_LevelUpMoves:
|
||||
.string "Level Up Moves$"
|
||||
|
||||
MoveRelearner_Text_EggMoves:
|
||||
.string "Egg Moves$"
|
||||
|
||||
MoveRelearner_Text_TMMoves:
|
||||
.string "TM Moves$"
|
||||
|
||||
MoveRelearner_Text_TutormoveMoves:
|
||||
.string "Tutor Moves$"
|
||||
|
||||
MoveRelearner_Text_SeeYa:
|
||||
.string "See ya!$"
|
||||
|
||||
MoveRelearner_Text_AnythingElse:
|
||||
.string "Is there anything else I may do for you?$"
|
||||
|
||||
MoveRelearner_Text_ChoosePkmn:
|
||||
.string "Please choose your Pokémon.$"
|
||||
|
||||
MoveRelearner_Text_HaveNoPkmn:
|
||||
.string "You have no Pokémon.$"
|
||||
|
||||
MoveRelearner_Text_CantTeachMoveToEgg:
|
||||
.string "Sorry…\n"
|
||||
.string "But an Egg can't learn moves.$"
|
||||
|
||||
MoveRelearner_Text_CantTeachMoveToPkmn:
|
||||
.string "Sorry…\p"
|
||||
.string "It doesn't appear as if I have any move\n"
|
||||
.string "I can teach that Pokémon.$"
|
||||
|
||||
MoveRelearner_Text_LevelUpMoveLWR::
|
||||
.string "level up move$"
|
||||
|
||||
MoveRelearner_Text_EggMoveLWR::
|
||||
.string "egg move$"
|
||||
|
||||
MoveRelearner_Text_TMMoveLWR::
|
||||
.string "TM move$"
|
||||
|
||||
MoveRelearner_Text_TutorMoveLWR::
|
||||
.string "tutor move$"
|
||||
|
||||
MoveRelearner_Text_WhichXmoveShouldTeach:
|
||||
.string "Which {STR_VAR_3} should I teach?$"
|
||||
|
||||
MoveRelearner_Text_ThankYouComeAgain:
|
||||
.string "Thank you for using our services.\n"
|
||||
.string "Please come again!$"
|
||||
1
docs/FEATURES.md
Normal file
@ -0,0 +1 @@
|
||||
{{#include ../FEATURES.md}}
|
||||
@ -1,12 +1,14 @@
|
||||
# Summary
|
||||
|
||||
- [README](./README.md)
|
||||
- [FEATURES](./FEATURES.md)
|
||||
- [Installation](./INSTALL.md)
|
||||
- [Setting up WSL1 (Legacy Portion)](./legacy_WSL1_INSTALL.md)
|
||||
- [ChromeOS](./install/chromeos/CHROME_OS.md)
|
||||
- [Linux]()
|
||||
- [ARCH_LINUX](./install/linux/ARCH_LINUX.md)
|
||||
- [DEBIAN](./install/linux/DEBIAN.md)
|
||||
- [FEDORA](./install/linux/FEDORA.md)
|
||||
- [NIXOS](./install/linux/NIXOS.md)
|
||||
- [OTHERS](./install/linux/OTHERS.md)
|
||||
- [UBUNTU](./install/linux/UBUNTU.md)
|
||||
@ -37,9 +39,15 @@
|
||||
- [How to use Follower NPCs](tutorials/how_to_follower_npc.md)
|
||||
- [Time-Based Encounters](tutorials/how_to_time_of_day_encounters.md)
|
||||
- [How to use Trainer Party Pools](tutorials/how_to_trainer_party_pool.md)
|
||||
- [How to Apricorn Tree](tutorials/how_to_apricorn_tree.md)
|
||||
- [How to Namebox](tutorials/how_to_namebox.md)
|
||||
- [Vs. Seeker](tutorials/vs_seeker.md)
|
||||
- [Changelog](./CHANGELOG.md)
|
||||
- [1.14.x]()
|
||||
- [Version 1.14.1](changelogs/1.14.x/1.14.1.md)
|
||||
- [Version 1.14.0](changelogs/1.14.x/1.14.0.md)
|
||||
- [1.13.x]()
|
||||
- [Version 1.13.4](changelogs/1.13.x/1.13.4.md)
|
||||
- [Version 1.13.3](changelogs/1.13.x/1.13.3.md)
|
||||
- [Version 1.13.2](changelogs/1.13.x/1.13.2.md)
|
||||
- [Version 1.13.1](changelogs/1.13.x/1.13.1.md)
|
||||
|
||||
@ -121,7 +121,7 @@
|
||||
- Added option to disable object event shadows
|
||||
- Added option to turn DNS on or off, `OW_ENABLE_DNS`
|
||||
- Added option to for vanilla shadow behaviour, `OW_OBJECT_VANILLA_SHADOWS`
|
||||
- Scripts containing consecutive `removeobject <object> and `addobject <object>` needs a `delay 1` between the commands.
|
||||
- Scripts containing consecutive `removeobject <object>` and `addobject <object>` needs a `delay 1` between the commands.
|
||||
```diff
|
||||
removeobject MY_OBJECT
|
||||
+ delay 1
|
||||
|
||||
213
docs/changelogs/1.13.x/1.13.4.md
Normal file
@ -0,0 +1,213 @@
|
||||
```md
|
||||
## How to update
|
||||
- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`.
|
||||
- Once you have your remote set up, run the command `git pull RHH expansion/1.13.4
|
||||
`.
|
||||
```
|
||||
|
||||
|
||||
## 🧬 General 🧬
|
||||
### Changed
|
||||
* 1.13.3 release by @hedara90 in [#8109](https://github.com/rh-hideout/pokeemerald-expansion/pull/8109)
|
||||
* Adds an auto-generated include file of script commands by @FosterProgramming in [#8156](https://github.com/rh-hideout/pokeemerald-expansion/pull/8156)
|
||||
* Adjust label workflow to only run if PR is approved by @hedara90 in [#8183](https://github.com/rh-hideout/pokeemerald-expansion/pull/8183)
|
||||
* Add include/constants/script_commands.h to gitignore by @AlexOn1ine in [#8169](https://github.com/rh-hideout/pokeemerald-expansion/pull/8169)
|
||||
* add fdeblasio as a contributor for code by @allcontributors[bot] in [#8200](https://github.com/rh-hideout/pokeemerald-expansion/pull/8200)
|
||||
* Adjust Canceler naming to contain only one l by @AlexOn1ine in [#8258](https://github.com/rh-hideout/pokeemerald-expansion/pull/8258)
|
||||
* Pret merge (16th of November, 2025) by @AlexOn1ine in [#8262](https://github.com/rh-hideout/pokeemerald-expansion/pull/8262)
|
||||
* *.party: text with lfs by @mrgriffin in [#8320](https://github.com/rh-hideout/pokeemerald-expansion/pull/8320)
|
||||
* Fedora install instructions by @estellarc in [#8355](https://github.com/rh-hideout/pokeemerald-expansion/pull/8355)
|
||||
* Indent unintented if statement by @hedara90 in [#8367](https://github.com/rh-hideout/pokeemerald-expansion/pull/8367)
|
||||
|
||||
### Fixed
|
||||
* Update mdbook to v0.5.0-beta.1 by @rayrobdod in [#8133](https://github.com/rh-hideout/pokeemerald-expansion/pull/8133)
|
||||
* Fix wild_encounters script not closing arrays properly by @FosterProgramming in [#8123](https://github.com/rh-hideout/pokeemerald-expansion/pull/8123)
|
||||
* Fix missing FREE_MATCH_CALL by @FosterProgramming in [#8171](https://github.com/rh-hideout/pokeemerald-expansion/pull/8171)
|
||||
* Fix scroll prompt sometimes being off-screen with automatic line breaks by @hedara90 in [#8182](https://github.com/rh-hideout/pokeemerald-expansion/pull/8182)
|
||||
* Fix gcc11 again by @AsparagusEduardo in [#8188](https://github.com/rh-hideout/pokeemerald-expansion/pull/8188)
|
||||
* Fixed decompression error reporter OOB window creation by @hedara90 in [#8199](https://github.com/rh-hideout/pokeemerald-expansion/pull/8199)
|
||||
* Fix error when compiling with P_FUSION_FORMS disabled by @cawtds in [#8298](https://github.com/rh-hideout/pokeemerald-expansion/pull/8298)
|
||||
* Fix compile on gcc11 by @AlexOn1ine in [#8300](https://github.com/rh-hideout/pokeemerald-expansion/pull/8300)
|
||||
* Fix debug battle flag never being cleared by @FosterProgramming in [#8357](https://github.com/rh-hideout/pokeemerald-expansion/pull/8357)
|
||||
|
||||
## 🗺️ Overworld 🗺️
|
||||
### Changed
|
||||
* Add additional comment explaing map name popup transparency side-effects by @FosterProgramming in [#8117](https://github.com/rh-hideout/pokeemerald-expansion/pull/8117)
|
||||
|
||||
### Fixed
|
||||
* Fix berry blender not computing flavor correctly by @FosterProgramming in [#8113](https://github.com/rh-hideout/pokeemerald-expansion/pull/8113)
|
||||
* Allow vs seekers to work with script not starting with trainerbattle by @FosterProgramming in [#8062](https://github.com/rh-hideout/pokeemerald-expansion/pull/8062)
|
||||
- VS seeker now work with trainers who don't start with trainer_battle. You can use `vsseeker_rematchid TRAINER_ID` to indicate that this NPC is a battling trainer and the game will fetch the appropriate rematch if necessary. ` vsseeker_rematchid` work like a `cant_see_if_trainerflag_set` with additional functionality to handle vs seeker.
|
||||
All NPCs who don't start with either `vsseeker_rematchid` or `trainerbattle` will show as "X"/unmatchable by the vs seeker, so non-rematchable trainer who do not start with `trainerbattle may "lie" and not show an excalmation mark showing they haven't been fought yet. This can be fixed by including a `vsseeker_rematchid` for them too.
|
||||
* Fix grade in summary screen not accounting for 26 IV by @FosterProgramming in [#8157](https://github.com/rh-hideout/pokeemerald-expansion/pull/8157)
|
||||
* Fix match call regression by @FosterProgramming in [#8227](https://github.com/rh-hideout/pokeemerald-expansion/pull/8227)
|
||||
* Fix mew sprite not appearing correctly by @FosterProgramming in [#8235](https://github.com/rh-hideout/pokeemerald-expansion/pull/8235)
|
||||
* Fix wrong palette for types sprites in hgss dex after catching mon by @FosterProgramming in [#8153](https://github.com/rh-hideout/pokeemerald-expansion/pull/8153)
|
||||
* Fix mirage tower ceiling crumble color by @FosterProgramming in [#8081](https://github.com/rh-hideout/pokeemerald-expansion/pull/8081)
|
||||
* Fix light flickering when different types of light sprite are present by @FosterProgramming in [#8043](https://github.com/rh-hideout/pokeemerald-expansion/pull/8043)
|
||||
- Light intensity of neon signs was reduced to avoid conflicts with other light sources
|
||||
- Fix flickering when both neon signs and light ball are present on screen
|
||||
* Bug Fix: NPC Followers not working on slow sideways stairs by @Bivurnum in [#8257](https://github.com/rh-hideout/pokeemerald-expansion/pull/8257)
|
||||
* Fix not enough memory being allocated when moves load background in contests by @FosterProgramming in [#8284](https://github.com/rh-hideout/pokeemerald-expansion/pull/8284)
|
||||
* Make MON_DATA_NICKNAME10 return a 10 character string by @FosterProgramming in [#8291](https://github.com/rh-hideout/pokeemerald-expansion/pull/8291)
|
||||
- Fix bug where interviews would print bad data in their string
|
||||
* Fix game freeze when trainers try to walk on sideway stairs by @FosterProgramming in [#8316](https://github.com/rh-hideout/pokeemerald-expansion/pull/8316)
|
||||
* Fix tossing items applying to the wrong stack by @FosterProgramming in [#8282](https://github.com/rh-hideout/pokeemerald-expansion/pull/8282)
|
||||
* Prevent moves to be changed when choosing half party by @FosterProgramming in [#8336](https://github.com/rh-hideout/pokeemerald-expansion/pull/8336)
|
||||
|
||||
## 🐉 Pokémon 🐉
|
||||
### Changed
|
||||
* Fix Kyurem typo in swap move tables by @Bassoonian in [#8139](https://github.com/rh-hideout/pokeemerald-expansion/pull/8139)
|
||||
* Fix typo in Voltorb-Hisui pokedex entry by @PhallenTree in [#8143](https://github.com/rh-hideout/pokeemerald-expansion/pull/8143)
|
||||
* Fix some followers sprites by @estellarc in [#8208](https://github.com/rh-hideout/pokeemerald-expansion/pull/8208)
|
||||
|
||||
## ⚔️ Battle General ⚔️
|
||||
### Changed
|
||||
* Clean up redundant todo by @AlexOn1ine in [#8094](https://github.com/rh-hideout/pokeemerald-expansion/pull/8094)
|
||||
* Powder Move blocking cleanup by @PhallenTree in [#8194](https://github.com/rh-hideout/pokeemerald-expansion/pull/8194)
|
||||
* Restored encourageEncore flag to non-volatile status effects by @AsparagusEduardo in [#8387](https://github.com/rh-hideout/pokeemerald-expansion/pull/8387)
|
||||
|
||||
### Fixed
|
||||
* Allow to send active mon to PC when capturing a Pokemon by @FosterProgramming in [#8111](https://github.com/rh-hideout/pokeemerald-expansion/pull/8111)
|
||||
* Fix transform not loading the correct sprites when facing shiny or unown by @FosterProgramming in [#8146](https://github.com/rh-hideout/pokeemerald-expansion/pull/8146)
|
||||
* Fixes Receiver not immediately activating copied abilities by @PhallenTree in [#8162](https://github.com/rh-hideout/pokeemerald-expansion/pull/8162)
|
||||
* Fix destiny knot behavior and add tests by @FosterProgramming in [#8174](https://github.com/rh-hideout/pokeemerald-expansion/pull/8174)
|
||||
* Fix recharge moves + add recharge move tests by @FosterProgramming in [#8181](https://github.com/rh-hideout/pokeemerald-expansion/pull/8181)
|
||||
* Fixes Magician for spread moves by @AlexOn1ine in [#8170](https://github.com/rh-hideout/pokeemerald-expansion/pull/8170)
|
||||
* Fix tera tint not applying on activation by @FosterProgramming in [#8135](https://github.com/rh-hideout/pokeemerald-expansion/pull/8135)
|
||||
* Fixes wrongly assigned count for Semi Invulnerable state by @AlexOn1ine in [#8175](https://github.com/rh-hideout/pokeemerald-expansion/pull/8175)
|
||||
* Fixes Drain Punch / Parental Bond / Scale Shot interaction by @AlexOn1ine in [#8198](https://github.com/rh-hideout/pokeemerald-expansion/pull/8198)
|
||||
* Fix wrong ditto sprite on capture by @FosterProgramming in [#8226](https://github.com/rh-hideout/pokeemerald-expansion/pull/8226)
|
||||
* Fixed an issue related to same turn Encore targeting by @LinathanZel in [#8230](https://github.com/rh-hideout/pokeemerald-expansion/pull/8230)
|
||||
* Fixes Shell Trap not activating on contact but no damage by @AlexOn1ine in [#8243](https://github.com/rh-hideout/pokeemerald-expansion/pull/8243)
|
||||
* Fix Magic Coat reflecting hazard moves incorrectly when used by a partner by @moostoet in [#8272](https://github.com/rh-hideout/pokeemerald-expansion/pull/8272)
|
||||
- Magic Coat now properly reflects hazard moves from either slot in double battles.
|
||||
* Shell Trap tests and Fix for Encore interaction by @AlexOn1ine in [#8268](https://github.com/rh-hideout/pokeemerald-expansion/pull/8268)
|
||||
* Fix max mushroom unable to be selected when one stat is maxed by @FosterProgramming in [#8287](https://github.com/rh-hideout/pokeemerald-expansion/pull/8287)
|
||||
* Block selecting x items when contrary pokemon are at minimum stages by @FosterProgramming in [#8288](https://github.com/rh-hideout/pokeemerald-expansion/pull/8288)
|
||||
* Fix Fur Coat affecting confusion self-damage by @moostoet in [#8267](https://github.com/rh-hideout/pokeemerald-expansion/pull/8267)
|
||||
- Fix confusion self-damage ignoring defense/attack abilities such as Fur Coat.
|
||||
* Fixes End Turn Speed Order by @AlexOn1ine in [#8289](https://github.com/rh-hideout/pokeemerald-expansion/pull/8289)
|
||||
* Make switchout abilities trigger after a pokemon has returned to its ball by @FosterProgramming in [#8304](https://github.com/rh-hideout/pokeemerald-expansion/pull/8304)
|
||||
* Fix Shed Shell allowing fleeing/teleporting and Smoke Ball failing to guarantee escape by @moostoet in [#8286](https://github.com/rh-hideout/pokeemerald-expansion/pull/8286)
|
||||
* Fix bug where defiant/competitive would pass their stat change to the next target by @FosterProgramming in [#8312](https://github.com/rh-hideout/pokeemerald-expansion/pull/8312)
|
||||
* Fix max move message against semi invulnerable target by @FosterProgramming in [#8313](https://github.com/rh-hideout/pokeemerald-expansion/pull/8313)
|
||||
* Fixes Neutralizing Gas displaying message when exiting with multiple users by @PhallenTree in [#8318](https://github.com/rh-hideout/pokeemerald-expansion/pull/8318)
|
||||
* Fix Kings Rock not being ignored by flinch moves by @AlexOn1ine in [#8327](https://github.com/rh-hideout/pokeemerald-expansion/pull/8327)
|
||||
* Fix Protosynthesis stat boosts ignoring speed drops by @moostoet in [#8277](https://github.com/rh-hideout/pokeemerald-expansion/pull/8277)
|
||||
- Protosynthesis and Quark Drive now recalculate their boosted stat when Speed is lowered or Neutralizing Gas temporarily disables the ability.
|
||||
* Fix switch-in abilities not triggering on revive by @FosterProgramming in [#8293](https://github.com/rh-hideout/pokeemerald-expansion/pull/8293)
|
||||
* More Neutralizing Gas cleanup by @PhallenTree in [#8335](https://github.com/rh-hideout/pokeemerald-expansion/pull/8335)
|
||||
* Fix cure status item effect not working properly in doubles by @FosterProgramming in [#8339](https://github.com/rh-hideout/pokeemerald-expansion/pull/8339)
|
||||
* Fix infinite confusion (berserk gene) not being cured by cure_status bag items by @FosterProgramming in [#8343](https://github.com/rh-hideout/pokeemerald-expansion/pull/8343)
|
||||
* Fix `B_PHYSICAL_SPECIAL_SPLIT` when set to Gen 4 by @AsparagusEduardo in [#8348](https://github.com/rh-hideout/pokeemerald-expansion/pull/8348)
|
||||
* Refactor Beat Up handling for Gen 3/4 defaults, fix crit check, and expand test coverage by @moostoet in [#8307](https://github.com/rh-hideout/pokeemerald-expansion/pull/8307)
|
||||
- BUGFIX: Beat Up (`GEN =< 5`) now no longer doubles its damage on every non-critical hit
|
||||
- Beat Up now precomputes eligible party members/strikers for consistent multi-hit resolution and expanded tests covering both pre-Gen5 and Gen5+ rules
|
||||
* Fix substitute graphic not disappearing after using a pivor move by @FosterProgramming in [#8340](https://github.com/rh-hideout/pokeemerald-expansion/pull/8340)
|
||||
* Fixes Beak Blast burning after Beak Blast was already used by @PhallenTree in [#8361](https://github.com/rh-hideout/pokeemerald-expansion/pull/8361)
|
||||
* Fix Roar not being recorded for LastUsedMove by @AlexOn1ine in [#8362](https://github.com/rh-hideout/pokeemerald-expansion/pull/8362)
|
||||
* Fixes Neutralizing Gas / Mold Breaker / Dragon Darts interaction by @AlexOn1ine in [#8389](https://github.com/rh-hideout/pokeemerald-expansion/pull/8389)
|
||||
* Fixes battle tv overwriting damage values by @AlexOn1ine in [#8378](https://github.com/rh-hideout/pokeemerald-expansion/pull/8378)
|
||||
* Fix ball cycling not working properly when the same ball take multiple bag slots by @FosterProgramming in [#8163](https://github.com/rh-hideout/pokeemerald-expansion/pull/8163)
|
||||
- Two new defines added to items.h `FIRST_BALL_INDEX` and `LAST_BALL_INDEX`
|
||||
- We now assume the indexes of all regular ball usable in wild battle have consecutive indexes and some features (throw ball shortcut in battle) might break if not true
|
||||
|
||||
## 🤹 Moves 🤹
|
||||
### Changed
|
||||
* Fixed Uproar's description and spacing by @fdeblasio in [#8187](https://github.com/rh-hideout/pokeemerald-expansion/pull/8187)
|
||||
* Clean usage of gMovesInfo by @AsparagusEduardo in [#8234](https://github.com/rh-hideout/pokeemerald-expansion/pull/8234)
|
||||
- Also, fixed an OOB in `HasMoveThatChangesKOThreshold`
|
||||
* Make tailwind anim mirror based on side by @FosterProgramming in [#8249](https://github.com/rh-hideout/pokeemerald-expansion/pull/8249)
|
||||
* Make rainbow effect anim change based on side by @FosterProgramming in [#8269](https://github.com/rh-hideout/pokeemerald-expansion/pull/8269)
|
||||
- Art assets by [SonikkuA-DatH](https://github.com/SonikkuA-DatH)
|
||||
* Update Lash Out description to clarify its effect by @PhallenTree in [#8372](https://github.com/rh-hideout/pokeemerald-expansion/pull/8372)
|
||||
|
||||
### Fixed
|
||||
* Fix some move animations leaking VRAM and freeing already freed tags by @hedara90 in [#7977](https://github.com/rh-hideout/pokeemerald-expansion/pull/7977)
|
||||
|
||||
## 🧶 Items 🧶
|
||||
### Fixed
|
||||
* Allow vs seekers to work with script not starting with trainerbattle by @FosterProgramming in [#8062](https://github.com/rh-hideout/pokeemerald-expansion/pull/8062)
|
||||
- VS seeker now work with trainers who don't start with trainer_battle. You can use `vsseeker_rematchid TRAINER_ID` to indicate that this NPC is a battling trainer and the game will fetch the appropriate rematch if necessary. ` vsseeker_rematchid` work like a `cant_see_if_trainerflag_set` with additional functionality to handle vs seeker.
|
||||
All NPCs who don't start with either `vsseeker_rematchid` or `trainerbattle` will show as "X"/unmatchable by the vs seeker, so non-rematchable trainer who do not start with `trainerbattle may "lie" and not show an excalmation mark showing they haven't been fought yet. This can be fixed by including a `vsseeker_rematchid` for them too.
|
||||
|
||||
## 🤖 Battle AI 🤖
|
||||
### Fixed
|
||||
* fix (AI scoring): shield dust considerations, IsMoveEffectInMinus self effect edge case, hitsToKO zero-case consideration by @ghostyboyy97 in [#8126](https://github.com/rh-hideout/pokeemerald-expansion/pull/8126)
|
||||
- The AI now sees Shield Dust on the player's Pokemon correctly
|
||||
- The AI now sees self-targeted positive effect boosts correctly
|
||||
* fix (contrary): Contrary stat down handling in MoveEffectInPlus by @ghostyboyy97 in [#8165](https://github.com/rh-hideout/pokeemerald-expansion/pull/8165)
|
||||
- When comparing positive move effects in damaging move comparison, the AI will correctly see moves like Leaf Storm as beneficial if their Pokemon has Contrary.
|
||||
* Added check for parental bond killing through sturdy by @MaximeGr00 in [#8206](https://github.com/rh-hideout/pokeemerald-expansion/pull/8206)
|
||||
AI now accounts for Parental Bond when checking if a move can ko the player through sturdy/focus sash.
|
||||
* Fix AI_FLAG_DOUBLE_ACE_POKEMON sending duplicate Pokémon in doubles by @moostoet in [#8279](https://github.com/rh-hideout/pokeemerald-expansion/pull/8279)
|
||||
- Fixed AI_FLAG_DOUBLE_ACE_POKEMON trainers resending the same Pokémon after a KO instead of their two Ace Pokémon in double battles.
|
||||
* Fix switchin KO threshold logic by @Pawkkie in [#8370](https://github.com/rh-hideout/pokeemerald-expansion/pull/8370)
|
||||
|
||||
## 🧹 Other Cleanup 🧹
|
||||
* Clean up redundant todo by @AlexOn1ine in [#8094](https://github.com/rh-hideout/pokeemerald-expansion/pull/8094)
|
||||
* Fix Kyurem typo in swap move tables by @Bassoonian in [#8139](https://github.com/rh-hideout/pokeemerald-expansion/pull/8139)
|
||||
* Fix typo in Voltorb-Hisui pokedex entry by @PhallenTree in [#8143](https://github.com/rh-hideout/pokeemerald-expansion/pull/8143)
|
||||
* Fixed Uproar's description and spacing by @fdeblasio in [#8187](https://github.com/rh-hideout/pokeemerald-expansion/pull/8187)
|
||||
* Add include/constants/script_commands.h to gitignore by @AlexOn1ine in [#8169](https://github.com/rh-hideout/pokeemerald-expansion/pull/8169)
|
||||
* Powder Move blocking cleanup by @PhallenTree in [#8194](https://github.com/rh-hideout/pokeemerald-expansion/pull/8194)
|
||||
* Clean usage of gMovesInfo by @AsparagusEduardo in [#8234](https://github.com/rh-hideout/pokeemerald-expansion/pull/8234)
|
||||
- Also, fixed an OOB in `HasMoveThatChangesKOThreshold`
|
||||
* Adjust Canceler naming to contain only one l by @AlexOn1ine in [#8258](https://github.com/rh-hideout/pokeemerald-expansion/pull/8258)
|
||||
* Fix wrongly renamed logs by @AlexOn1ine in [#8264](https://github.com/rh-hideout/pokeemerald-expansion/pull/8264)
|
||||
* Tests for Max Moves already exist by @AlexOn1ine in [#8314](https://github.com/rh-hideout/pokeemerald-expansion/pull/8314)
|
||||
* Use MAP_OFFSET by @estellarc in [#8328](https://github.com/rh-hideout/pokeemerald-expansion/pull/8328)
|
||||
* Fixed broken friendship from items in battle test and added new test for opposite case by @pkmnsnfrn in [#7872](https://github.com/rh-hideout/pokeemerald-expansion/pull/7872)
|
||||
* Indent unintented if statement by @hedara90 in [#8367](https://github.com/rh-hideout/pokeemerald-expansion/pull/8367)
|
||||
* Update Lash Out description to clarify its effect by @PhallenTree in [#8372](https://github.com/rh-hideout/pokeemerald-expansion/pull/8372)
|
||||
* Restored encourageEncore flag to non-volatile status effects by @AsparagusEduardo in [#8387](https://github.com/rh-hideout/pokeemerald-expansion/pull/8387)
|
||||
|
||||
## 🧪 Test Runner 🧪
|
||||
### Added
|
||||
* Prevent EXPECT functions from casting negative numbers into unsigned by @FosterProgramming in [#7866](https://github.com/rh-hideout/pokeemerald-expansion/pull/7866)
|
||||
|
||||
### Changed
|
||||
* Added Soundproof and Bulletproof tests by @AsparagusEduardo in [#8189](https://github.com/rh-hideout/pokeemerald-expansion/pull/8189)
|
||||
* Wrote some missing tests by @AsparagusEduardo in [#8203](https://github.com/rh-hideout/pokeemerald-expansion/pull/8203)
|
||||
* A couple more tests by @AsparagusEduardo in [#8209](https://github.com/rh-hideout/pokeemerald-expansion/pull/8209)
|
||||
* Fixed some failing tests with GEN_LATEST = GEN_5 by @AsparagusEduardo in [#8241](https://github.com/rh-hideout/pokeemerald-expansion/pull/8241)
|
||||
* Add test for mold breaker/ice scales interaction by @FosterProgramming in [#8240](https://github.com/rh-hideout/pokeemerald-expansion/pull/8240)
|
||||
* Yet more tests by @AsparagusEduardo in [#8228](https://github.com/rh-hideout/pokeemerald-expansion/pull/8228)
|
||||
- Added tests for:
|
||||
- Dark Aura
|
||||
- Fairy Aura
|
||||
- Flare Boost
|
||||
- Toxic Boost
|
||||
- Added test names for Flying Press.
|
||||
* Slightly increase headless test speed by modifying animations by @AsparagusEduardo in [#8299](https://github.com/rh-hideout/pokeemerald-expansion/pull/8299)
|
||||
* Make `gTestRunnerHeadless` into a constant outside of tests by @hedara90 in [#8306](https://github.com/rh-hideout/pokeemerald-expansion/pull/8306)
|
||||
* Tests for Max Moves already exist by @AlexOn1ine in [#8314](https://github.com/rh-hideout/pokeemerald-expansion/pull/8314)
|
||||
* Finished fixing tests when setting `GEN_LATEST` to `GEN_5` by @AsparagusEduardo in [#8263](https://github.com/rh-hideout/pokeemerald-expansion/pull/8263)
|
||||
* Wrote missing Fling tests by @AsparagusEduardo in [#8383](https://github.com/rh-hideout/pokeemerald-expansion/pull/8383)
|
||||
|
||||
### Fixed
|
||||
* Fixes difficulty not being restored after tests by @grintoul1 in [#8129](https://github.com/rh-hideout/pokeemerald-expansion/pull/8129)
|
||||
* Reset saveblock data between test runs by @hedara90 in [#8145](https://github.com/rh-hideout/pokeemerald-expansion/pull/8145)
|
||||
* Fix ohko moves ai tests by @FosterProgramming in [#8309](https://github.com/rh-hideout/pokeemerald-expansion/pull/8309)
|
||||
* Fixed broken friendship from items in battle test and added new test for opposite case by @pkmnsnfrn in [#7872](https://github.com/rh-hideout/pokeemerald-expansion/pull/7872)
|
||||
* Add tests to verify aromatherapy is not affected by heal bell config by @FosterProgramming in [#8344](https://github.com/rh-hideout/pokeemerald-expansion/pull/8344)
|
||||
* Pre gen 5 encored move now signals the test engine a move is happening by @FosterProgramming in [#8338](https://github.com/rh-hideout/pokeemerald-expansion/pull/8338)
|
||||
* Refactor Beat Up handling for Gen 3/4 defaults, fix crit check, and expand test coverage by @moostoet in [#8307](https://github.com/rh-hideout/pokeemerald-expansion/pull/8307)
|
||||
- BUGFIX: Beat Up (`GEN =< 5`) now no longer doubles its damage on every non-critical hit
|
||||
- Beat Up now precomputes eligible party members/strikers for consistent multi-hit resolution and expanded tests covering both pre-Gen5 and Gen5+ rules
|
||||
* Fix known failing AI trace test by @FosterProgramming in [#8337](https://github.com/rh-hideout/pokeemerald-expansion/pull/8337)
|
||||
|
||||
## 📚 Documentation 📚
|
||||
* Lock mdbook to v0.4.35 to fix docs not building by @grintoul1 in [#8130](https://github.com/rh-hideout/pokeemerald-expansion/pull/8130)
|
||||
* Add additional comment explaing map name popup transparency side-effects by @FosterProgramming in [#8117](https://github.com/rh-hideout/pokeemerald-expansion/pull/8117)
|
||||
* Fix wrongly renamed logs by @AlexOn1ine in [#8264](https://github.com/rh-hideout/pokeemerald-expansion/pull/8264)
|
||||
* Use MAP_OFFSET by @estellarc in [#8328](https://github.com/rh-hideout/pokeemerald-expansion/pull/8328)
|
||||
* Fedora install instructions by @estellarc in [#8355](https://github.com/rh-hideout/pokeemerald-expansion/pull/8355)
|
||||
|
||||
|
||||
**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.13.3...expansion/1.13.4
|
||||
|
||||
|
||||
<!--Last PR: 8391-->
|
||||
<!--Used to keep track of the last PR merged in case new ones come in before the changelog is done.-->
|
||||
534
docs/changelogs/1.14.x/1.14.0.md
Normal file
@ -0,0 +1,534 @@
|
||||
```md
|
||||
## How to update
|
||||
- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`.
|
||||
- Once you have your remote set up, run the command `git pull RHH expansion/1.14.0
|
||||
`.
|
||||
```
|
||||
|
||||
## 🌋 *REFACTORS* 🌋
|
||||
📜 = Uses a migration script.
|
||||
* Refactors Attackstring and PP deduction by @AlexOn1ine in [#7402](https://github.com/rh-hideout/pokeemerald-expansion/pull/7402)
|
||||
* Attackcanceller fixes and improvements by @AlexOn1ine in [#7698](https://github.com/rh-hideout/pokeemerald-expansion/pull/7698)
|
||||
* Fixes activation order for a couple abilities by @AlexOn1ine in [#7732](https://github.com/rh-hideout/pokeemerald-expansion/pull/7732)
|
||||
* feat: change defines in `constants/abilities.h` to an enum by @khbsd in [#7006](https://github.com/rh-hideout/pokeemerald-expansion/pull/7006)
|
||||
* Item battle effect refactor by @AlexOn1ine in [#7857](https://github.com/rh-hideout/pokeemerald-expansion/pull/7857)
|
||||
* Optimize GetWhichBattlerFasterOrTies by @AlexOn1ine in [#7953](https://github.com/rh-hideout/pokeemerald-expansion/pull/7953)
|
||||
* Decouple passive hp updates from move damage updates by @AlexOn1ine in [#7942](https://github.com/rh-hideout/pokeemerald-expansion/pull/7942)
|
||||
* Make movelist calculations happen during compilation instead of runtime by @FosterProgramming in [#7967](https://github.com/rh-hideout/pokeemerald-expansion/pull/7967)
|
||||
- tmIlliterate flag in speciesInfo changed to teachingType. The options are `DEFAULT_LEARNING`, `TM_ILLITERATE` and `ALL_TEACHABLES`. The first two options match the tmIlliterate = false and tmIlliterate = true while the third one allow a pokemon to learn all teachables similarly to Mew
|
||||
- Reduce EWRAM usage of HGSS dex
|
||||
- Fix pokemon.c needing to be recompiled everytime a .inc file was changed
|
||||
- P_TUTOR_MOVES_ARRAY has been removed (now always true when HGSS dex is enabled)
|
||||
- Mew move teaching exception and univeral moves are now coded in the JSON file `src/data/pokemon/special_movesets.json` under the name signatureTeachables and universalMoves
|
||||
* Grudge, Destiny Bond and FaintBattler refactor by @AlexOn1ine in [#8072](https://github.com/rh-hideout/pokeemerald-expansion/pull/8072)
|
||||
* Increase number of additional move effects by @AlexOn1ine in [#8149](https://github.com/rh-hideout/pokeemerald-expansion/pull/8149)
|
||||
* 📜 update: time-based encounters system tuneup and @cawtds' header script by @khbsd in [#8158](https://github.com/rh-hideout/pokeemerald-expansion/pull/8158)
|
||||
* Refactor random functions to be runner specific by @FosterProgramming in [#7816](https://github.com/rh-hideout/pokeemerald-expansion/pull/7816)
|
||||
|
||||
## 🧬 General 🧬
|
||||
### Added
|
||||
* Battle debug menu: highlight chosen action and change separator by @grintoul1 in [#7709](https://github.com/rh-hideout/pokeemerald-expansion/pull/7709)
|
||||
* Implement `field_name_box` by @mudskipper13 in [#7697](https://github.com/rh-hideout/pokeemerald-expansion/pull/7697)
|
||||
* Add new actions to Debug Menu by @FosterProgramming in [#7837](https://github.com/rh-hideout/pokeemerald-expansion/pull/7837)
|
||||
- Adds an action to change a Pokemon ability in the party side of the Debug Menu
|
||||
- Adds an action to set the friendship of a Pokemon in the party side of the Debug Menu
|
||||
|
||||
* Display TM/HM's move name in the debug menu by @estellarc in [#7994](https://github.com/rh-hideout/pokeemerald-expansion/pull/7994)
|
||||
|
||||
### Changed
|
||||
* Text rendering optimizations by @mrgriffin in [#7497](https://github.com/rh-hideout/pokeemerald-expansion/pull/7497)
|
||||
* Battle debug menu now checks correct parties depending on battler party by @grintoul1 in [#7652](https://github.com/rh-hideout/pokeemerald-expansion/pull/7652)
|
||||
* Add make release target by @jschoeny in [#7296](https://github.com/rh-hideout/pokeemerald-expansion/pull/7296)
|
||||
- Most of what's above. But most importantly, that normal `make` will have all the debug stuff enabled and so releases should be done with `make release`.
|
||||
* Add pool rules for Mega Stones and Z-Crystals by @hedara90 in [#7720](https://github.com/rh-hideout/pokeemerald-expansion/pull/7720)
|
||||
* `field_name_box` smol followup by @mudskipper13 in [#7762](https://github.com/rh-hideout/pokeemerald-expansion/pull/7762)
|
||||
* Added COMPOUND_STRINGs to region_map_entries.h by @fdeblasio in [#7669](https://github.com/rh-hideout/pokeemerald-expansion/pull/7669)
|
||||
* Improve ability/heldEffect access for IsBattlerGrounded func by @AlexOn1ine in [#7753](https://github.com/rh-hideout/pokeemerald-expansion/pull/7753)
|
||||
* Removed `SAVE_TYPE_ERROR_SCREEN` config by @AsparagusEduardo in [#7836](https://github.com/rh-hideout/pokeemerald-expansion/pull/7836)
|
||||
* Give the Coin Case when coins are maxed by @estellarc in [#7973](https://github.com/rh-hideout/pokeemerald-expansion/pull/7973)
|
||||
* Revert HGSS dex and movelist changes by @FosterProgramming in [#8016](https://github.com/rh-hideout/pokeemerald-expansion/pull/8016)
|
||||
* Converts some defines to enums and name unnamed enums by @Bassoonian in [#8019](https://github.com/rh-hideout/pokeemerald-expansion/pull/8019)
|
||||
* Some more documentation and cleanup by @Bassoonian in [#8020](https://github.com/rh-hideout/pokeemerald-expansion/pull/8020)
|
||||
* Even more enums and documentation by @Bassoonian in [#8029](https://github.com/rh-hideout/pokeemerald-expansion/pull/8029)
|
||||
* Add type enum by @Bassoonian in [#8054](https://github.com/rh-hideout/pokeemerald-expansion/pull/8054)
|
||||
* Minor clean up in menu.c by @estellarc in [#8060](https://github.com/rh-hideout/pokeemerald-expansion/pull/8060)
|
||||
* Adds an auto-generated include file of script commands by @FosterProgramming in [#8156](https://github.com/rh-hideout/pokeemerald-expansion/pull/8156)
|
||||
* Master to upcoming merge 20251107 by @grintoul1 in [#8167](https://github.com/rh-hideout/pokeemerald-expansion/pull/8167)
|
||||
* porymap default settings by @FosterProgramming in [#8038](https://github.com/rh-hideout/pokeemerald-expansion/pull/8038)
|
||||
- WARNING: A change was made for new projects map files to match poymap output. This change might break people's projects with existing versions of those files. The files affected are ` data/maps/map_groups.json`, `src/data/heal_locations.json`, `src/data/region_map/region_map_sections.json` and `src/data/wild_encounters.json`
|
||||
If you have an issue with one of those files during the merging process, you should run this command
|
||||
`git checkout HEAD -- <filename>`
|
||||
which will reset the file to the version before you initiated the merge
|
||||
* Adjust label workflow to only run if PR is approved by @hedara90 in [#8183](https://github.com/rh-hideout/pokeemerald-expansion/pull/8183)
|
||||
* Add include/constants/script_commands.h to gitignore by @AlexOn1ine in [#8169](https://github.com/rh-hideout/pokeemerald-expansion/pull/8169)
|
||||
* Converted landmarks to COMPOUND_STRINGs by @fdeblasio in [#8205](https://github.com/rh-hideout/pokeemerald-expansion/pull/8205)
|
||||
* Added contest config and cleaned up contest category variables by @fdeblasio in [#8178](https://github.com/rh-hideout/pokeemerald-expansion/pull/8178)
|
||||
* Moves name box configs into a new file by @AlexOn1ine in [#8250](https://github.com/rh-hideout/pokeemerald-expansion/pull/8250)
|
||||
* Converted options text into COMPOUND_STRINGs by @fdeblasio in [#8248](https://github.com/rh-hideout/pokeemerald-expansion/pull/8248)
|
||||
* Adjust Canceler naming to contain only one l by @AlexOn1ine in [#8258](https://github.com/rh-hideout/pokeemerald-expansion/pull/8258)
|
||||
* Pret merge (16th of November, 2025) by @AlexOn1ine in [#8262](https://github.com/rh-hideout/pokeemerald-expansion/pull/8262)
|
||||
* Fixed bKGD for last_used_ball_r_cycle.png by @montmoguri in [#8261](https://github.com/rh-hideout/pokeemerald-expansion/pull/8261)
|
||||
* Small bg drawing optimization by @estellarc in [#8259](https://github.com/rh-hideout/pokeemerald-expansion/pull/8259)
|
||||
* Added missing 'coolness' string by @fdeblasio in [#8274](https://github.com/rh-hideout/pokeemerald-expansion/pull/8274)
|
||||
* *.party: text with lfs by @mrgriffin in [#8320](https://github.com/rh-hideout/pokeemerald-expansion/pull/8320)
|
||||
* Fedora install instructions by @estellarc in [#8355](https://github.com/rh-hideout/pokeemerald-expansion/pull/8355)
|
||||
* Indent unintented if statement by @hedara90 in [#8367](https://github.com/rh-hideout/pokeemerald-expansion/pull/8367)
|
||||
|
||||
### Fixed
|
||||
* Added brackets where needed by @hedara90 in [#7781](https://github.com/rh-hideout/pokeemerald-expansion/pull/7781)
|
||||
* Fix shiny stars being freed before shiny animation was played by @FosterProgramming in [#7917](https://github.com/rh-hideout/pokeemerald-expansion/pull/7917)
|
||||
- Fixes shiny sparks in battle not appearing properly in rare circumstances (more common with various speedup options)
|
||||
* Make movelist calculations happen during compilation instead of runtime by @FosterProgramming in [#7967](https://github.com/rh-hideout/pokeemerald-expansion/pull/7967)
|
||||
- tmIlliterate flag in speciesInfo changed to teachingType. The options are `DEFAULT_LEARNING`, `TM_ILLITERATE` and `ALL_TEACHABLES`. The first two options match the tmIlliterate = false and tmIlliterate = true while the third one allow a pokemon to learn all teachables similarly to Mew
|
||||
- Reduce EWRAM usage of HGSS dex
|
||||
- Fix pokemon.c needing to be recompiled everytime a .inc file was changed
|
||||
- P_TUTOR_MOVES_ARRAY has been removed (now always true when HGSS dex is enabled)
|
||||
- Mew move teaching exception and univeral moves are now coded in the JSON file `src/data/pokemon/special_movesets.json` under the name signatureTeachables and universalMoves
|
||||
* Fix unhandled config in hgss dex by @FosterProgramming in [#7999](https://github.com/rh-hideout/pokeemerald-expansion/pull/7999)
|
||||
* Fixes compilation error due to #8002 by @AlexOn1ine in [#8050](https://github.com/rh-hideout/pokeemerald-expansion/pull/8050)
|
||||
* Fix compile issue in gcc 11 by @AsparagusEduardo in [#8095](https://github.com/rh-hideout/pokeemerald-expansion/pull/8095)
|
||||
* Update mdbook to v0.5.0-beta.1 by @rayrobdod in [#8133](https://github.com/rh-hideout/pokeemerald-expansion/pull/8133)
|
||||
* Fix build failing with NOOPT=1 due to discarding static data. by @Ultimate-Bob in [#8053](https://github.com/rh-hideout/pokeemerald-expansion/pull/8053)
|
||||
* Fix wild_encounters script not closing arrays properly by @FosterProgramming in [#8123](https://github.com/rh-hideout/pokeemerald-expansion/pull/8123)
|
||||
* Fix missing FREE_MATCH_CALL by @FosterProgramming in [#8171](https://github.com/rh-hideout/pokeemerald-expansion/pull/8171)
|
||||
* Again fixed compiling in GCC11 by @AsparagusEduardo in [#8184](https://github.com/rh-hideout/pokeemerald-expansion/pull/8184)
|
||||
* Fix scroll prompt sometimes being off-screen with automatic line breaks by @hedara90 in [#8182](https://github.com/rh-hideout/pokeemerald-expansion/pull/8182)
|
||||
* Fix gcc11 again by @AsparagusEduardo in [#8188](https://github.com/rh-hideout/pokeemerald-expansion/pull/8188)
|
||||
* Fixed decompression error reporter OOB window creation by @hedara90 in [#8199](https://github.com/rh-hideout/pokeemerald-expansion/pull/8199)
|
||||
* Fix error when compiling with P_FUSION_FORMS disabled by @cawtds in [#8298](https://github.com/rh-hideout/pokeemerald-expansion/pull/8298)
|
||||
* Fix compile on gcc11 by @AlexOn1ine in [#8300](https://github.com/rh-hideout/pokeemerald-expansion/pull/8300)
|
||||
* Fix debug battle flag never being cleared by @FosterProgramming in [#8357](https://github.com/rh-hideout/pokeemerald-expansion/pull/8357)
|
||||
|
||||
## 🗺️ Overworld 🗺️
|
||||
### Added
|
||||
* New Feature: ORAS Dowsing by @Bivurnum in [#7211](https://github.com/rh-hideout/pokeemerald-expansion/pull/7211)
|
||||
- Added ORAS Dowsing Machine mechanics.
|
||||
* feat: adds stevebeller's instant text and MandL27's faster text printing by @khbsd in [#8063](https://github.com/rh-hideout/pokeemerald-expansion/pull/8063)
|
||||
* Implement GSC berry/apricorn tree functionality. by @GraionDilach in [#7777](https://github.com/rh-hideout/pokeemerald-expansion/pull/7777)
|
||||
- Implement GSC berry/apricorn tree functionality.
|
||||
|
||||
### Changed
|
||||
* Trainers trigger in local id order by @grintoul1 in [#7424](https://github.com/rh-hideout/pokeemerald-expansion/pull/7424)
|
||||
* Added regional form evolution condition by @AsparagusEduardo in [#6990](https://github.com/rh-hideout/pokeemerald-expansion/pull/6990)
|
||||
* Update fishing odds to match official games by @FosterProgramming in [#7574](https://github.com/rh-hideout/pokeemerald-expansion/pull/7574)
|
||||
- (BREAKING!) Fishing config has been moved to a new file. If you did not use default config fishing, make sure to reapply your config settings in the new file.
|
||||
- (WARNING!) If you wrote custom code that calls one the following function, you may need to include `fishing.h` to get access to them(their functionaly was not affected):
|
||||
- `StartFishing`previously defined in `field_player_avatar.h`
|
||||
- `CalculateChainFishingShinyRolls` previously_defined in `wild_encounter.h`
|
||||
- Adds a new config option to increase fish bite chance in morning and evening to match XY
|
||||
- Modifies the way fishing "proximity boost" is calculated to match XY
|
||||
- Fix Sticky Hold / Suction Cups bug which were increasing odds the wrong way
|
||||
* Add additional comment explaing map name popup transparency side-effects by @FosterProgramming in [#8117](https://github.com/rh-hideout/pokeemerald-expansion/pull/8117)
|
||||
* update: time-based encounters system tuneup and @cawtds' header script by @khbsd in [#8158](https://github.com/rh-hideout/pokeemerald-expansion/pull/8158)
|
||||
* Sets instant text speed flag to false by default by @khbsd in [#8179](https://github.com/rh-hideout/pokeemerald-expansion/pull/8179)
|
||||
* Follower NPCs no longer move if the player would be forced back onto the same tile. by @Bivurnum in [#8260](https://github.com/rh-hideout/pokeemerald-expansion/pull/8260)
|
||||
- Follower NPCs no longer move if the player would be forced back onto the same tile
|
||||
|
||||
### Fixed
|
||||
* CheckForTrainersWantingBattle trainerObjects array now initialized to zero and loop now starts at zero by @grintoul1 in [#7765](https://github.com/rh-hideout/pokeemerald-expansion/pull/7765)
|
||||
* Bugfix `setspeaker` Namebox not beign drawn correctly by @estellarc in [#7771](https://github.com/rh-hideout/pokeemerald-expansion/pull/7771)
|
||||
* Banned species list by @FosterProgramming in [#8003](https://github.com/rh-hideout/pokeemerald-expansion/pull/8003)
|
||||
- Add a window displaying caught banned species list in the Battle Frontier instead of the string detailing all the is
|
||||
* Fix namebox bug when reloading the map mid-script by @FosterProgramming in [#8073](https://github.com/rh-hideout/pokeemerald-expansion/pull/8073)
|
||||
* Fix copyvar instead of setvar causing issue with LTO by @FosterProgramming in [#8097](https://github.com/rh-hideout/pokeemerald-expansion/pull/8097)
|
||||
* Fix berry blender not computing flavor correctly by @FosterProgramming in [#8113](https://github.com/rh-hideout/pokeemerald-expansion/pull/8113)
|
||||
* Allow vs seekers to work with script not starting with trainerbattle by @FosterProgramming in [#8062](https://github.com/rh-hideout/pokeemerald-expansion/pull/8062)
|
||||
- VS seeker now work with trainers who don't start with trainer_battle. You can use `vsseeker_rematchid TRAINER_ID` to indicate that this NPC is a battling trainer and the game will fetch the appropriate rematch if necessary. ` vsseeker_rematchid` work like a `cant_see_if_trainerflag_set` with additional functionality to handle vs seeker.
|
||||
- All NPCs who don't start with either `vsseeker_rematchid` or `trainerbattle` will show as "X"/unmatchable by the vs seeker, so non-rematchable trainer who do not start with `trainerbattle may "lie" and not show an excalmation mark showing they haven't been fought yet. This can be fixed by including a `vsseeker_rematchid` for them too.
|
||||
* Fix grade in summary screen not accounting for 26 IV by @FosterProgramming in [#8157](https://github.com/rh-hideout/pokeemerald-expansion/pull/8157)
|
||||
* Fix match call regression by @FosterProgramming in [#8227](https://github.com/rh-hideout/pokeemerald-expansion/pull/8227)
|
||||
* Fix mew sprite not appearing correctly by @FosterProgramming in [#8235](https://github.com/rh-hideout/pokeemerald-expansion/pull/8235)
|
||||
* Fix wrong palette for types sprites in hgss dex after catching mon by @FosterProgramming in [#8153](https://github.com/rh-hideout/pokeemerald-expansion/pull/8153)
|
||||
* Fix Apricorns with OW_SHOW_ITEM_DESCRIPTIONS not off by @hedara90 in [#8253](https://github.com/rh-hideout/pokeemerald-expansion/pull/8253)
|
||||
* Fix mirage tower ceiling crumble color by @FosterProgramming in [#8081](https://github.com/rh-hideout/pokeemerald-expansion/pull/8081)
|
||||
* Fix light flickering when different types of light sprite are present by @FosterProgramming in [#8043](https://github.com/rh-hideout/pokeemerald-expansion/pull/8043)
|
||||
- Light intensity of neon signs was reduced to avoid conflicts with other light sources
|
||||
- Fix flickering when both neon signs and light ball are present on screen
|
||||
* Bug Fix: NPC Followers not working on slow sideways stairs by @Bivurnum in [#8257](https://github.com/rh-hideout/pokeemerald-expansion/pull/8257)
|
||||
- Fixed NPC followers on slow sideways stairs
|
||||
* Fix not enough memory being allocated when moves load background in contests by @FosterProgramming in [#8284](https://github.com/rh-hideout/pokeemerald-expansion/pull/8284)
|
||||
* Make MON_DATA_NICKNAME10 return a 10 character string by @FosterProgramming in [#8291](https://github.com/rh-hideout/pokeemerald-expansion/pull/8291)
|
||||
- Fix bug where interviews would print bad data in their string
|
||||
* Fix game freeze when trainers try to walk on sideway stairs by @FosterProgramming in [#8316](https://github.com/rh-hideout/pokeemerald-expansion/pull/8316)
|
||||
* Fix tossing items applying to the wrong stack by @FosterProgramming in [#8282](https://github.com/rh-hideout/pokeemerald-expansion/pull/8282)
|
||||
* Prevent moves to be changed when choosing half party by @FosterProgramming in [#8336](https://github.com/rh-hideout/pokeemerald-expansion/pull/8336)
|
||||
|
||||
## 🐉 Pokémon 🐉
|
||||
### Added
|
||||
* Add Legends Z-A content by @Bassoonian in [#7935](https://github.com/rh-hideout/pokeemerald-expansion/pull/7935)
|
||||
* To retain compatibility with your new items and species, make sure to move the new additions behind your own additions.
|
||||
* The save block will shift if you have enabled `USE_DEXNAV_SEARCH_LEVELS` (due to the new species) or if `OW_SHOW_ITEM_DESCRIPTIONS` is set to `OW_ITEM_DESCRIPTIONS_FIRST_TIME` (due to the new items).
|
||||
* Move Relearners for TMs, Tutors and Egg moves by @PCG06 in [#8040](https://github.com/rh-hideout/pokeemerald-expansion/pull/8040)
|
||||
- Increased the size of `MAX_RELEARNER_MOVES` to 60 to prevent crashes when viewing Mew.
|
||||
|
||||
### Changed
|
||||
* Nickit & Thievul visual revamp by @purrfectdoodle in [#7689](https://github.com/rh-hideout/pokeemerald-expansion/pull/7689)
|
||||
* Fix Kyurem typo in swap move tables by @Bassoonian in [#8139](https://github.com/rh-hideout/pokeemerald-expansion/pull/8139)
|
||||
* Fix typo in Voltorb-Hisui pokedex entry by @PhallenTree in [#8143](https://github.com/rh-hideout/pokeemerald-expansion/pull/8143)
|
||||
* Fix some followers sprites by @estellarc in [#8208](https://github.com/rh-hideout/pokeemerald-expansion/pull/8208)
|
||||
|
||||
### Fixed
|
||||
* Fix gba sprites trying load non existent female versions by @FosterProgramming in [#7996](https://github.com/rh-hideout/pokeemerald-expansion/pull/7996)
|
||||
- Fixes issues with pokemon getting gender differences in later gens when using gen3 sprite config
|
||||
* GetEggSpecies: Only enabled species by @mrgriffin in [#8221](https://github.com/rh-hideout/pokeemerald-expansion/pull/8221)
|
||||
* Fix compiling using `make debug` by @PCG06 in [#8380](https://github.com/rh-hideout/pokeemerald-expansion/pull/8380)
|
||||
|
||||
## ⚔️ Battle General ⚔️
|
||||
### Added
|
||||
* Config for capture to appear critical if the pokemon is already caught by @FosterProgramming in [#7730](https://github.com/rh-hideout/pokeemerald-expansion/pull/7730)
|
||||
|
||||
### Changed
|
||||
* Separates FRB and FRZ animations by @grintoul1 in [#7611](https://github.com/rh-hideout/pokeemerald-expansion/pull/7611)
|
||||
* Update multiple battle messages by @AsparagusEduardo in [#7529](https://github.com/rh-hideout/pokeemerald-expansion/pull/7529)
|
||||
- Removed unused messages
|
||||
- Changed ability "X prevents Y" to "It doesn't affect X..."
|
||||
- Eg. `"The opposing Snorlax's Immunity prevents poisoning!"`
|
||||
- Removed `B_ABILITY_POP_UP`. Revert commit `b501fe7354bcd957396465c621ae7af5959ac5b0` to undo this.
|
||||
* Refactors Attackstring and PP deduction by @AlexOn1ine in [#7402](https://github.com/rh-hideout/pokeemerald-expansion/pull/7402)
|
||||
* Remove Uproar attack battle script by @AlexOn1ine in [#7715](https://github.com/rh-hideout/pokeemerald-expansion/pull/7715)
|
||||
* Fix up end turn scripts plus small documentation by @AlexOn1ine in [#7758](https://github.com/rh-hideout/pokeemerald-expansion/pull/7758)
|
||||
* Remove redundant function call by @AlexOn1ine in [#7752](https://github.com/rh-hideout/pokeemerald-expansion/pull/7752)
|
||||
* Minor White Herb and Neutralizing Gas clean up by @AlexOn1ine in [#7754](https://github.com/rh-hideout/pokeemerald-expansion/pull/7754)
|
||||
* Minor clean up for Lightning Rod / Storm Drain by @AlexOn1ine in [#7778](https://github.com/rh-hideout/pokeemerald-expansion/pull/7778)
|
||||
* Improve ability/heldEffect access for IsBattlerGrounded func by @AlexOn1ine in [#7753](https://github.com/rh-hideout/pokeemerald-expansion/pull/7753)
|
||||
* Add func GetChosenMoveFromPosition by @AlexOn1ine in [#7810](https://github.com/rh-hideout/pokeemerald-expansion/pull/7810)
|
||||
* GetBattlerHoldEffect clean up by @AlexOn1ine in [#7819](https://github.com/rh-hideout/pokeemerald-expansion/pull/7819)
|
||||
* Remove unused gBattleStruct fields by @Bassoonian in [#7822](https://github.com/rh-hideout/pokeemerald-expansion/pull/7822)
|
||||
* feat: change defines in `constants/abilities.h` to an enum by @khbsd in [#7006](https://github.com/rh-hideout/pokeemerald-expansion/pull/7006)
|
||||
* Streamline tryheal macros by @Bassoonian in [#7830](https://github.com/rh-hideout/pokeemerald-expansion/pull/7830)
|
||||
* No bag use flag changed to a varable by @FosterProgramming in [#7780](https://github.com/rh-hideout/pokeemerald-expansion/pull/7780)
|
||||
- IMPORTANT: The config flag B_FLAG_NO_BAG_USE has been removed
|
||||
- A config var B_VAR_NO_BAG_USE has been added to replace it. It allows you to choose between:
|
||||
bag available in battle, bag available in wild battle only, and unavailable bag
|
||||
* Remove two unused bits from battle structs by @Bassoonian in [#7835](https://github.com/rh-hideout/pokeemerald-expansion/pull/7835)
|
||||
* Removes a few redundant hitmarkers by @AlexOn1ine in [#7915](https://github.com/rh-hideout/pokeemerald-expansion/pull/7915)
|
||||
* Remove EffectHitSetTerrain script to use moveeffect by @AlexOn1ine in [#7938](https://github.com/rh-hideout/pokeemerald-expansion/pull/7938)
|
||||
* Clean up follow up for AtkCanceller refactor by @AlexOn1ine in [#7951](https://github.com/rh-hideout/pokeemerald-expansion/pull/7951)
|
||||
* Optimize GetWhichBattlerFasterOrTies by @AlexOn1ine in [#7953](https://github.com/rh-hideout/pokeemerald-expansion/pull/7953)
|
||||
* Decouple passive hp updates from move damage updates by @AlexOn1ine in [#7942](https://github.com/rh-hideout/pokeemerald-expansion/pull/7942)
|
||||
* Remove appearedInBattle bitfield & redundant use of sentOut partyState by @Nopinou in [#8011](https://github.com/rh-hideout/pokeemerald-expansion/pull/8011)
|
||||
* Volatile cleared in a redundant spot by @AlexOn1ine in [#8015](https://github.com/rh-hideout/pokeemerald-expansion/pull/8015)
|
||||
* Moved usedHeldItem to Party State struct by @AlexOn1ine in [#8006](https://github.com/rh-hideout/pokeemerald-expansion/pull/8006)
|
||||
* Remove usage of gBattlerTarget for MirrorHerb/Opportunist by @AlexOn1ine in [#8033](https://github.com/rh-hideout/pokeemerald-expansion/pull/8033)
|
||||
* Fixed test "Revival Blessing cannot revive a partner's party member" by @grintoul1 in [#8031](https://github.com/rh-hideout/pokeemerald-expansion/pull/8031)
|
||||
* Decouple (Overworld) Statuses from ability function by @AlexOn1ine in [#8002](https://github.com/rh-hideout/pokeemerald-expansion/pull/8002)
|
||||
* Combine Simple Beam and Worry Seed into one effect by @AlexOn1ine in [#8039](https://github.com/rh-hideout/pokeemerald-expansion/pull/8039)
|
||||
* Clean up for item hold effect refactor by @AlexOn1ine in [#8014](https://github.com/rh-hideout/pokeemerald-expansion/pull/8014)
|
||||
* Grudge, Destiny Bond and FaintBattler refactor by @AlexOn1ine in [#8072](https://github.com/rh-hideout/pokeemerald-expansion/pull/8072)
|
||||
* Parametrized Ice Face's weather form change by @AsparagusEduardo in [#8115](https://github.com/rh-hideout/pokeemerald-expansion/pull/8115)
|
||||
* Clean up redundant todo by @AlexOn1ine in [#8094](https://github.com/rh-hideout/pokeemerald-expansion/pull/8094)
|
||||
* Deprecate various macro by @AlexOn1ine in [#8092](https://github.com/rh-hideout/pokeemerald-expansion/pull/8092)
|
||||
* Fixes hacky SetMoveEffect script calls by @AlexOn1ine in [#7987](https://github.com/rh-hideout/pokeemerald-expansion/pull/7987)
|
||||
* Create BattleStruct sub struct for event states by @AlexOn1ine in [#8131](https://github.com/rh-hideout/pokeemerald-expansion/pull/8131)
|
||||
* Attackstring hitmarker clean up by @AlexOn1ine in [#8136](https://github.com/rh-hideout/pokeemerald-expansion/pull/8136)
|
||||
* Clean up ability effect hitmarker by @AlexOn1ine in [#8138](https://github.com/rh-hideout/pokeemerald-expansion/pull/8138)
|
||||
* Increase number of additional move effects by @AlexOn1ine in [#8149](https://github.com/rh-hideout/pokeemerald-expansion/pull/8149)
|
||||
* Remove redundant Future Sight flag by @AlexOn1ine in [#8185](https://github.com/rh-hideout/pokeemerald-expansion/pull/8185)
|
||||
* Powder Move blocking cleanup by @PhallenTree in [#8194](https://github.com/rh-hideout/pokeemerald-expansion/pull/8194)
|
||||
* Micro clean up in BattleStruct by @AlexOn1ine in [#8177](https://github.com/rh-hideout/pokeemerald-expansion/pull/8177)
|
||||
* HandleAction_UseMove minor cleanup by @mrgriffin in [#8214](https://github.com/rh-hideout/pokeemerald-expansion/pull/8214)
|
||||
* Revert gBattleTurnCounter change by @AlexOn1ine in [#8197](https://github.com/rh-hideout/pokeemerald-expansion/pull/8197)
|
||||
* Canceller -> Canceler rename by @AlexOn1ine in [#8294](https://github.com/rh-hideout/pokeemerald-expansion/pull/8294)
|
||||
* Remove leftover scrtipt redirection by @AlexOn1ine in [#8317](https://github.com/rh-hideout/pokeemerald-expansion/pull/8317)
|
||||
* Expand usage of FaintedActions enum in HandleFaintedMonActions by @PhallenTree in [#8346](https://github.com/rh-hideout/pokeemerald-expansion/pull/8346)
|
||||
* Move end clear bits clean up by @AlexOn1ine in [#8354](https://github.com/rh-hideout/pokeemerald-expansion/pull/8354)
|
||||
* Restored encourageEncore flag to non-volatile status effects by @AsparagusEduardo in [#8387](https://github.com/rh-hideout/pokeemerald-expansion/pull/8387)
|
||||
|
||||
### Fixed
|
||||
* Fixes Weak Armor and items not displaying stat change attributes by @PhallenTree in [#7701](https://github.com/rh-hideout/pokeemerald-expansion/pull/7701)
|
||||
* Refactors ruin ability checks into a field effect by @AlexOn1ine in [#7711](https://github.com/rh-hideout/pokeemerald-expansion/pull/7711)
|
||||
* Attackcanceller fixes and improvements by @AlexOn1ine in [#7698](https://github.com/rh-hideout/pokeemerald-expansion/pull/7698)
|
||||
* Fix Critical Capture RNG and Catching Charm boost by @kittenchilly in [#7534](https://github.com/rh-hideout/pokeemerald-expansion/pull/7534)
|
||||
* Fixes activation order for a couple abilities by @AlexOn1ine in [#7732](https://github.com/rh-hideout/pokeemerald-expansion/pull/7732)
|
||||
* More White Herb fixes/clean up by @AlexOn1ine in [#7826](https://github.com/rh-hideout/pokeemerald-expansion/pull/7826)
|
||||
* Missing IsBattlerAlive checks in Opportunist/Mirror Herb by @AlexOn1ine in [#7829](https://github.com/rh-hideout/pokeemerald-expansion/pull/7829)
|
||||
* Item battle effect refactor by @AlexOn1ine in [#7857](https://github.com/rh-hideout/pokeemerald-expansion/pull/7857)
|
||||
* Fix Fling Mental Herb message by @AlexOn1ine in [#7984](https://github.com/rh-hideout/pokeemerald-expansion/pull/7984)
|
||||
* Fixes Ruin field statuses negation conditions + upcoming cleanup by @PhallenTree in [#8042](https://github.com/rh-hideout/pokeemerald-expansion/pull/8042)
|
||||
* Fix nature power string and add support for evnvironment in tests by @FosterProgramming in [#8068](https://github.com/rh-hideout/pokeemerald-expansion/pull/8068)
|
||||
- Add option to choose an environment when setting up a battle test
|
||||
* Corrects battler position checks in battle_message.c by @grintoul1 in [#8070](https://github.com/rh-hideout/pokeemerald-expansion/pull/8070)
|
||||
* Emergency Exit on hazards activation + fix end of turn activation by @PhallenTree in [#8075](https://github.com/rh-hideout/pokeemerald-expansion/pull/8075)
|
||||
* Improve sBattleIntroSlideFuncs bounds check by @hedara90 in [#8084](https://github.com/rh-hideout/pokeemerald-expansion/pull/8084)
|
||||
* Fixes Sticky Barb never getting transferred to attacker + tests by @PhallenTree in [#8108](https://github.com/rh-hideout/pokeemerald-expansion/pull/8108)
|
||||
* Fixes flung items sometimes being blocked by Unnerve by @PhallenTree in [#8114](https://github.com/rh-hideout/pokeemerald-expansion/pull/8114)
|
||||
* Adjust faint battler script by @AlexOn1ine in [#8137](https://github.com/rh-hideout/pokeemerald-expansion/pull/8137)
|
||||
* Allow to send active mon to PC when capturing a Pokemon by @FosterProgramming in [#8111](https://github.com/rh-hideout/pokeemerald-expansion/pull/8111)
|
||||
* Fix transform not loading the correct sprites when facing shiny or unown by @FosterProgramming in [#8146](https://github.com/rh-hideout/pokeemerald-expansion/pull/8146)
|
||||
* Fixes Receiver not immediately activating copied abilities by @PhallenTree in [#8162](https://github.com/rh-hideout/pokeemerald-expansion/pull/8162)
|
||||
* Fix destiny knot behavior and add tests by @FosterProgramming in [#8174](https://github.com/rh-hideout/pokeemerald-expansion/pull/8174)
|
||||
* Fix recharge moves + add recharge move tests by @FosterProgramming in [#8181](https://github.com/rh-hideout/pokeemerald-expansion/pull/8181)
|
||||
* Fixes Magician for spread moves by @AlexOn1ine in [#8170](https://github.com/rh-hideout/pokeemerald-expansion/pull/8170)
|
||||
* Fix tera tint not applying on activation by @FosterProgramming in [#8135](https://github.com/rh-hideout/pokeemerald-expansion/pull/8135)
|
||||
* Fixes wrongly assigned count for Semi Invulnerable state by @AlexOn1ine in [#8175](https://github.com/rh-hideout/pokeemerald-expansion/pull/8175)
|
||||
* Fixes Drain Punch / Parental Bond / Scale Shot interaction by @AlexOn1ine in [#8198](https://github.com/rh-hideout/pokeemerald-expansion/pull/8198)
|
||||
* Avoid illegal GetBattlerAtPosition by @mrgriffin in [#8225](https://github.com/rh-hideout/pokeemerald-expansion/pull/8225)
|
||||
* DamageContext: chosenMove by @mrgriffin in [#8224](https://github.com/rh-hideout/pokeemerald-expansion/pull/8224)
|
||||
* AccuracyCheck: Avoid calling GetMoveEffect with NO_ACC_CALC_CHECK_LOC… by @mrgriffin in [#8222](https://github.com/rh-hideout/pokeemerald-expansion/pull/8222)
|
||||
* moveend: Handle MOVE_UNAVAILABLE in MOVEEND_THIRD_MOVE_BLOCK by @mrgriffin in [#8215](https://github.com/rh-hideout/pokeemerald-expansion/pull/8215)
|
||||
* Fix wrong ditto sprite on capture by @FosterProgramming in [#8226](https://github.com/rh-hideout/pokeemerald-expansion/pull/8226)
|
||||
* SpriteCB_EnemyShadow: Avoid use-after-free by @mrgriffin in [#8220](https://github.com/rh-hideout/pokeemerald-expansion/pull/8220)
|
||||
* trysethelpinghand avoid illegal target by @mrgriffin in [#8218](https://github.com/rh-hideout/pokeemerald-expansion/pull/8218)
|
||||
* Fixed an issue related to same turn Encore targeting by @LinathanZel in [#8230](https://github.com/rh-hideout/pokeemerald-expansion/pull/8230)
|
||||
* Avoid illegal move retargeting in singles by @mrgriffin in [#8217](https://github.com/rh-hideout/pokeemerald-expansion/pull/8217)
|
||||
* Fixes Shell Trap not activating on contact but no damage by @AlexOn1ine in [#8243](https://github.com/rh-hideout/pokeemerald-expansion/pull/8243)
|
||||
* Fix Magic Coat reflecting hazard moves incorrectly when used by a partner by @moostoet in [#8272](https://github.com/rh-hideout/pokeemerald-expansion/pull/8272)
|
||||
- Magic Coat now properly reflects hazard moves from either slot in double battles.
|
||||
* Shell Trap tests and Fix for Encore interaction by @AlexOn1ine in [#8268](https://github.com/rh-hideout/pokeemerald-expansion/pull/8268)
|
||||
* Fix max mushroom unable to be selected when one stat is maxed by @FosterProgramming in [#8287](https://github.com/rh-hideout/pokeemerald-expansion/pull/8287)
|
||||
* Block selecting x items when contrary pokemon are at minimum stages by @FosterProgramming in [#8288](https://github.com/rh-hideout/pokeemerald-expansion/pull/8288)
|
||||
* Fix Fur Coat affecting confusion self-damage by @moostoet in [#8267](https://github.com/rh-hideout/pokeemerald-expansion/pull/8267)
|
||||
- Fix confusion self-damage ignoring defense/attack abilities such as Fur Coat.
|
||||
* Fixes End Turn Speed Order by @AlexOn1ine in [#8289](https://github.com/rh-hideout/pokeemerald-expansion/pull/8289)
|
||||
* Make switchout abilities trigger after a pokemon has returned to its ball by @FosterProgramming in [#8304](https://github.com/rh-hideout/pokeemerald-expansion/pull/8304)
|
||||
* Fix Shed Shell allowing fleeing/teleporting and Smoke Ball failing to guarantee escape by @moostoet in [#8286](https://github.com/rh-hideout/pokeemerald-expansion/pull/8286)
|
||||
* Fix bug where defiant/competitive would pass their stat change to the next target by @FosterProgramming in [#8312](https://github.com/rh-hideout/pokeemerald-expansion/pull/8312)
|
||||
* Fix max move message against semi invulnerable target by @FosterProgramming in [#8313](https://github.com/rh-hideout/pokeemerald-expansion/pull/8313)
|
||||
* Fixes Neutralizing Gas displaying message when exiting with multiple users by @PhallenTree in [#8318](https://github.com/rh-hideout/pokeemerald-expansion/pull/8318)
|
||||
* Fix Kings Rock not being ignored by flinch moves by @AlexOn1ine in [#8327](https://github.com/rh-hideout/pokeemerald-expansion/pull/8327)
|
||||
* Fix Upper Hand failure still activating Protean by @AlexOn1ine in [#8329](https://github.com/rh-hideout/pokeemerald-expansion/pull/8329)
|
||||
* Fix Protosynthesis stat boosts ignoring speed drops by @moostoet in [#8277](https://github.com/rh-hideout/pokeemerald-expansion/pull/8277)
|
||||
- Protosynthesis and Quark Drive now recalculate their boosted stat when Speed is lowered or Neutralizing Gas temporarily disables the ability.
|
||||
* Fix switch-in abilities not triggering on revive by @FosterProgramming in [#8293](https://github.com/rh-hideout/pokeemerald-expansion/pull/8293)
|
||||
* More Neutralizing Gas cleanup by @PhallenTree in [#8335](https://github.com/rh-hideout/pokeemerald-expansion/pull/8335)
|
||||
* Clear Destiny Bond/Grudge bits when not activated by @PhallenTree in [#8334](https://github.com/rh-hideout/pokeemerald-expansion/pull/8334)
|
||||
* Fix cure status item effect not working properly in doubles by @FosterProgramming in [#8339](https://github.com/rh-hideout/pokeemerald-expansion/pull/8339)
|
||||
* Fix infinite confusion (berserk gene) not being cured by cure_status bag items by @FosterProgramming in [#8343](https://github.com/rh-hideout/pokeemerald-expansion/pull/8343)
|
||||
* Fix `B_PHYSICAL_SPECIAL_SPLIT` when set to Gen 4 by @AsparagusEduardo in [#8348](https://github.com/rh-hideout/pokeemerald-expansion/pull/8348)
|
||||
* Refactor Beat Up handling for Gen 3/4 defaults, fix crit check, and expand test coverage by @moostoet in [#8307](https://github.com/rh-hideout/pokeemerald-expansion/pull/8307)
|
||||
- BUGFIX: Beat Up (`GEN =< 5`) now no longer doubles its damage on every non-critical hit
|
||||
- Beat Up now precomputes eligible party members/strikers for consistent multi-hit resolution and expanded tests covering both pre-Gen5 and Gen5+ rules
|
||||
* Fix substitute graphic not disappearing after using a pivor move by @FosterProgramming in [#8340](https://github.com/rh-hideout/pokeemerald-expansion/pull/8340)
|
||||
* Fixes Beak Blast burning after Beak Blast was already used by @PhallenTree in [#8361](https://github.com/rh-hideout/pokeemerald-expansion/pull/8361)
|
||||
* Fix Roar not being recorded for LastUsedMove by @AlexOn1ine in [#8362](https://github.com/rh-hideout/pokeemerald-expansion/pull/8362)
|
||||
* Fixes Neutralizing Gas / Mold Breaker / Dragon Darts interaction by @AlexOn1ine in [#8389](https://github.com/rh-hideout/pokeemerald-expansion/pull/8389)
|
||||
* Fixes battle tv overwriting damage values by @AlexOn1ine in [#8378](https://github.com/rh-hideout/pokeemerald-expansion/pull/8378)
|
||||
* Fix ball cycling not working properly when the same ball take multiple bag slots by @FosterProgramming in [#8163](https://github.com/rh-hideout/pokeemerald-expansion/pull/8163)
|
||||
- Two new defines added to items.h `FIRST_BALL_INDEX` and `LAST_BALL_INDEX`
|
||||
- We now assume the indexes of all regular ball usable in wild battle have consecutive indexes and some features (throw ball shortcut in battle) might break if not true
|
||||
* Prevent double Dynamax for single-trainer 2v1 multi battles by @moostoet in [#8323](https://github.com/rh-hideout/pokeemerald-expansion/pull/8323)
|
||||
- Fixed AI 2v1 multibattles incorrectly allowing both opponent leads to Dynamax in the same turn.
|
||||
|
||||
## 🤹 Moves 🤹
|
||||
### Changed
|
||||
* Separates FRB and FRZ animations by @grintoul1 in [#7611](https://github.com/rh-hideout/pokeemerald-expansion/pull/7611)
|
||||
* Fixed test "Revival Blessing cannot revive a partner's party member" by @grintoul1 in [#8031](https://github.com/rh-hideout/pokeemerald-expansion/pull/8031)
|
||||
* Fixed Uproar's description and spacing by @fdeblasio in [#8187](https://github.com/rh-hideout/pokeemerald-expansion/pull/8187)
|
||||
* Clean usage of gMovesInfo by @AsparagusEduardo in [#8234](https://github.com/rh-hideout/pokeemerald-expansion/pull/8234)
|
||||
- Also, fixed an OOB in `HasMoveThatChangesKOThreshold`
|
||||
* Added Gen 6 contest combos by @fdeblasio in [#8251](https://github.com/rh-hideout/pokeemerald-expansion/pull/8251)
|
||||
* Make tailwind anim mirror based on side by @FosterProgramming in [#8249](https://github.com/rh-hideout/pokeemerald-expansion/pull/8249)
|
||||
* Make rainbow effect anim change based on side by @FosterProgramming in [#8269](https://github.com/rh-hideout/pokeemerald-expansion/pull/8269)
|
||||
- Art assets by [SonikkuA-DatH](https://github.com/SonikkuA-DatH)
|
||||
* Update Lash Out description to clarify its effect by @PhallenTree in [#8372](https://github.com/rh-hideout/pokeemerald-expansion/pull/8372)
|
||||
|
||||
### Fixed
|
||||
* Fix some move animations leaking VRAM and freeing already freed tags by @hedara90 in [#7977](https://github.com/rh-hideout/pokeemerald-expansion/pull/7977)
|
||||
|
||||
## 🎭 Abilities 🎭
|
||||
### Changed
|
||||
* followup: AbilityBattleEffects return type is incorrect by @khbsd in [#7827](https://github.com/rh-hideout/pokeemerald-expansion/pull/7827)
|
||||
|
||||
## 🧶 Items 🧶
|
||||
### Fixed
|
||||
* Allow vs seekers to work with script not starting with trainerbattle by @FosterProgramming in [#8062](https://github.com/rh-hideout/pokeemerald-expansion/pull/8062)
|
||||
- VS seeker now work with trainers who don't start with trainer_battle. You can use `vsseeker_rematchid TRAINER_ID` to indicate that this NPC is a battling trainer and the game will fetch the appropriate rematch if necessary. ` vsseeker_rematchid` work like a `cant_see_if_trainerflag_set` with additional functionality to handle vs seeker.
|
||||
- All NPCs who don't start with either `vsseeker_rematchid` or `trainerbattle` will show as "X"/unmatchable by the vs seeker, so non-rematchable trainer who do not start with `trainerbattle may "lie" and not show an excalmation mark showing they haven't been fought yet. This can be fixed by including a `vsseeker_rematchid` for them too.
|
||||
* Removed extra period in Pokéshi Doll description by @montmoguri in [#8252](https://github.com/rh-hideout/pokeemerald-expansion/pull/8252)
|
||||
|
||||
## 🤖 Battle AI 🤖
|
||||
### Added
|
||||
* Improved move additional effect handling; now accounts for Shield Dust. by @surskitty in [#7650](https://github.com/rh-hideout/pokeemerald-expansion/pull/7650)
|
||||
* Adjusted AI handling for Gravity; AI for weather/field status additional effects. by @surskitty in [#7651](https://github.com/rh-hideout/pokeemerald-expansion/pull/7651)
|
||||
* Improved AI for status curing; trainer items, Purify, Smelling Salts, Sparkling Aria by @surskitty in [#7853](https://github.com/rh-hideout/pokeemerald-expansion/pull/7853)
|
||||
|
||||
### Changed
|
||||
* AI uses Magnetic Flux. by @surskitty in [#7642](https://github.com/rh-hideout/pokeemerald-expansion/pull/7642)
|
||||
* AI uses Flower Shield. by @surskitty in [#7640](https://github.com/rh-hideout/pokeemerald-expansion/pull/7640)
|
||||
* AI uses Life Dew. by @surskitty in [#7643](https://github.com/rh-hideout/pokeemerald-expansion/pull/7643)
|
||||
* AI uses Gear Up. by @surskitty in [#7641](https://github.com/rh-hideout/pokeemerald-expansion/pull/7641)
|
||||
* Correcting test AI won't use status moves if partner chose Helping Hand by @surskitty in [#7649](https://github.com/rh-hideout/pokeemerald-expansion/pull/7649)
|
||||
* IncreaseStatUpScore adjustments for Simple, +3 moves, Acupressure, max move effects by @surskitty in [#7662](https://github.com/rh-hideout/pokeemerald-expansion/pull/7662)
|
||||
* AI handling for Coaching. by @surskitty in [#7661](https://github.com/rh-hideout/pokeemerald-expansion/pull/7661)
|
||||
* Simplifying calls to IsBattlerTrapped; treats being unable to switch as trappedness by @surskitty in [#7671](https://github.com/rh-hideout/pokeemerald-expansion/pull/7671)
|
||||
* AI Tests: Gimmick Support by @mrgriffin in [#7694](https://github.com/rh-hideout/pokeemerald-expansion/pull/7694)
|
||||
* AI can use Z-status moves by @surskitty in [#7666](https://github.com/rh-hideout/pokeemerald-expansion/pull/7666)
|
||||
* Move some checks out of IncreaseStatUpScore to ShouldRaiseAnyStat by @surskitty in [#7722](https://github.com/rh-hideout/pokeemerald-expansion/pull/7722)
|
||||
* Moving additional effects out of AI_CalcMoveEffectScore and into AI_CalcMoveAdditionalEffectScore by @surskitty in [#7727](https://github.com/rh-hideout/pokeemerald-expansion/pull/7727)
|
||||
* AI sees dynamic moves and Nature Power as correct types for weather, terrain by @surskitty in [#7759](https://github.com/rh-hideout/pokeemerald-expansion/pull/7759)
|
||||
* Fix abusable two-turn-move switch behaviour by @Pawkkie in [#7770](https://github.com/rh-hideout/pokeemerald-expansion/pull/7770)
|
||||
* Z Status move handling: Conversion, Detect, Nature Power, Transform by @surskitty in [#7721](https://github.com/rh-hideout/pokeemerald-expansion/pull/7721)
|
||||
* Use stored values for ai switch-in effectiveness checks by @AlexOn1ine in [#7794](https://github.com/rh-hideout/pokeemerald-expansion/pull/7794)
|
||||
* Changing all HasBattlerSideAbility to AI_IsAbilityOnSide. by @surskitty in [#7927](https://github.com/rh-hideout/pokeemerald-expansion/pull/7927)
|
||||
* Weather/Terrain AI touch-ups. by @surskitty in [#7933](https://github.com/rh-hideout/pokeemerald-expansion/pull/7933)
|
||||
* Improving the checks for the AI to avoid Encore; adding RISK_ENCORE_CHANCE config. by @surskitty in [#7929](https://github.com/rh-hideout/pokeemerald-expansion/pull/7929)
|
||||
* Fixes CanUseLastResort and resolves 3 KNOWN_FAILING Last Resort tests by @grintoul1 in [#8032](https://github.com/rh-hideout/pokeemerald-expansion/pull/8032)
|
||||
* Add AI flag AI_FLAG_KNOW_OPPONENT_PARTY to know all species in party by @moostoet in [#8290](https://github.com/rh-hideout/pokeemerald-expansion/pull/8290)
|
||||
|
||||
### Fixed
|
||||
* Score adjustments towards guaranteed stat drops. by @surskitty in [#7670](https://github.com/rh-hideout/pokeemerald-expansion/pull/7670)
|
||||
* AI uses Extreme Evoboost. by @surskitty in [#7706](https://github.com/rh-hideout/pokeemerald-expansion/pull/7706)
|
||||
* Fixes AI scoring when Priority moves are blocked by @PhallenTree in [#7745](https://github.com/rh-hideout/pokeemerald-expansion/pull/7745)
|
||||
* fix (AI scoring): shield dust considerations, IsMoveEffectInMinus self effect edge case, hitsToKO zero-case consideration by @ghostyboyy97 in [#8126](https://github.com/rh-hideout/pokeemerald-expansion/pull/8126)
|
||||
- The AI now sees Shield Dust on the player's Pokemon correctly
|
||||
- The AI now sees self-targeted positive effect boosts correctly
|
||||
* fix (contrary): Contrary stat down handling in MoveEffectInPlus by @ghostyboyy97 in [#8165](https://github.com/rh-hideout/pokeemerald-expansion/pull/8165)
|
||||
- When comparing positive move effects in damaging move comparison, the AI will correctly see moves like Leaf Storm as beneficial if their Pokemon has Contrary.
|
||||
* Added check for parental bond killing through sturdy by @MaximeGr00 in [#8206](https://github.com/rh-hideout/pokeemerald-expansion/pull/8206)
|
||||
- AI now accounts for Parental Bond when checking if a move can ko the player through sturdy/focus sash.
|
||||
* AI: Handle MOVE_UNAVAILABLE in last used moves by @mrgriffin in [#8219](https://github.com/rh-hideout/pokeemerald-expansion/pull/8219)
|
||||
* Fix AI_FLAG_DOUBLE_ACE_POKEMON sending duplicate Pokémon in doubles by @moostoet in [#8279](https://github.com/rh-hideout/pokeemerald-expansion/pull/8279)
|
||||
- Fixed AI_FLAG_DOUBLE_ACE_POKEMON trainers resending the same Pokémon after a KO instead of their two Ace Pokémon in double battles.
|
||||
* Rework switch AI and add more tests for ace pokemon flags by @FosterProgramming in [#8321](https://github.com/rh-hideout/pokeemerald-expansion/pull/8321)
|
||||
- All remaining issues with the AI flags Ace Pokemon and Double Ace pokemon should be fixed
|
||||
- The smart switching AI should be less likely to switch a pokemon about to die if it doesn't have a pokemon with a good matchup to replace it
|
||||
* Fix switchin KO threshold logic by @Pawkkie in [#8370](https://github.com/rh-hideout/pokeemerald-expansion/pull/8370)
|
||||
|
||||
## 🧹 Other Cleanup 🧹
|
||||
* Update multiple battle messages by @AsparagusEduardo in [#7529](https://github.com/rh-hideout/pokeemerald-expansion/pull/7529)
|
||||
- Removed unused messages
|
||||
- Changed ability "X prevents Y" to "It doesn't affect X..."
|
||||
- Eg. `"The opposing Snorlax's Immunity prevents poisoning!"`
|
||||
- Removed `B_ABILITY_POP_UP`. Revert commit `b501fe7354bcd957396465c621ae7af5959ac5b0` to undo this.
|
||||
* Battle debug menu now checks correct parties depending on battler party by @grintoul1 in [#7652](https://github.com/rh-hideout/pokeemerald-expansion/pull/7652)
|
||||
* Correcting test AI won't use status moves if partner chose Helping Hand by @surskitty in [#7649](https://github.com/rh-hideout/pokeemerald-expansion/pull/7649)
|
||||
* Remove Uproar attack battle script by @AlexOn1ine in [#7715](https://github.com/rh-hideout/pokeemerald-expansion/pull/7715)
|
||||
* Fix up end turn scripts plus small documentation by @AlexOn1ine in [#7758](https://github.com/rh-hideout/pokeemerald-expansion/pull/7758)
|
||||
* `field_name_box` smol followup by @mudskipper13 in [#7762](https://github.com/rh-hideout/pokeemerald-expansion/pull/7762)
|
||||
* Remove redundant function call by @AlexOn1ine in [#7752](https://github.com/rh-hideout/pokeemerald-expansion/pull/7752)
|
||||
* Minor White Herb and Neutralizing Gas clean up by @AlexOn1ine in [#7754](https://github.com/rh-hideout/pokeemerald-expansion/pull/7754)
|
||||
* Minor clean up for Lightning Rod / Storm Drain by @AlexOn1ine in [#7778](https://github.com/rh-hideout/pokeemerald-expansion/pull/7778)
|
||||
* Add func GetChosenMoveFromPosition by @AlexOn1ine in [#7810](https://github.com/rh-hideout/pokeemerald-expansion/pull/7810)
|
||||
* GetBattlerHoldEffect clean up by @AlexOn1ine in [#7819](https://github.com/rh-hideout/pokeemerald-expansion/pull/7819)
|
||||
* Remove unused gBattleStruct fields by @Bassoonian in [#7822](https://github.com/rh-hideout/pokeemerald-expansion/pull/7822)
|
||||
* followup: AbilityBattleEffects return type is incorrect by @khbsd in [#7827](https://github.com/rh-hideout/pokeemerald-expansion/pull/7827)
|
||||
* Streamline tryheal macros by @Bassoonian in [#7830](https://github.com/rh-hideout/pokeemerald-expansion/pull/7830)
|
||||
* Remove two unused bits from battle structs by @Bassoonian in [#7835](https://github.com/rh-hideout/pokeemerald-expansion/pull/7835)
|
||||
* Removes a few redundant hitmarkers by @AlexOn1ine in [#7915](https://github.com/rh-hideout/pokeemerald-expansion/pull/7915)
|
||||
* Remove EffectHitSetTerrain script to use moveeffect by @AlexOn1ine in [#7938](https://github.com/rh-hideout/pokeemerald-expansion/pull/7938)
|
||||
* Clean up follow up for AtkCanceller refactor by @AlexOn1ine in [#7951](https://github.com/rh-hideout/pokeemerald-expansion/pull/7951)
|
||||
* Remove appearedInBattle bitfield & redundant use of sentOut partyState by @Nopinou in [#8011](https://github.com/rh-hideout/pokeemerald-expansion/pull/8011)
|
||||
* Some more documentation and cleanup by @Bassoonian in [#8020](https://github.com/rh-hideout/pokeemerald-expansion/pull/8020)
|
||||
* Volatile cleared in a redundant spot by @AlexOn1ine in [#8015](https://github.com/rh-hideout/pokeemerald-expansion/pull/8015)
|
||||
* Moved usedHeldItem to Party State struct by @AlexOn1ine in [#8006](https://github.com/rh-hideout/pokeemerald-expansion/pull/8006)
|
||||
* Remove usage of gBattlerTarget for MirrorHerb/Opportunist by @AlexOn1ine in [#8033](https://github.com/rh-hideout/pokeemerald-expansion/pull/8033)
|
||||
* Even more enums and documentation by @Bassoonian in [#8029](https://github.com/rh-hideout/pokeemerald-expansion/pull/8029)
|
||||
* Decouple (Overworld) Statuses from ability function by @AlexOn1ine in [#8002](https://github.com/rh-hideout/pokeemerald-expansion/pull/8002)
|
||||
* Fixes Ruin field statuses negation conditions + upcoming cleanup by @PhallenTree in [#8042](https://github.com/rh-hideout/pokeemerald-expansion/pull/8042)
|
||||
* Minor clean up in menu.c by @estellarc in [#8060](https://github.com/rh-hideout/pokeemerald-expansion/pull/8060)
|
||||
* Clean up for item hold effect refactor by @AlexOn1ine in [#8014](https://github.com/rh-hideout/pokeemerald-expansion/pull/8014)
|
||||
* Parametrized Ice Face's weather form change by @AsparagusEduardo in [#8115](https://github.com/rh-hideout/pokeemerald-expansion/pull/8115)
|
||||
* Clean up redundant todo by @AlexOn1ine in [#8094](https://github.com/rh-hideout/pokeemerald-expansion/pull/8094)
|
||||
* Deprecate various macro by @AlexOn1ine in [#8092](https://github.com/rh-hideout/pokeemerald-expansion/pull/8092)
|
||||
* Fixes hacky SetMoveEffect script calls by @AlexOn1ine in [#7987](https://github.com/rh-hideout/pokeemerald-expansion/pull/7987)
|
||||
* Create BattleStruct sub struct for event states by @AlexOn1ine in [#8131](https://github.com/rh-hideout/pokeemerald-expansion/pull/8131)
|
||||
* Attackstring hitmarker clean up by @AlexOn1ine in [#8136](https://github.com/rh-hideout/pokeemerald-expansion/pull/8136)
|
||||
* Clean up ability effect hitmarker by @AlexOn1ine in [#8138](https://github.com/rh-hideout/pokeemerald-expansion/pull/8138)
|
||||
* Fix Kyurem typo in swap move tables by @Bassoonian in [#8139](https://github.com/rh-hideout/pokeemerald-expansion/pull/8139)
|
||||
* Fix typo in Voltorb-Hisui pokedex entry by @PhallenTree in [#8143](https://github.com/rh-hideout/pokeemerald-expansion/pull/8143)
|
||||
* porymap default settings by @FosterProgramming in [#8038](https://github.com/rh-hideout/pokeemerald-expansion/pull/8038)
|
||||
- WARNING: A change was made for new projects map files to match poymap output. This change might break people's projects with existing versions of those files. The files affected are ` data/maps/map_groups.json`, `src/data/heal_locations.json`, `src/data/region_map/region_map_sections.json` and `src/data/wild_encounters.json`
|
||||
If you have an issue with one of those files during the merging process, you should run this command
|
||||
`git checkout HEAD -- <filename>`
|
||||
which will reset the file to the version before you initiated the merge
|
||||
* Sets instant text speed flag to false by default by @khbsd in [#8179](https://github.com/rh-hideout/pokeemerald-expansion/pull/8179)
|
||||
* Remove redundant Future Sight flag by @AlexOn1ine in [#8185](https://github.com/rh-hideout/pokeemerald-expansion/pull/8185)
|
||||
* Fix incorrect comments by @AlexOn1ine in [#8193](https://github.com/rh-hideout/pokeemerald-expansion/pull/8193)
|
||||
* Fixed Uproar's description and spacing by @fdeblasio in [#8187](https://github.com/rh-hideout/pokeemerald-expansion/pull/8187)
|
||||
* Add include/constants/script_commands.h to gitignore by @AlexOn1ine in [#8169](https://github.com/rh-hideout/pokeemerald-expansion/pull/8169)
|
||||
* Powder Move blocking cleanup by @PhallenTree in [#8194](https://github.com/rh-hideout/pokeemerald-expansion/pull/8194)
|
||||
* Converted landmarks to COMPOUND_STRINGs by @fdeblasio in [#8205](https://github.com/rh-hideout/pokeemerald-expansion/pull/8205)
|
||||
* Micro clean up in BattleStruct by @AlexOn1ine in [#8177](https://github.com/rh-hideout/pokeemerald-expansion/pull/8177)
|
||||
* Clean usage of gMovesInfo by @AsparagusEduardo in [#8234](https://github.com/rh-hideout/pokeemerald-expansion/pull/8234)
|
||||
- Also, fixed an OOB in `HasMoveThatChangesKOThreshold`
|
||||
* HandleAction_UseMove minor cleanup by @mrgriffin in [#8214](https://github.com/rh-hideout/pokeemerald-expansion/pull/8214)
|
||||
* Revert gBattleTurnCounter change by @AlexOn1ine in [#8197](https://github.com/rh-hideout/pokeemerald-expansion/pull/8197)
|
||||
* Added contest config and cleaned up contest category variables by @fdeblasio in [#8178](https://github.com/rh-hideout/pokeemerald-expansion/pull/8178)
|
||||
* Adjust Canceler naming to contain only one l by @AlexOn1ine in [#8258](https://github.com/rh-hideout/pokeemerald-expansion/pull/8258)
|
||||
* Fix wrongly renamed logs by @AlexOn1ine in [#8264](https://github.com/rh-hideout/pokeemerald-expansion/pull/8264)
|
||||
* Test type enum indentation by @AsparagusEduardo in [#8273](https://github.com/rh-hideout/pokeemerald-expansion/pull/8273)
|
||||
* Added missing 'coolness' string by @fdeblasio in [#8274](https://github.com/rh-hideout/pokeemerald-expansion/pull/8274)
|
||||
* Canceller -> Canceler rename by @AlexOn1ine in [#8294](https://github.com/rh-hideout/pokeemerald-expansion/pull/8294)
|
||||
* Tests for Max Moves already exist by @AlexOn1ine in [#8314](https://github.com/rh-hideout/pokeemerald-expansion/pull/8314)
|
||||
* Documentation clean up for MoveCanceler by @AlexOn1ine in [#8297](https://github.com/rh-hideout/pokeemerald-expansion/pull/8297)
|
||||
* Use MAP_OFFSET by @estellarc in [#8328](https://github.com/rh-hideout/pokeemerald-expansion/pull/8328)
|
||||
* Remove leftover scrtipt redirection by @AlexOn1ine in [#8317](https://github.com/rh-hideout/pokeemerald-expansion/pull/8317)
|
||||
* Fixed broken friendship from items in battle test and added new test for opposite case by @pkmnsnfrn in [#7872](https://github.com/rh-hideout/pokeemerald-expansion/pull/7872)
|
||||
* Expand usage of FaintedActions enum in HandleFaintedMonActions by @PhallenTree in [#8346](https://github.com/rh-hideout/pokeemerald-expansion/pull/8346)
|
||||
* Move end clear bits clean up by @AlexOn1ine in [#8354](https://github.com/rh-hideout/pokeemerald-expansion/pull/8354)
|
||||
* Indent unintented if statement by @hedara90 in [#8367](https://github.com/rh-hideout/pokeemerald-expansion/pull/8367)
|
||||
* Update Lash Out description to clarify its effect by @PhallenTree in [#8372](https://github.com/rh-hideout/pokeemerald-expansion/pull/8372)
|
||||
* Slight Protect moveend cleanup by @AsparagusEduardo in [#8385](https://github.com/rh-hideout/pokeemerald-expansion/pull/8385)
|
||||
* Restored encourageEncore flag to non-volatile status effects by @AsparagusEduardo in [#8387](https://github.com/rh-hideout/pokeemerald-expansion/pull/8387)
|
||||
|
||||
## 🧪 Test Runner 🧪
|
||||
### Added
|
||||
* Multibattle testing system by @grintoul1 in [#7257](https://github.com/rh-hideout/pokeemerald-expansion/pull/7257)
|
||||
* Prevent EXPECT functions from casting negative numbers into unsigned by @FosterProgramming in [#7866](https://github.com/rh-hideout/pokeemerald-expansion/pull/7866)
|
||||
|
||||
### Changed
|
||||
* AI Tests: Gimmick Support by @mrgriffin in [#7694](https://github.com/rh-hideout/pokeemerald-expansion/pull/7694)
|
||||
* Some tests for future Dynamax AI behavior. by @surskitty in [#7707](https://github.com/rh-hideout/pokeemerald-expansion/pull/7707)
|
||||
* Add some missing move animations to the move animation tests by @FosterProgramming in [#7507](https://github.com/rh-hideout/pokeemerald-expansion/pull/7507)
|
||||
* Fixes CanUseLastResort and resolves 3 KNOWN_FAILING Last Resort tests by @grintoul1 in [#8032](https://github.com/rh-hideout/pokeemerald-expansion/pull/8032)
|
||||
* Fixed test "Revival Blessing cannot revive a partner's party member" by @grintoul1 in [#8031](https://github.com/rh-hideout/pokeemerald-expansion/pull/8031)
|
||||
* Added Soundproof and Bulletproof tests by @AsparagusEduardo in [#8189](https://github.com/rh-hideout/pokeemerald-expansion/pull/8189)
|
||||
* Wrote some missing tests by @AsparagusEduardo in [#8203](https://github.com/rh-hideout/pokeemerald-expansion/pull/8203)
|
||||
* Refactor random functions to be runner specific by @FosterProgramming in [#7816](https://github.com/rh-hideout/pokeemerald-expansion/pull/7816)
|
||||
* A couple more tests by @AsparagusEduardo in [#8209](https://github.com/rh-hideout/pokeemerald-expansion/pull/8209)
|
||||
* Fixed some failing tests with GEN_LATEST = GEN_5 by @AsparagusEduardo in [#8241](https://github.com/rh-hideout/pokeemerald-expansion/pull/8241)
|
||||
* Add test for mold breaker/ice scales interaction by @FosterProgramming in [#8240](https://github.com/rh-hideout/pokeemerald-expansion/pull/8240)
|
||||
* Yet more tests by @AsparagusEduardo in [#8228](https://github.com/rh-hideout/pokeemerald-expansion/pull/8228)
|
||||
- Added tests for:
|
||||
- Dark Aura
|
||||
- Fairy Aura
|
||||
- Flare Boost
|
||||
- Toxic Boost
|
||||
- Added test names for Flying Press.
|
||||
* Test type enum indentation by @AsparagusEduardo in [#8273](https://github.com/rh-hideout/pokeemerald-expansion/pull/8273)
|
||||
* Slightly increase headless test speed by modifying animations by @AsparagusEduardo in [#8299](https://github.com/rh-hideout/pokeemerald-expansion/pull/8299)
|
||||
* Make `gTestRunnerHeadless` into a constant outside of tests by @hedara90 in [#8306](https://github.com/rh-hideout/pokeemerald-expansion/pull/8306)
|
||||
* Tests for Max Moves already exist by @AlexOn1ine in [#8314](https://github.com/rh-hideout/pokeemerald-expansion/pull/8314)
|
||||
* Finished fixing tests when setting `GEN_LATEST` to `GEN_5` by @AsparagusEduardo in [#8263](https://github.com/rh-hideout/pokeemerald-expansion/pull/8263)
|
||||
* Wrote missing Fling tests by @AsparagusEduardo in [#8383](https://github.com/rh-hideout/pokeemerald-expansion/pull/8383)
|
||||
|
||||
### Fixed
|
||||
* Corrects ONE_VS_TWO_BATTLE_TEST to use BATTLE_TEST_ARGS_ONE_VS_TWO by @grintoul1 in [#8061](https://github.com/rh-hideout/pokeemerald-expansion/pull/8061)
|
||||
* Fixes difficulty not being restored after tests by @grintoul1 in [#8129](https://github.com/rh-hideout/pokeemerald-expansion/pull/8129)
|
||||
* Reset saveblock data between test runs by @hedara90 in [#8145](https://github.com/rh-hideout/pokeemerald-expansion/pull/8145)
|
||||
* Sheer force test fix by @grintoul1 in [#8142](https://github.com/rh-hideout/pokeemerald-expansion/pull/8142)
|
||||
* Test only enabled species by @mrgriffin in [#8216](https://github.com/rh-hideout/pokeemerald-expansion/pull/8216)
|
||||
* Fix ohko moves ai tests by @FosterProgramming in [#8309](https://github.com/rh-hideout/pokeemerald-expansion/pull/8309)
|
||||
* Fixed broken friendship from items in battle test and added new test for opposite case by @pkmnsnfrn in [#7872](https://github.com/rh-hideout/pokeemerald-expansion/pull/7872)
|
||||
* Add tests to verify aromatherapy is not affected by heal bell config by @FosterProgramming in [#8344](https://github.com/rh-hideout/pokeemerald-expansion/pull/8344)
|
||||
* Pre gen 5 encored move now signals the test engine a move is happening by @FosterProgramming in [#8338](https://github.com/rh-hideout/pokeemerald-expansion/pull/8338)
|
||||
* Refactor Beat Up handling for Gen 3/4 defaults, fix crit check, and expand test coverage by @moostoet in [#8307](https://github.com/rh-hideout/pokeemerald-expansion/pull/8307)
|
||||
- BUGFIX: Beat Up (`GEN =< 5`) now no longer doubles its damage on every non-critical hit
|
||||
- Beat Up now precomputes eligible party members/strikers for consistent multi-hit resolution and expanded tests covering both pre-Gen5 and Gen5+ rules
|
||||
* Fix player and partner trainer sprite palettes to 8 and 9, preventing unwanted palette changes by @grintoul1 in [#8127](https://github.com/rh-hideout/pokeemerald-expansion/pull/8127)
|
||||
* Fix known failing AI trace test by @FosterProgramming in [#8337](https://github.com/rh-hideout/pokeemerald-expansion/pull/8337)
|
||||
|
||||
## 📚 Documentation 📚
|
||||
* Converts some defines to enums and name unnamed enums by @Bassoonian in [#8019](https://github.com/rh-hideout/pokeemerald-expansion/pull/8019)
|
||||
* Some more documentation and cleanup by @Bassoonian in [#8020](https://github.com/rh-hideout/pokeemerald-expansion/pull/8020)
|
||||
* Even more enums and documentation by @Bassoonian in [#8029](https://github.com/rh-hideout/pokeemerald-expansion/pull/8029)
|
||||
* Add type enum by @Bassoonian in [#8054](https://github.com/rh-hideout/pokeemerald-expansion/pull/8054)
|
||||
* Revert reversion by @AlexOn1ine in [#8112](https://github.com/rh-hideout/pokeemerald-expansion/pull/8112)
|
||||
* Lock mdbook to v0.4.35 to fix docs not building by @grintoul1 in [#8130](https://github.com/rh-hideout/pokeemerald-expansion/pull/8130)
|
||||
* Add additional comment explaing map name popup transparency side-effects by @FosterProgramming in [#8117](https://github.com/rh-hideout/pokeemerald-expansion/pull/8117)
|
||||
* Fix incorrect comments by @AlexOn1ine in [#8193](https://github.com/rh-hideout/pokeemerald-expansion/pull/8193)
|
||||
* Moves name box configs into a new file by @AlexOn1ine in [#8250](https://github.com/rh-hideout/pokeemerald-expansion/pull/8250)
|
||||
* Fix wrongly renamed logs by @AlexOn1ine in [#8264](https://github.com/rh-hideout/pokeemerald-expansion/pull/8264)
|
||||
* Documentation clean up for MoveCanceler by @AlexOn1ine in [#8297](https://github.com/rh-hideout/pokeemerald-expansion/pull/8297)
|
||||
* Use MAP_OFFSET by @estellarc in [#8328](https://github.com/rh-hideout/pokeemerald-expansion/pull/8328)
|
||||
* Fedora install instructions by @estellarc in [#8355](https://github.com/rh-hideout/pokeemerald-expansion/pull/8355)
|
||||
|
||||
## New Contributors
|
||||
* @purrfectdoodle made their first contribution in [#7689](https://github.com/rh-hideout/pokeemerald-expansion/pull/7689)
|
||||
* @montmoguri made their first contribution in [#8252](https://github.com/rh-hideout/pokeemerald-expansion/pull/8252)
|
||||
|
||||
**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.13.3...expansion/1.14.0
|
||||
|
||||
|
||||
<!--Last PR: 8392-->
|
||||
<!--Used to keep track of the last PR merged in case new ones come in before the changelog is done.-->
|
||||
22
docs/changelogs/1.14.x/1.14.1.md
Normal file
@ -0,0 +1,22 @@
|
||||
```md
|
||||
## How to update
|
||||
- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`.
|
||||
- Once you have your remote set up, run the command `git pull RHH expansion/1.14.1
|
||||
`.
|
||||
```
|
||||
|
||||
|
||||
## 🧬 General 🧬
|
||||
### Changed
|
||||
* Pret merge, (1st of December, 2025) by @hedara90 in [#8402](https://github.com/rh-hideout/pokeemerald-expansion/pull/8402)
|
||||
- This changes all the audio samples from `.aif` to `.wav`, `.aif` support is removed.
|
||||
- There's a migration script to convert from `.bin` to `.wav` in `migration_scripts/1.14/bin_to_wav.py`.
|
||||
- Run the migration script with `python migration_scripts/1.14/bin_to_wav.py path/to/folder/with/bin/samples`
|
||||
|
||||
|
||||
|
||||
**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.14.0...expansion/1.14.1
|
||||
|
||||
|
||||
<!--Last PR: 8402-->
|
||||
<!--Used to keep track of the last PR merged in case new ones come in before the changelog is done.-->
|
||||
6
docs/install/linux/FEDORA.md
Normal file
@ -0,0 +1,6 @@
|
||||
# Fedora instructions
|
||||
## Installing dependencies
|
||||
Open a terminal and run the following command from the command line:
|
||||
```console
|
||||
sudo dnf install gcc g++ arm-none-eabi-binutils-cs arm-none-eabi-gcc-cs arm-none-eabi-newlib git libpng-devel python3
|
||||
```
|
||||
58
docs/tutorials/how_to_apricorn_tree.md
Normal file
@ -0,0 +1,58 @@
|
||||
# How to interact with Apricorn Trees
|
||||
|
||||

|
||||
|
||||
### Adding a new apricorn tree
|
||||
|
||||
To add a new tree, first increase the tree count and expand the tree list in `include/constants/apricorn_tree.h`.
|
||||
|
||||
Note that each tree will take a bit in the savegame's `SaveBlock3` struct so increasing `APRICORN_TREE_COUNT` **breaks the savegame**.
|
||||
Due to this, pokeemerald-expansion doesn't have any trees set up by default to prevent breaking downstream savegames.
|
||||
The trees support random yields and properly use plural case on plural yields.
|
||||
|
||||
```diff
|
||||
#define APRICORN_TREE_NONE 0
|
||||
|
||||
-#define APRICORN_TREE_COUNT 0
|
||||
+#define APRICORN_TREE_ROUTE101_RED_TREE 1
|
||||
+
|
||||
+#define APRICORN_TREE_COUNT 32
|
||||
```
|
||||
|
||||
Then list its data in `src/data/apricorns.h`.
|
||||
|
||||
```diff
|
||||
const struct ApricornTree gApricornTrees[APRICORN_TREE_COUNT] =
|
||||
{
|
||||
[APRICORN_TREE_NONE] =
|
||||
{
|
||||
.minimum = 1,
|
||||
.maximum = 1,
|
||||
.apricornType = APRICORN_RED,
|
||||
},
|
||||
|
||||
+ [APRICORN_TREE_ROUTE101_RED_TREE] =
|
||||
+ {
|
||||
+ .minimum = 1,
|
||||
+ .maximum = 1,
|
||||
+ .apricornType = APRICORN_RED,
|
||||
+ },
|
||||
};
|
||||
```
|
||||
Finally, just place your new tree using Porymap.
|
||||
Similarly to berries, the Sight Radius / Berry Tree ID field is used for the tree's ID.
|
||||
|
||||

|
||||
|
||||
### Add a new apricorn type
|
||||
|
||||
After you created your new item, simply expand the `ApricornType` enum in `include/constants/apricorn_tree.h`.
|
||||
|
||||
```diff
|
||||
enum ApricornType
|
||||
{
|
||||
[...]
|
||||
APRICORN_BERRY_MARANGA = ITEM_MARANGA_BERRY,
|
||||
+ APRICORN_BROWN = ITEM_BROWN_APRICORN,
|
||||
};
|
||||
```
|
||||
100
docs/tutorials/how_to_namebox.md
Normal file
@ -0,0 +1,100 @@
|
||||
# How to Use Namebox
|
||||
|
||||
_New implementation made by mudskipper13, originally made by Tustin2121._
|
||||
|
||||
## Overview
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
This is a broad and self-contained implementation of Tustin2121's namebox feature branch [here](https://github.com/tustin2121/pokeemerald/tree/feature/namebox), which includes the following:
|
||||
- Cleaner implementation of namebox onto both the field message box _and_ the field PokéNav textbox.
|
||||
- New configs:
|
||||
- `OW_NAME_BOX_USE_DYNAMIC_WIDTH` lets the namebox use dynamic window width depending on the speaker's string length.
|
||||
- When disabled and/or the speaker name is too long, `OW_NAME_BOX_DEFAULT_WIDTH` will be used as the maximum width.
|
||||
- `OW_NAME_BOX_NPC_TRAINER` lets any approaching NPC trainers shows a namebox in their dialogue automagically.
|
||||
- `OW_NAME_BOX_DEFAULT_WIDTH` and `OW_NAME_BOX_DEFAULT_HEIGHT` sets the default width and height.
|
||||
- `OW_NAME_BOX_FOREGROUND_COLOR` and `OW_NAME_BOX_SHADOW_COLOR` sets the default text colors, the background color is handled by the engine.
|
||||
- `OW_FLAG_SUPPRESS_NAME_BOX` lets you enable/disable the namebox globally, assign a flag from [`include/constants/flags.h`](/include/constants/flags.h) onto this config to be able to use it.
|
||||
- Added a Speaker Name table, frequently-used names can be stored into `gSpeakerNamesTable` in [`src/data/speaker_names.h`](/src/data/speaker_names.h) and they can accessed by using a `SP_NAME_*` constant defined in [`include/constants/speaker_names.h`](/include/constants/speaker_names.h).
|
||||
- Added a new scripting macro `setspeaker ([textPointer]/[SP_NAME_*])`.
|
||||
- Besides a text pointer, it is possible to use the Speaker Name table to set the textPointer with the `gSpeakerNamesTable` array instead.
|
||||
- Feed it either `NULL` or `SP_NAME_NONE` will remove the namebox instead.
|
||||
- `release`, `releaseall`, and `closemessage` will automatically remove the namebox, together with the messagebox.
|
||||
- Added a new text control code/inline text `{SPEAKER NAME_*}`.
|
||||
- Unlike the `setspeaker` macro, you can only use the `SP_NAME_*` constants for this. It is partly due to the text engine's limitation itself.
|
||||
- You'll need to add the constants into `charmap.txt` to be able to use them for the same reason as above.
|
||||
- Feed it `SP_NAME_NONE` to remove the namebox manually.
|
||||
- Similarly, `release`, `releaseall`, and `closemessage` will automatically remove the namebox, together with the message box.
|
||||
|
||||
## Usage
|
||||
|
||||
### `setspeaker`
|
||||
#### Using a text pointer
|
||||
First, define your speaker's string.
|
||||
```
|
||||
Speaker_Jeremy:
|
||||
.string "Jeremy$"
|
||||
```
|
||||
|
||||
And then in your script, add the `setspeaker` with the speaker's name earlier.
|
||||
```
|
||||
...
|
||||
setspeaker Speaker_Jeremy
|
||||
...
|
||||
```
|
||||
|
||||
If you are using poryscript, you can also include the string right there with the `setspeaker` aka inline.
|
||||
```
|
||||
...
|
||||
setspeaker("Jeremy")
|
||||
...
|
||||
```
|
||||
#### Using a `SP_NAME_*` constant
|
||||
Add the `setspeaker` with your constant.
|
||||
```
|
||||
setspeaker SP_NAME_JEREMY
|
||||
```
|
||||
For instruction on how to add a new Speaker Name, continue [here](#adding-a-new-speaker-name).
|
||||
|
||||
### `SPEAKER` inline
|
||||
The usage is identical to using `setspeaker` with `SP_NAME_*` constant, but instead it's within your _text_ script and uses the constant you added to `charmap.txt`.
|
||||
```
|
||||
"{SPEAKER NAME_JEREMY}Yo wassup!"
|
||||
```
|
||||
For instruction on how to add a new Speaker Name, continue [here](#adding-a-new-speaker-name).
|
||||
|
||||
### Adding a new Speaker Name
|
||||
1. Add a new constant to [`include/constants/speaker_names.h`](/include/constants/speaker_names.h) just after `SP_NAME_NONE` _and_ before `SP_NAME_COUNT`.
|
||||
```diff
|
||||
enum SpeakerNames {
|
||||
SP_NAME_NONE = 0,
|
||||
SP_NAME_MOM,
|
||||
SP_NAME_PLAYER,
|
||||
+ SP_NAME_JEREMY,
|
||||
SP_NAME_COUNT
|
||||
};
|
||||
|
||||
```
|
||||
|
||||
2. Add an entry to `gSpeakerNamesTable` in [`src/data/speaker_names.h`](/src/data/speaker_names.h) with your newly added constant as the array index.
|
||||
```diff
|
||||
const u8 *const gSpeakerNamesTable[SP_NAME_COUNT] =
|
||||
{
|
||||
[SP_NAME_MOM] = COMPOUND_STRING("MOM"),
|
||||
[SP_NAME_PLAYER] = COMPOUND_STRING("{PLAYER}"),
|
||||
+ [SP_NAME_JEREMY] = COMPOUND_STRING("JEREMY"),
|
||||
};
|
||||
```
|
||||
|
||||
3. In order for this constant to be usable for `{SPEAKER}` inline, you'll need to add your constant onto [`charmap.txt`](/charmap.txt). **Do note that the order here MUST match with the one in [`include/constants/speaker_names.h`](/include/constants/speaker_names.h)!**
|
||||
```diff
|
||||
@ Speaker names, the order must be matching with include/constants/speaker_names.h
|
||||
NAME_NONE = 00
|
||||
NAME_MOM = 01
|
||||
NAME_PLAYER = 02
|
||||
-NAME_COUNT = 03
|
||||
+NAME_JEREMY = 03
|
||||
+NAME_COUNT = 04
|
||||
```
|
||||
@ -93,14 +93,21 @@ Contains more fundamental functions that control the flow of the battle. Functio
|
||||
### data/battle_scripts_1.s
|
||||
Each move's effect is governed by a script defined here. For a simple example, let's look at the script for Fake Out/First Impression:
|
||||
|
||||
TODO: New Script
|
||||
```
|
||||
BattleScript_EffectFirstTurnOnly::
|
||||
BattleScript_EffectTaunt::
|
||||
attackcanceler
|
||||
jumpifnotfirstturn BattleScript_FailedFromAtkString
|
||||
goto BattleScript_EffectHit
|
||||
jumpifability BS_TARGET_SIDE, ABILITY_AROMA_VEIL, BattleScript_AromaVeilProtects
|
||||
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
|
||||
settaunt BattleScript_ButItFailed
|
||||
attackanimation
|
||||
waitanimation
|
||||
printstring STRINGID_PKMNFELLFORTAUNT
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
goto BattleScript_MoveEnd
|
||||
```
|
||||
|
||||
`attackcanceler` is a command that covers all the cases that could cause a move to fail before it's even attempted (e.g. paralysis). And as we can tell from the commands, if it's not the first turn, we go to `BattleScript_FailedFromAtkString` which evidently causes us to print the `attackstring` ("POKEMON used MOVE") then fail ("But it failed!"). Otherwise, we go to the generic "hit" effect which is the same script for moves that just deal damage and nothing else.
|
||||
`attackcanceler` is a command that covers all cases that could cause a move to fail before it's even attempted (e.g. paralysis). The next command is a jump command. A jump command can check anything and usually comes with a jump instruction. Usually it jumps to a place from where the move should pick up because of certain conditions. The next one is an accuracy check. Accuracy checks happen after all prior move failure checks happened. The next set of commands are unique to a certain move, they are mostly the same for damaging moves but can widely differ for status moves. Lastly there is `BattleScript_MoveEnd` which the move after a succesful hit. An ability activation or specific move effect like Burn, Freeze, Absorb etc.
|
||||
|
||||
This is the most advanced part of the ROM. There are dozens upon dozens of commands and hundreds of scripts so this guide would go on forever if I were to go into more detail. To learn how these scripts work, it's best to look at a few examples of moves you know.
|
||||
|
||||
|
||||
@ -164,17 +164,17 @@ ASSUMPTIONS
|
||||
```
|
||||
|
||||
### `SINGLE_BATTLE_TEST`
|
||||
`SINGLE_BATTLE_TEST(name, results...)` and `DOUBLE_BATTLE_TEST(name, results...)`
|
||||
Define single- and double- battles. The names should start with the name of the mechanic being tested so that it is easier to run all the related tests. `results` contains variable declarations to be placed into the `results` array which is available in tests using `PARAMETRIZE` commands.
|
||||
The main differences for doubles are:
|
||||
`SINGLE_BATTLE_TEST(name, results...)`, `DOUBLE_BATTLE_TEST(name, results...)`, `MULTI_BATTLE_TEST(name, results...)`, `TWO_VS_ONE_BATTLE_TEST(name, results...)`, and `ONE_VS_TWO_BATTLE_TEST(name, results...)`
|
||||
Define single-, double-, 2v2-multi-, 2v1-multi-, and 1v2- battles. The names should start with the name of the mechanic being tested so that it is easier to run all the related tests. `results` contains variable declarations to be placed into the `results` array which is available in tests using `PARAMETRIZE` commands.
|
||||
The main differences for doubles, 2v2, 2v1, and 1v2 are:
|
||||
- Move targets sometimes need to be explicit.
|
||||
- Instead of `player` and `opponent` there is `playerLeft`, `playerRight`, `opponentLeft`, and `opponentRight`.
|
||||
|
||||
### `AI_SINGLE_BATTLE_TEST`
|
||||
`AI_SINGLE_BATTLE_TEST(name, results...)` and `AI_DOUBLE_BATTLE_TEST(name, results...)`
|
||||
`AI_SINGLE_BATTLE_TEST(name, results...)`, `AI_DOUBLE_BATTLE_TEST(name, results...)`, `AI_MULTI_BATTLE_TEST(name, results...)`, `AI_TWO_VS_ONE_BATTLE_TEST(name, results...)`, and `AI_ONE_VS_TWO_BATTLE_TEST(name, results...)`
|
||||
Define battles where opponent mons are controlled by AI, the same that runs
|
||||
when battling regular Trainers. The flags for AI should be specified by the `AI_FLAGS` command.
|
||||
The rules remain the same as with the `SINGLE` and `DOUBLE` battle tests with some differences:
|
||||
The rules remain the same as with the `SINGLE`, `DOUBLE`, `MULTI`, `TWO_VS_ONE`, and `ONE_VS_TWO` battle tests with some differences:
|
||||
- opponent's action is specified by the `EXPECT_MOVE` / `EXPECT_SEND_OUT` / `EXPECT_SWITCH` commands
|
||||
- we don't control what opponent actually does, instead we make sure the opponent does what we expect it to do
|
||||
- we still control the player's action the same way
|
||||
@ -268,7 +268,7 @@ GIVEN {
|
||||
```
|
||||
|
||||
### `PLAYER` and `OPPONENT`
|
||||
`PLAYER(species)` and `OPPONENT(species`
|
||||
`PLAYER(species)` and `OPPONENT(species)`
|
||||
Adds the species to the player's or opponent's party respectively.
|
||||
The Pokémon can be further customized with the following functions:
|
||||
- `Gender(MON_MALE | MON_FEMALE)`
|
||||
@ -285,11 +285,29 @@ For example to create a level 42 Wobbuffet that is poisoned:
|
||||
**Note if Speed is specified for any Pokémon then it must be specified for all Pokémon.**
|
||||
**Note if Moves is specified then MOVE will not automatically add moves to the moveset.**
|
||||
|
||||
### `MULTI_PLAYER`, `MULTI_PARTNER`, `MULTI_OPPONENT_A`, and `MULTI_OPPONENT_B`
|
||||
For tests using `MULTI_BATTLE_TEST`, `AI_MULTI_BATTLE_TEST`, `TWO_VS_ONE_BATTLE_TEST`, `AI_TWO_VS_ONE_BATTLE_TEST`, `ONE_VS_TWO_BATTLE_TEST`, and `AI_ONE_VS_TWO_BATTLE_TEST`, the below must be used instead of `PLAYER(species)` and `OPPONENT(species)`.
|
||||
`MULTI_PLAYER(species)`, `MULTI_PARTNER(species)`, `MULTI_OPPONENT_A(species)`, and `MULTI_OPPONENT_B(species)`
|
||||
Adds the species to the player's, player partner's, opponent A's, or opponent B's party, respectively.
|
||||
Pokemon can be customised as per the guidance for `PLAYER(species)` and `OPPONENT(species)`.
|
||||
The functions assign the Pokémon to the party of the trainer at `B_POSITION_PLAYER_LEFT`, `B_POSITION_PLAYER_RIGHT`, `B_POSITION_OPPONENT_LEFT`, and `B_POSITION_OPPONENT_RIGHT`, respectively.
|
||||
`MULTI_PLAYER(species)` and `MULTI_OPPONENT_A(species)` set Pokémon starting at party index 0, while `MULTI_PARTNER(species)` and `MULTI_OPPONENT_B(species)` set Pokémon starting at party index 3.
|
||||
For `ONE_VS_TWO` tests, `MULTI_PLAYER(species)` must be used for all player-side Pokémon, and for `TWO_VS_ONE` tests, `MULTI_OPPONENT_A(species)` must be used for all opponent-side Pokémon.
|
||||
All `MULTI_PLAYER(species)` Pokémon must be set before any `MULTI_PARTNER(species)` Pokémon, and all `MULTI_OPPONENT_A(species)` must be set before any `MULTI_OPPONENT_B(species)` Pokémon, else Pokémon will be set in the incorrect parties in the test.
|
||||
**Note where a side in a test has two trainers, the test setup manages the assigning of correct multi-party orders, therefore when using functions such as SEND_OUT, Player and Opponent A Pokémon may be referenced using indexes 0, 1, and 2, and Player's Partner and Opponent B Pokémon may be referenced using indexes 3, 4, and 5.**
|
||||
|
||||
### `AI_FLAGS`
|
||||
`AI_FLAGS(flags)`
|
||||
Specifies which AI flags are run during the test. Has use only for AI tests.
|
||||
Specifies which AI flags are run for all battlers during the test. Has use only for AI tests.
|
||||
The most common combination is `AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT)` which is the general 'smart' AI.
|
||||
|
||||
### `BATTLER_AI_FLAGS`
|
||||
`BATTLER_AI_FLAGS(battler, flags)`
|
||||
Specifies additional AI flags to be applied to specific battlers (battler 0/1/2/3). Has use only for AI tests.
|
||||
Must be used strictly after `AI_FLAGS(flags)`, which overwrites all existing flags.
|
||||
Example: `BATTLER_AI_FLAGS(3, AI_FLAG_RISKY)` used after `AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT)`
|
||||
will set `AI_FLAG_RISKY` to only `battler3` (Opponent B), in addition to the flags set by `AI_FLAGS`.
|
||||
|
||||
### `WHEN`
|
||||
```
|
||||
...
|
||||
@ -446,6 +464,20 @@ If the expected status icon is parametrized the corresponding `STATUS1` constant
|
||||
STATUS_ICON(player, status1);
|
||||
```
|
||||
|
||||
### `SUB_HIT`
|
||||
`SUB_HIT(battler, captureDamage: | subBreak:)`
|
||||
Causes the test to fail the test to fail if a Substitute for the specified battler doesn't take damage.
|
||||
If `captureDamage` is used, the damage the substitute takes is written to the supplied pointer.
|
||||
```
|
||||
u16 damage;
|
||||
...
|
||||
SUB_HIT(player, captureDamage: &damage);
|
||||
```
|
||||
If `subBreak` is set to `TRUE`, the test will fail unless the substitute breaks. And if set to `FALSE`, the test will fail unless the substitute survives.
|
||||
```
|
||||
SUB_HIT(player, subBreak: TRUE);
|
||||
```
|
||||
|
||||
### `NOT`
|
||||
`NOT sceneCommand`
|
||||
Causes the test to fail if the `SCENE` command succeeds before the following command succeeds.
|
||||
|
||||
BIN
docs/tutorials/img/apricorn_tree/apricorn-tree-porymap.png
Normal file
|
After Width: | Height: | Size: 107 KiB |
BIN
docs/tutorials/img/apricorn_tree/apricorn-tree.gif
Normal file
|
After Width: | Height: | Size: 87 KiB |
BIN
docs/tutorials/img/namebox/msgbox.gif
Normal file
|
After Width: | Height: | Size: 540 KiB |
BIN
docs/tutorials/img/namebox/npc_trainers.gif
Normal file
|
After Width: | Height: | Size: 86 KiB |
BIN
docs/tutorials/img/namebox/pokenav.gif
Normal file
|
After Width: | Height: | Size: 784 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 247 B |
19
graphics/field_effects/palettes/oras_dowsing.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
115 197 164
|
||||
0 0 0
|
||||
255 255 255
|
||||
255 255 255
|
||||
255 255 255
|
||||
255 255 255
|
||||
255 255 255
|
||||
255 255 255
|
||||
255 255 255
|
||||
255 255 255
|
||||
255 255 255
|
||||
255 255 255
|
||||
255 255 255
|
||||
255 255 255
|
||||
255 255 255
|
||||
255 0 255
|
||||
BIN
graphics/field_effects/pics/oras_dowsing_brendan.png
Normal file
|
After Width: | Height: | Size: 313 B |
BIN
graphics/field_effects/pics/oras_dowsing_may.png
Normal file
|
After Width: | Height: | Size: 345 B |
BIN
graphics/object_events/pics/misc/apricorn_tree.png
Normal file
|
After Width: | Height: | Size: 228 B |
BIN
graphics/pokemon/castform/back_gba.png
Normal file
|
After Width: | Height: | Size: 373 B |
BIN
graphics/pokemon/castform/front_gba.png
Normal file
|
After Width: | Height: | Size: 382 B |
BIN
graphics/pokemon/castform/icon_gba.png
Normal file
|
After Width: | Height: | Size: 263 B |
19
graphics/pokemon/castform/normal_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
197 197 148
|
||||
90 82 82
|
||||
205 189 189
|
||||
230 222 222
|
||||
246 246 238
|
||||
0 0 0
|
||||
255 255 255
|
||||
222 222 246
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
148 148 148
|
||||
74 82 74
|
||||
255 255 255
|
||||
24 24 24
|
||||
BIN
graphics/pokemon/castform/rainy/back_gba.png
Normal file
|
After Width: | Height: | Size: 495 B |
BIN
graphics/pokemon/castform/rainy/front_gba.png
Normal file
|
After Width: | Height: | Size: 549 B |
19
graphics/pokemon/castform/rainy/normal_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
197 197 148
|
||||
57 65 90
|
||||
98 115 189
|
||||
115 139 213
|
||||
148 180 205
|
||||
0 0 0
|
||||
205 238 246
|
||||
180 197 222
|
||||
139 205 222
|
||||
131 180 197
|
||||
82 98 131
|
||||
197 197 197
|
||||
148 139 148
|
||||
90 90 82
|
||||
255 255 255
|
||||
24 24 24
|
||||
19
graphics/pokemon/castform/rainy/shiny_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
197 197 148
|
||||
57 65 90
|
||||
98 115 189
|
||||
115 139 213
|
||||
148 180 205
|
||||
0 0 0
|
||||
205 238 246
|
||||
180 197 222
|
||||
139 205 222
|
||||
131 180 197
|
||||
82 98 131
|
||||
197 197 197
|
||||
148 139 148
|
||||
90 90 82
|
||||
255 255 255
|
||||
24 24 24
|
||||
19
graphics/pokemon/castform/shiny_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
197 197 148
|
||||
98 90 90
|
||||
205 164 189
|
||||
230 197 222
|
||||
255 222 255
|
||||
0 0 0
|
||||
255 246 65
|
||||
230 180 32
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
148 148 148
|
||||
74 82 74
|
||||
255 255 255
|
||||
24 24 24
|
||||
BIN
graphics/pokemon/castform/snowy/back_gba.png
Normal file
|
After Width: | Height: | Size: 628 B |
BIN
graphics/pokemon/castform/snowy/front_gba.png
Normal file
|
After Width: | Height: | Size: 688 B |
19
graphics/pokemon/castform/snowy/normal_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
197 197 148
|
||||
41 82 57
|
||||
123 82 189
|
||||
139 115 213
|
||||
148 180 205
|
||||
0 0 0
|
||||
197 180 255
|
||||
156 156 197
|
||||
139 205 172
|
||||
115 164 139
|
||||
98 74 115
|
||||
189 230 230
|
||||
82 115 106
|
||||
74 82 74
|
||||
255 255 255
|
||||
24 24 24
|
||||
19
graphics/pokemon/castform/snowy/shiny_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
197 197 148
|
||||
41 82 57
|
||||
123 82 189
|
||||
139 115 213
|
||||
148 180 205
|
||||
0 0 0
|
||||
197 180 255
|
||||
156 156 197
|
||||
139 205 172
|
||||
115 164 139
|
||||
98 74 115
|
||||
189 230 230
|
||||
82 115 106
|
||||
74 82 74
|
||||
255 255 255
|
||||
24 24 24
|
||||
BIN
graphics/pokemon/castform/sunny/back_gba.png
Normal file
|
After Width: | Height: | Size: 559 B |
BIN
graphics/pokemon/castform/sunny/front_gba.png
Normal file
|
After Width: | Height: | Size: 656 B |
19
graphics/pokemon/castform/sunny/normal_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
197 197 148
|
||||
98 49 41
|
||||
205 90 74
|
||||
238 123 74
|
||||
255 156 65
|
||||
0 0 0
|
||||
255 246 106
|
||||
230 213 106
|
||||
255 156 98
|
||||
213 131 74
|
||||
148 90 65
|
||||
213 205 230
|
||||
0 0 0
|
||||
90 90 82
|
||||
255 255 255
|
||||
24 24 24
|
||||
19
graphics/pokemon/castform/sunny/shiny_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
197 197 148
|
||||
98 49 41
|
||||
205 90 74
|
||||
238 123 74
|
||||
255 156 65
|
||||
0 0 0
|
||||
255 246 106
|
||||
230 213 106
|
||||
255 156 98
|
||||
213 131 74
|
||||
148 90 65
|
||||
213 205 230
|
||||
0 0 0
|
||||
90 90 82
|
||||
255 255 255
|
||||
24 24 24
|
||||
BIN
graphics/pokemon/deoxys/attack/back_gba.png
Normal file
|
After Width: | Height: | Size: 664 B |
BIN
graphics/pokemon/deoxys/attack/front_gba.png
Normal file
|
After Width: | Height: | Size: 997 B |
19
graphics/pokemon/deoxys/attack/normal_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
205 205 255
|
||||
115 74 49
|
||||
213 106 106
|
||||
255 131 74
|
||||
255 172 131
|
||||
115 213 172
|
||||
82 172 123
|
||||
57 98 90
|
||||
0 0 0
|
||||
156 156 131
|
||||
106 8 156
|
||||
0 98 230
|
||||
115 115 106
|
||||
197 197 213
|
||||
255 255 255
|
||||
24 24 24
|
||||
19
graphics/pokemon/deoxys/attack/shiny_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
205 205 255
|
||||
106 90 24
|
||||
197 189 65
|
||||
255 222 74
|
||||
255 246 139
|
||||
115 213 172
|
||||
82 172 123
|
||||
57 98 90
|
||||
0 0 0
|
||||
156 156 131
|
||||
106 8 156
|
||||
0 98 230
|
||||
115 115 106
|
||||
197 197 213
|
||||
255 255 255
|
||||
24 24 24
|
||||
BIN
graphics/pokemon/deoxys/defense/back_gba.png
Normal file
|
After Width: | Height: | Size: 631 B |
BIN
graphics/pokemon/deoxys/defense/front_gba.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
19
graphics/pokemon/deoxys/defense/normal_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
205 205 255
|
||||
115 74 49
|
||||
213 106 106
|
||||
255 131 74
|
||||
255 172 131
|
||||
115 213 172
|
||||
82 172 123
|
||||
57 98 90
|
||||
0 0 0
|
||||
156 156 131
|
||||
106 8 156
|
||||
0 98 230
|
||||
115 115 106
|
||||
197 197 213
|
||||
255 255 255
|
||||
24 24 24
|
||||
19
graphics/pokemon/deoxys/defense/shiny_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
205 205 255
|
||||
106 90 24
|
||||
197 189 65
|
||||
255 222 74
|
||||
255 246 139
|
||||
115 213 172
|
||||
82 172 123
|
||||
57 98 90
|
||||
0 0 0
|
||||
156 156 131
|
||||
106 8 156
|
||||
0 98 230
|
||||
115 115 106
|
||||
197 197 213
|
||||
255 255 255
|
||||
24 24 24
|
||||
BIN
graphics/pokemon/deoxys/speed/back_gba.png
Normal file
|
After Width: | Height: | Size: 694 B |
BIN
graphics/pokemon/deoxys/speed/front_gba.png
Normal file
|
After Width: | Height: | Size: 945 B |
19
graphics/pokemon/deoxys/speed/normal_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
205 205 255
|
||||
115 74 49
|
||||
213 106 106
|
||||
255 131 74
|
||||
255 172 131
|
||||
115 213 172
|
||||
131 164 156
|
||||
57 98 90
|
||||
82 74 65
|
||||
156 156 131
|
||||
139 8 205
|
||||
222 106 230
|
||||
123 115 82
|
||||
197 197 213
|
||||
255 255 255
|
||||
24 24 24
|
||||
19
graphics/pokemon/deoxys/speed/shiny_gba.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
205 205 255
|
||||
106 90 24
|
||||
197 189 65
|
||||
255 222 57
|
||||
255 246 139
|
||||
115 213 172
|
||||
82 172 123
|
||||
57 98 90
|
||||
82 74 65
|
||||
156 156 131
|
||||
106 8 156
|
||||
0 98 230
|
||||
115 115 106
|
||||
197 197 213
|
||||
255 255 255
|
||||
24 24 24
|
||||
|
Before Width: | Height: | Size: 668 B After Width: | Height: | Size: 667 B |
|
Before Width: | Height: | Size: 670 B After Width: | Height: | Size: 668 B |
|
Before Width: | Height: | Size: 663 B After Width: | Height: | Size: 665 B |
|
Before Width: | Height: | Size: 666 B After Width: | Height: | Size: 658 B |
|
Before Width: | Height: | Size: 669 B After Width: | Height: | Size: 668 B |
|
Before Width: | Height: | Size: 759 B After Width: | Height: | Size: 749 B |
|
Before Width: | Height: | Size: 916 B After Width: | Height: | Size: 821 B |
|
Before Width: | Height: | Size: 759 B After Width: | Height: | Size: 749 B |