Merge branch 'upcoming' into disablefollowersbydefault

This commit is contained in:
Bassoonian 2024-07-11 14:08:55 +02:00 committed by GitHub
commit ef76a6b21b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3527 changed files with 24150 additions and 17702 deletions

View File

@ -23,9 +23,10 @@ body:
label: Version
description: What version of pokeemerald-expansion are you using as a base?
options:
- 1.8.4 (Latest release)
- 1.8.5 (Latest release)
- master (default, unreleased bugfixes)
- upcoming (Edge)
- 1.8.4
- 1.8.3
- 1.8.2
- 1.8.1

View File

@ -23,10 +23,12 @@ body:
label: Version
description: What version of pokeemerald-expansion are you using as a base?
options:
- 1.8.4 (Latest release)
- 1.8.5 (Latest release)
- master (default, unreleased bugfixes)
- upcoming (Edge)
- 1.8.4
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.4

View File

@ -23,10 +23,12 @@ body:
label: Version
description: What version of pokeemerald-expansion are you using as a base?
options:
- 1.8.4 (Latest release)
- 1.8.5 (Latest release)
- master (default, unreleased bugfixes)
- upcoming (Edge)
- 1.8.4
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.4

48
.github/workflows/docs.yml vendored Normal file
View File

@ -0,0 +1,48 @@
name: Docs
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: write
pages: write
id-token: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install latest mdbook
run: |
tag=$(curl 'https://api.github.com/repos/rust-lang/mdbook/releases/latest' | jq -r '.tag_name')
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
echo `pwd`/mdbook >> $GITHUB_PATH
- name: Build Book
run: |
cd docs
mdbook build
- name: Check if Pages is enabled
uses: octokit/request-action@v2.x
id: check_pages
continue-on-error: true
with:
route: GET /repos/{repo}/pages
repo: ${{ github.repository }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Pages
uses: actions/configure-pages@v4
if: steps.check_pages.outcome == 'success'
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: 'docs/book'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
if: steps.check_pages.outcome == 'success'

View File

@ -1,48 +1,49 @@
# Pokeemerald-Expansion Changelogs
## 1.8.x
- ### [Version 1.8.4](docs/changelogs/1.8.x/1.8.4.md) - Bugfix Release 🧹
- ### [Version 1.8.3](docs/changelogs/1.8.x/1.8.3.md) - Bugfix Release 🧹
- ### [Version 1.8.2](docs/changelogs/1.8.x/1.8.2.md) - Bugfix Release 🧹
- ### [Version 1.8.1](docs/changelogs/1.8.x/1.8.1.md) - HOTFIX Release 🔥
- ### [Version 1.8.0](docs/changelogs/1.8.x/1.8.0.md) - Feature Release ✨
- **[Version 1.8.5](docs/changelogs/1.8.x/1.8.5.md) - 🧹 Bugfix Release**
- **[Version 1.8.4](docs/changelogs/1.8.x/1.8.4.md) - 🧹 Bugfix Release**
- **[Version 1.8.3](docs/changelogs/1.8.x/1.8.3.md) - 🧹 Bugfix Release**
- **[Version 1.8.2](docs/changelogs/1.8.x/1.8.2.md) - 🧹 Bugfix Release**
- **[Version 1.8.1](docs/changelogs/1.8.x/1.8.1.md) - 🔥 HOTFIX Release**
- **[Version 1.8.0](docs/changelogs/1.8.x/1.8.0.md) - ✨ Feature Release**
## 1.7.x
- ### [Version 1.7.4](docs/changelogs/1.7.x/1.7.4.md) - Bugfix Release 🧹
- ### [Version 1.7.3](docs/changelogs/1.7.x/1.7.3.md) - Bugfix Release 🧹
- ### [Version 1.7.2](docs/changelogs/1.7.x/1.7.2.md) - Bugfix Release 🧹
- ### [Version 1.7.1](docs/changelogs/1.7.x/1.7.1.md) - Bugfix Release 🧹
- ### [Version 1.7.0](docs/changelogs/1.7.x/1.7.0.md) - Feature Release ✨
- **[Version 1.7.4](docs/changelogs/1.7.x/1.7.4.md) - 🧹 Bugfix Release**
- **[Version 1.7.3](docs/changelogs/1.7.x/1.7.3.md) - 🧹 Bugfix Release**
- **[Version 1.7.2](docs/changelogs/1.7.x/1.7.2.md) - 🧹 Bugfix Release**
- **[Version 1.7.1](docs/changelogs/1.7.x/1.7.1.md) - 🧹 Bugfix Release**
- **[Version 1.7.0](docs/changelogs/1.7.x/1.7.0.md) - ✨ Feature Release**
## 1.6.x
- ### [Version 1.6.2](docs/changelogs/1.6.x/1.6.2.md) - Bugfix Release 🧹
- ### [Version 1.6.1](docs/changelogs/1.6.x/1.6.1.md) - HOTFIX Release 🔥
- ### [Version 1.6.0](docs/changelogs/1.6.x/1.6.0.md) - Feature Release ✨
- **[Version 1.6.2](docs/changelogs/1.6.x/1.6.2.md) - 🧹 Bugfix Release**
- **[Version 1.6.1](docs/changelogs/1.6.x/1.6.1.md) - 🔥 HOTFIX Release**
- **[Version 1.6.0](docs/changelogs/1.6.x/1.6.0.md) - ✨ Feature Release**
## 1.5.x
- ### [Version 1.5.3](docs/changelogs/1.5.x/1.5.3.md) - HOTFIX Release 🔥
- ### [Version 1.5.2](docs/changelogs/1.5.x/1.5.2.md) - Bugfix Release 🧹
- ### [Version 1.5.1](docs/changelogs/1.5.x/1.5.1.md) - Bugfix Release 🧹
- ### [Version 1.5.0](docs/changelogs/1.5.x/1.5.0.md) - Feature Release ✨
- **[Version 1.5.3](docs/changelogs/1.5.x/1.5.3.md) - 🔥 HOTFIX Release**
- **[Version 1.5.2](docs/changelogs/1.5.x/1.5.2.md) - 🧹 Bugfix Release**
- **[Version 1.5.1](docs/changelogs/1.5.x/1.5.1.md) - 🧹 Bugfix Release**
- **[Version 1.5.0](docs/changelogs/1.5.x/1.5.0.md) - ✨ Feature Release**
## 1.4.x
- ### [Version 1.4.3](docs/changelogs/1.4.x/1.4.3.md) - Bugfix Release 🧹
- ### [Version 1.4.2](docs/changelogs/1.4.x/1.4.2.md) - Bugfix Release 🧹
- ### [Version 1.4.1](docs/changelogs/1.4.x/1.4.1.md) - HOTFIX Release 🔥
- ### [Version 1.4.0](docs/changelogs/1.4.x/1.4.0.md) - Feature Release ✨
- **[Version 1.4.3](docs/changelogs/1.4.x/1.4.3.md) - 🧹 Bugfix Release**
- **[Version 1.4.2](docs/changelogs/1.4.x/1.4.2.md) - 🧹 Bugfix Release**
- **[Version 1.4.1](docs/changelogs/1.4.x/1.4.1.md) - 🔥 HOTFIX Release**
- **[Version 1.4.0](docs/changelogs/1.4.x/1.4.0.md) - ✨ Feature Release**
## 1.3.x
- ### [Version 1.3.0](docs/changelogs/1.3.x/1.3.0.md) - Feature Release ✨
- **[Version 1.3.0](docs/changelogs/1.3.x/1.3.0.md) - ✨ Feature Release**
## 1.2.x
- ### [Version 1.2.0](docs/changelogs/1.2.x/1.2.0.md) - Feature Release ✨
- **[Version 1.2.0](docs/changelogs/1.2.x/1.2.0.md) - ✨ Feature Release**
## 1.1.x
- ### [Version 1.1.1](docs/changelogs/1.1.x/1.1.1.md) - Bugfix Release 🧹
- ### [Version 1.1.0](docs/changelogs/1.1.x/1.1.0.md) - Feature Release ✨
- **[Version 1.1.1](docs/changelogs/1.1.x/1.1.1.md) - 🧹 Bugfix Release**
- **[Version 1.1.0](docs/changelogs/1.1.x/1.1.0.md) - ✨ Feature Release**
## 1.0.x
- ### [Version 1.0.0](docs/changelogs/1.0.x/1.0.0.md) - Feature Release ✨
- **[Version 1.0.0](docs/changelogs/1.0.x/1.0.0.md) - ✨ Feature Release**
## Pre-1.0.x:
- ### [Version 0.9.0](docs/changelogs/0.9.x/0.9.0.md) - Retroactive Version 🦕
- **[Version 0.9.0](docs/changelogs/0.9.x/0.9.0.md) - 🦕 Retroactive Version**

View File

@ -475,6 +475,20 @@ devkitARM is now installed.
Then proceed to [Choosing where to store pokeemerald Expansion (Linux)](#choosing-where-to-store-pokeemerald-expansion-linux).
### NixOS
Run the following command to start an interactive shell with the necessary packages:
```bash
nix-shell -p pkgsCross.arm-embedded.stdenv.cc git pkg-config libpng
```
Then proceed to [Choosing where to store pokeemerald Expansion (Linux)](#choosing-where-to-store-pokeemerald-expansion-linux).
### NixOS
Run the following command to start an interactive shell with the necessary packages:
```bash
nix-shell -p pkgsCross.arm-embedded.stdenv.cc git pkg-config libpng
```
Then proceed to [Choosing where to store pokeemerald Expansion (Linux)](#choosing-where-to-store-pokeemerald-expansion-linux).
### Other distributions
_(Specific instructions for other distributions would be greatly appreciated!)_
@ -592,7 +606,8 @@ Note that this is not necessary for a non-modern (agbcc) build since those are b
<details>
<summary><i>Deprecated; installing agbcc is optional since 1.7.0</i>.</summary>
2. Install agbcc into pokeemerald-expansion. The commands to run depend on certain conditions. **You should only follow one of the listed instructions**:
1. Install agbcc into pokeemerald-expansion. The commands to run depend on certain conditions. **You should only follow one of the listed instructions**:
- If agbcc has **not been built before** in the folder where you chose to store pokeemerald Expansion, run the following commands to build and install it into pokeemerald-expansion:
```bash
@ -624,15 +639,17 @@ Note that this is not necessary for a non-modern (agbcc) build since those are b
> If building agbcc or pokeemerald results in an error, try deleting the agbcc folder and re-installing agbcc as if it has not been built before.
</details>
3. Once agbcc is installed, change directory back to the base directory where pokeemerald-expansion and agbcc are stored:
2. Once agbcc is installed, change directory back to the base directory where pokeemerald-expansion and agbcc are stored:
```bash
cd ..
```
4. To compile with agbcc:
3. To compile with agbcc:
```make agbcc```
```bash
make agbcc
```
</details>

View File

@ -80,16 +80,19 @@ MODERN_ELF_NAME := $(MODERN_ROM_NAME:.gba=.elf)
MODERN_MAP_NAME := $(MODERN_ROM_NAME:.gba=.map)
MODERN_OBJ_DIR_NAME := build/modern
SHELL := /bin/bash -o pipefail
SHELL := bash -o pipefail
ELF = $(ROM:.gba=.elf)
MAP = $(ROM:.gba=.map)
SYM = $(ROM:.gba=.sym)
TEST_OBJ_DIR_NAME_MODERN := build/modern-test
TEST_OBJ_DIR_NAME_AGBCC := build/test
ifeq ($(MODERN),0)
TEST_OBJ_DIR_NAME := build/test
TEST_OBJ_DIR_NAME := $(TEST_OBJ_DIR_NAME_AGBCC)
else
TEST_OBJ_DIR_NAME := build/modern-test
TEST_OBJ_DIR_NAME := $(TEST_OBJ_DIR_NAME_MODERN)
endif
TESTELF = $(ROM:.gba=-test.elf)
HEADLESSELF = $(ROM:.gba=-test-headless.elf)
@ -293,7 +296,7 @@ mostlyclean: tidynonmodern tidymodern tidycheck
rm -f $(MID_SUBDIR)/*.s
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.rl' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
rm -f $(DATA_ASM_SUBDIR)/layouts/layouts.inc $(DATA_ASM_SUBDIR)/layouts/layouts_table.inc
rm -f $(DATA_ASM_SUBDIR)/maps/connections.inc $(DATA_ASM_SUBDIR)/maps/events.inc $(DATA_ASM_SUBDIR)/maps/groups.inc $(DATA_ASM_SUBDIR)/maps/headers.inc
rm -f $(DATA_ASM_SUBDIR)/maps/connections.inc $(DATA_ASM_SUBDIR)/maps/events.inc $(DATA_ASM_SUBDIR)/maps/groups.inc $(DATA_ASM_SUBDIR)/maps/headers.inc $(DATA_SRC_SUBDIR)/map_group_count.h
find $(DATA_ASM_SUBDIR)/maps \( -iname 'connections.inc' -o -iname 'events.inc' -o -iname 'header.inc' \) -exec rm {} +
rm -f $(AUTO_GEN_TARGETS)
@$(MAKE) clean -C libagbsyscall
@ -310,7 +313,9 @@ tidymodern:
tidycheck:
rm -f $(TESTELF) $(HEADLESSELF)
rm -rf $(TEST_OBJ_DIR_NAME)
rm -rf $(TEST_OBJ_DIR_NAME_MODERN)
rm -rf $(TEST_OBJ_DIR_NAME_AGBCC)
ifneq ($(MODERN),0)
$(C_BUILDDIR)/berry_crush.o: override CFLAGS += -Wno-address-of-packed-member

View File

@ -14,11 +14,11 @@ Based off RHH's pokeemerald-expansion v1.8.0 https://github.com/rh-hideout/pokee
## What features are included?
- ***IMPORTANT*❗❗ Read through these to learn what features you can toggle**:
- [Battle configurations](include/config/battle.h)
- [Pokémon configurations](include/config/pokemon.h)
- [Item configurations](include/config/item.h)
- [Overworld configurations](include/config/overworld.h)
- [Debug configurations](include/config/debug.h)
- [Battle configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/battle.h)
- [Pokémon configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/pokemon.h)
- [Item configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/item.h)
- [Overworld configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/overworld.h)
- [Debug configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/debug.h)
- ***Upgraded battle engine.***
- Gen5+ damage calculation.
- 2v2 Wild battles support.
@ -62,7 +62,7 @@ Based off RHH's pokeemerald-expansion v1.8.0 https://github.com/rh-hideout/pokee
- Recalculating stats at the end of every battle.
- Level 100 Pokémon can earn EVs.
- Inverse battle support.
- TONS of other features listed [here](include/config/battle.h).
- TONS of other features listed [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/battle.h).
- ***Full Trainer customization***
- Nickname, EVs, IVs, moves, ability, ball, friendship, nature, gender, shininess.
- Custom tag battle support (teaming up an NPC in a double battle).
@ -94,7 +94,7 @@ Based off RHH's pokeemerald-expansion v1.8.0 https://github.com/rh-hideout/pokee
- All gender differences.
- Custom female icons for female Hippopotas Hippowdon, Pikachu and Wobbufett
- 3 Perfect IVs on Legendaries, Mythicals and Ultra Beasts.
- ***Customizable form change tables. Full list of methods [here](include/constants/form_change_types.h).***
- ***Customizable form change tables. Full list of methods [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/form_change_types.h).***
- Item holding (eg. Giratina/Arceus)
- Item using (eg. Oricorio)
- Time of day option for Shaymin
@ -115,7 +115,7 @@ Based off RHH's pokeemerald-expansion v1.8.0 https://github.com/rh-hideout/pokee
- Egg Move Transfer, including Mirror Herb (configurable).
- Nature inheriting 100% of the time with Everstone (configurable)
- Gen6+ Ability inheriting (configurable).
- ***Items from newer Generations. Full list [here](include/constants/items.h).***
- ***Items from newer Generations. Full list [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/items.h).***
- ***Gen 6+ Exp. Share*** (configurable)
- Berserk Gene
- Most battle items from Gen 4+
@ -141,6 +141,14 @@ Based off RHH's pokeemerald-expansion v1.8.0 https://github.com/rh-hideout/pokee
- [Nature Colors](https://github.com/DizzyEggg/pokeemerald/tree/nature_color) in summary screen by @DizzyEggg
- [Dynamic Multichoice](https://github.com/SBird1337/pokeemerald/tree/feature/dynmulti) by @SBird1337
- [Saveblock Cleansing](https://github.com/ghoulslash/pokeemerald/tree/saveblock) by @ghoulslash
- [Followers & Expanded IDs](https://github.com/aarant/pokeemerald/tree/followers-expanded-id) by @aarant
- May be disabled.
- Includes Pokémon followers like in HGSS, including interactions.
- ***Expands the amount of possible object event IDs beyond 255.***
- ***Includes an implementation of dynamic overworld palettes (DOWP).***
- **Additional features**:
- *Pokémon overworld sprites up to Generation 8.*
- *Integration with our Pokémon Sprite Visualizer, allowing users to browse through the follower sprites alongside battle sprites.*
- ***Other features***
- Pressing B while holding a Pokémon drops them like in modern games (configurable).
- Running indoors (configurable).

View File

@ -98,7 +98,7 @@
waitstate
.endm
.macro multi_do type:req, partnerId:req, partnerPicId:req
.macro multi_do type:req, partnerId:req
special ReducePlayerPartyToSelectedMons
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
setvar VAR_0x8005, FRONTIER_DATA_SELECTED_MON_ORDER
@ -106,7 +106,6 @@
setvar VAR_0x8004, SPECIAL_BATTLE_MULTI
setvar VAR_0x8005, \type | MULTI_BATTLE_CHOOSE_MONS
setvar VAR_0x8006, \partnerId
setvar VAR_0x8007, \partnerPicId
special DoSpecialTrainerBattle
waitstate
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SAVE_PARTY
@ -114,30 +113,29 @@
special LoadPlayerParty
.endm
.macro multi_2_vs_2 trainer1Id:req, trainer1LoseText:req, trainer2Id:req, trainer2LoseText:req, partnerId:req, partnerPicId:req
.macro multi_2_vs_2 trainer1Id:req, trainer1LoseText:req, trainer2Id:req, trainer2LoseText:req, partnerId:req
special SavePlayerParty
trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons
trainerbattle TRAINER_BATTLE_SET_TRAINER_B, \trainer2Id, 0, NULL, \trainer2LoseText @ set second trainer mons
multi_do MULTI_BATTLE_2_VS_2, \partnerId, \partnerPicId
multi_do MULTI_BATTLE_2_VS_2, \partnerId
.endm
.macro multi_2_vs_1 trainer1Id:req, trainer1LoseText:req, partnerId:req, partnerPicId:req
.macro multi_2_vs_1 trainer1Id:req, trainer1LoseText:req, partnerId:req
special SavePlayerParty
trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons
multi_do MULTI_BATTLE_2_VS_1, \partnerId, \partnerPicId
multi_do MULTI_BATTLE_2_VS_1, \partnerId
.endm
@ Wild mons need to be assigned to gEnemyParty 0 and 3 slots, other slots need to be cleared out.
.macro multi_wild partnerId:req, partnerPicId:req
.macro multi_wild partnerId:req
special SavePlayerParty
multi_do MULTI_BATTLE_2_VS_WILD, \partnerId, \partnerPicId
multi_do MULTI_BATTLE_2_VS_WILD, \partnerId
.endm
.macro multi_do_fixed type:req, partnerId:req, partnerPicId:req
.macro multi_do_fixed type:req, partnerId:req
setvar VAR_0x8004, SPECIAL_BATTLE_MULTI
setvar VAR_0x8005, \type
setvar VAR_0x8006, \partnerId
setvar VAR_0x8007, \partnerPicId
special DoSpecialTrainerBattle
waitstate
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SAVE_PARTY
@ -145,21 +143,21 @@
special LoadPlayerParty
.endm
.macro multi_fixed_2_vs_2 trainer1Id:req, trainer1LoseText:req, trainer2Id:req, trainer2LoseText:req, partnerId:req, partnerPicId:req
.macro multi_fixed_2_vs_2 trainer1Id:req, trainer1LoseText:req, trainer2Id:req, trainer2LoseText:req, partnerId:req
special SavePlayerParty
trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons
trainerbattle TRAINER_BATTLE_SET_TRAINER_B, \trainer2Id, 0, NULL, \trainer2LoseText @ set second trainer mons
multi_do_fixed MULTI_BATTLE_2_VS_2, \partnerId, \partnerPicId
multi_do_fixed MULTI_BATTLE_2_VS_2, \partnerId
.endm
.macro multi_fixed_2_vs_1 trainer1Id:req, trainer1LoseText:req, partnerId:req, partnerPicId:req
.macro multi_fixed_2_vs_1 trainer1Id:req, trainer1LoseText:req, partnerId:req
special SavePlayerParty
trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons
multi_do_fixed MULTI_BATTLE_2_VS_1, \partnerId, \partnerPicId
multi_do_fixed MULTI_BATTLE_2_VS_1, \partnerId
.endm
@ Wild mons need to be assigned to gEnemyParty 0 and 3 slots, other slots need to be cleared out.
.macro multi_fixed_wild partnerId:req, partnerPicId:req
.macro multi_fixed_wild partnerId:req
special SavePlayerParty
multi_do_fixed MULTI_BATTLE_2_VS_WILD, \partnerId, \partnerPicId
multi_do_fixed MULTI_BATTLE_2_VS_WILD, \partnerId
.endm

View File

@ -1520,18 +1520,10 @@
.4byte \jumpInstr
.endm
.macro jumpifrodaffected battler:req, jumpInstr:req
callnative BS_JumpIfRod
.4byte \jumpInstr
.endm
.macro jumpifabsorbaffected battler:req, jumpInstr:req
callnative BS_JumpIfAbsorb
.4byte \jumpInstr
.endm
.macro jumpifmotoraffected battler:req, jumpInstr:req
callnative BS_JumpIfMotor
.macro jumpifelectricabilityaffected battler:req, ability:req, jumpInstr:req
callnative BS_JumpIfElectricAbilityAffected
.byte \battler
.2byte \ability
.4byte \jumpInstr
.endm
@ -1641,6 +1633,10 @@
callnative BS_TryUpdateRecoilTracker
.endm
.macro tryupdateleaderscresttracker
callnative BS_TryUpdateLeadersCrestTracker
.endm
.macro trytidyup clear:req, jumpInstr:req
callnative BS_TryTidyUp
.byte \clear
@ -1668,6 +1664,10 @@
callnative BS_ApplyTerastallization
.endm
.macro damagetoquartertargethp
callnative BS_DamageToQuarterTargetHP
.endm
@ various command changed to more readable macros
.macro cancelmultiturnmoves battler:req
various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
@ -2224,10 +2224,6 @@
.4byte \failInstr
.endm
.macro shellsidearmcheck
various BS_ATTACKER, VARIOUS_SHELL_SIDE_ARM_CHECK
.endm
.macro jumpifteanoberry jumpInstr:req
various BS_ATTACKER, VARIOUS_TEATIME_TARGETS
.4byte \jumpInstr

View File

@ -776,6 +776,16 @@
trainerbattle TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT, \trainer, 0, \lose_text
.endm
@ Starts a double battle with the player against two trainers
@ Takes two trainers and defeat text for each
.macro trainerbattle_two_trainers trainer_a:req, lose_text_a:req, trainer_b:req, lose_text_b:req
.byte 0x5c
.byte TRAINER_BATTLE_TWO_TRAINERS_NO_INTRO
.2byte \trainer_a
.4byte \lose_text_a
.2byte \trainer_b
.4byte \lose_text_b
.endm
@ Starts a trainer battle using the battle information stored in RAM (usually by the scripts in trainer_battle.inc, which
@ are run by trainerbattle), and blocks script execution until the battle finishes.
@ -987,7 +997,69 @@
@ Gives the player a Pokémon of the specified species and level, and allows to customize extra parameters.
@ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome.
.macro givemon species:req, level:req, item, ball, nature, abilityNum, gender, hpEv, atkEv, defEv, speedEv, spAtkEv, spDefEv, hpIv, atkIv, defIv, speedIv, spAtkIv, spDefIv, move1, move2, move3, move4, isShiny, ggMaxFactor, teraType
callnative ScrCmd_givemon
callnative ScrCmd_createmon
.byte 0
.byte 6 @ PARTY_SIZE - assign to first empty slot
.set givemon_flags, 0
.2byte \species
.2byte \level
.ifnb \item; .set givemon_flags, givemon_flags | (1 << 0); .endif
.ifnb \ball; .set givemon_flags, givemon_flags | (1 << 1); .endif
.ifnb \nature; .set givemon_flags, givemon_flags | (1 << 2); .endif
.ifnb \abilityNum; .set givemon_flags, givemon_flags | (1 << 3); .endif
.ifnb \gender; .set givemon_flags, givemon_flags | (1 << 4); .endif
.ifnb \hpEv; .set givemon_flags, givemon_flags | (1 << 5); .endif
.ifnb \atkEv; .set givemon_flags, givemon_flags | (1 << 6); .endif
.ifnb \defEv; .set givemon_flags, givemon_flags | (1 << 7); .endif
.ifnb \speedEv; .set givemon_flags, givemon_flags | (1 << 8); .endif
.ifnb \spAtkEv; .set givemon_flags, givemon_flags | (1 << 9); .endif
.ifnb \spDefEv; .set givemon_flags, givemon_flags | (1 << 10); .endif
.ifnb \hpIv; .set givemon_flags, givemon_flags | (1 << 11); .endif
.ifnb \atkIv; .set givemon_flags, givemon_flags | (1 << 12); .endif
.ifnb \defIv; .set givemon_flags, givemon_flags | (1 << 13); .endif
.ifnb \speedIv; .set givemon_flags, givemon_flags | (1 << 14); .endif
.ifnb \spAtkIv; .set givemon_flags, givemon_flags | (1 << 15); .endif
.ifnb \spDefIv; .set givemon_flags, givemon_flags | (1 << 16); .endif
.ifnb \move1; .set givemon_flags, givemon_flags | (1 << 17); .endif
.ifnb \move2; .set givemon_flags, givemon_flags | (1 << 18); .endif
.ifnb \move3; .set givemon_flags, givemon_flags | (1 << 19); .endif
.ifnb \move4; .set givemon_flags, givemon_flags | (1 << 20); .endif
.ifnb \isShiny; .set givemon_flags, givemon_flags | (1 << 21); .endif
.ifnb \ggMaxFactor; .set givemon_flags, givemon_flags | (1 << 22); .endif
.ifnb \teraType; .set givemon_flags, givemon_flags | (1 << 23); .endif
.4byte givemon_flags
.ifnb \item; .2byte \item; .endif
.ifnb \ball; .2byte \ball; .endif
.ifnb \nature; .2byte \nature; .endif
.ifnb \abilityNum; .2byte \abilityNum; .endif
.ifnb \gender; .2byte \gender; .endif
.ifnb \hpEv; .2byte \hpEv; .endif
.ifnb \atkEv; .2byte \atkEv; .endif
.ifnb \defEv; .2byte \defEv; .endif
.ifnb \speedEv; .2byte \speedEv; .endif
.ifnb \spAtkEv; .2byte \spAtkEv; .endif
.ifnb \spDefEv; .2byte \spDefEv; .endif
.ifnb \hpIv; .2byte \hpIv; .endif
.ifnb \atkIv; .2byte \atkIv; .endif
.ifnb \defIv; .2byte \defIv; .endif
.ifnb \speedIv; .2byte \speedIv; .endif
.ifnb \spAtkIv; .2byte \spAtkIv; .endif
.ifnb \spDefIv; .2byte \spDefIv; .endif
.ifnb \move1; .2byte \move1; .endif
.ifnb \move2; .2byte \move2; .endif
.ifnb \move3; .2byte \move3; .endif
.ifnb \move4; .2byte \move4; .endif
.ifnb \isShiny; .2byte \isShiny; .endif
.ifnb \ggMaxFactor; .2byte \ggMaxFactor; .endif
.ifnb \teraType; .2byte \teraType; .endif
.endm
@ creates a mon for a given party and slot
@ otherwise
.macro createmon side:req, slot:req, species:req, level:req, item, ball, nature, abilityNum, gender, hpEv, atkEv, defEv, speedEv, spAtkEv, spDefEv, hpIv, atkIv, defIv, speedIv, spAtkIv, spDefIv, move1, move2, move3, move4, isShiny, ggMaxFactor, teraType
callnative ScrCmd_createmon
.byte \side @ 0 - player, 1 - opponent
.byte \slot @ 0-5
.set givemon_flags, 0
.2byte \species
.2byte \level
@ -2023,6 +2095,11 @@
special CreateEnemyEventMon
.endm
.macro setdynamicaifunc func:req
callnative ScriptSetDynamicAiFunc
.4byte \func
.endm
@ Set up a totem boost for the next battle.
@ 'battler' is the position of the mon you want to gain a boost. see B_POSITION_xx in include/constants/battle.h.
@ The rest of the arguments are the stat change values to each stat.
@ -2223,3 +2300,9 @@
.byte \sourceId
.byte \targetId
.endm
@ set the wild double battle flag
@ can be used in conjunection with createmon to set up a wild battle with 2 player mons vs. 1 enemy mon
.macro setwilddoubleflag
callnative ScriptSetDoubleBattleFlag
.endm

View File

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
if [[ -d "$DEVKITARM/bin/" ]]; then
OBJDUMP_BIN="$DEVKITARM/bin/arm-none-eabi-objdump"

View File

@ -1,4 +1,4 @@
#include "config.h"
#include "config/general.h"
#include "config/battle.h"
#include "constants/battle.h"
#include "constants/battle_anim.h"
@ -4221,7 +4221,6 @@ Move_SMACK_DOWN::
createvisualtask AnimTask_SmokescreenImpact, 0x8, 0x400, 0x1902
fadetobg BG_IN_AIR
waitbgfadeout
createvisualtask AnimTask_StartSlidingBg, 5, 0x0, 0x0, 0x0, 0xffff
createvisualtask AnimTask_SeismicTossBgAccelerateDownAtEnd, 3
goto SeismicTossWeak
@ -28263,6 +28262,7 @@ Move_TECTONIC_RAGE::
waitforvisualfinish
call UnsetPsychicBg
waitbgfadein
clearmonbg_static ANIM_ATTACKER
createvisualtask AnimTask_AllBattlersVisible, 0xA
waitforvisualfinish
end

View File

@ -1,4 +1,4 @@
#include "config.h"
#include "config/general.h"
#include "config/battle.h"
#include "constants/global.h"
#include "constants/battle.h"
@ -20,6 +20,16 @@
.section script_data, "aw", %progbits
BattleScript_DamageToQuarterTargetHP::
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
typecalc
bichalfword gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE
damagetoquartertargethp
goto BattleScript_HitFromAtkAnimation
BattleScript_Terastallization::
@ TODO: no string prints in S/V, but right now this helps with clarity
printstring STRINGID_PKMNSTORINGENERGY
@ -517,9 +527,9 @@ BattleScript_EffectTeatime::
waitanimation
setbyte gBattlerTarget, 0
BattleScript_TeatimeLoop:
jumpifrodaffected BS_TARGET, BattleScript_Teatimerod
jumpifabsorbaffected BS_TARGET, BattleScript_Teatimesorb
jumpifmotoraffected BS_TARGET, BattleScript_Teatimemotor
jumpifelectricabilityaffected BS_TARGET, ABILITY_LIGHTNING_ROD, BattleScript_Teatimerod
jumpifelectricabilityaffected BS_TARGET, ABILITY_VOLT_ABSORB, BattleScript_Teatimesorb
jumpifelectricabilityaffected BS_TARGET, ABILITY_MOTOR_DRIVE, BattleScript_Teatimemotor
jumpifteainvulnerable BS_TARGET, BattleScript_Teatimevul @ in semi-invulnerable state OR held item is not a Berry
orword gHitMarker, HITMARKER_DISABLE_ANIMATION | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE
setbyte sBERRY_OVERRIDE, TRUE @ override the requirements for eating berries
@ -804,10 +814,6 @@ BattleScript_FlingMissed:
ppreduce
goto BattleScript_MoveMissedPause
BattleScript_EffectShellSideArm::
shellsidearmcheck
goto BattleScript_EffectHit
BattleScript_EffectPhotonGeyser::
setphotongeysercategory
goto BattleScript_EffectHit
@ -1608,6 +1614,7 @@ BattleScript_MoveEffectFlameBurst::
waitmessage B_WAIT_TIME_LONG
savetarget
copybyte gBattlerTarget, sSAVED_BATTLER
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
healthbarupdate BS_TARGET
datahpupdate BS_TARGET
tryfaintmon BS_TARGET
@ -1819,6 +1826,7 @@ BattleScript_EffectHitSwitchTarget::
tryfaintmon BS_TARGET
jumpiffainted BS_TARGET, TRUE, BattleScript_MoveEnd
jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_AbilityPreventsPhasingOut
jumpifability BS_TARGET, ABILITY_GUARD_DOG, BattleScript_MoveEnd
jumpifstatus3 BS_TARGET, STATUS3_ROOTED, BattleScript_PrintMonIsRooted
jumpiftargetdynamaxed BattleScript_HitSwitchTargetDynamaxed
tryhitswitchtarget BattleScript_MoveEnd
@ -2765,12 +2773,11 @@ BattleScript_EffectHealBlock::
BattleScript_EffectHitEscape::
call BattleScript_EffectHit_Ret
jumpifmovehadnoeffect BattleScript_MoveEnd
jumpifability BS_TARGET, ABILITY_GUARD_DOG, BattleScript_MoveEnd
tryfaintmon BS_TARGET
moveendto MOVEEND_ATTACKER_VISIBLE
moveendfrom MOVEEND_TARGET_VISIBLE
jumpifbattleend BattleScript_HitEscapeEnd
jumpifbyte CMP_NOT_EQUAL gBattleOutcome 0, BattleScript_HitEscapeEnd
jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_HitEscapeEnd
jumpifemergencyexited BS_TARGET, BattleScript_HitEscapeEnd
goto BattleScript_MoveSwitch
BattleScript_HitEscapeEnd:
@ -3701,7 +3708,7 @@ BattleScript_EffectParalyze::
BattleScript_BattleScript_EffectParalyzeNoTypeCalc:
jumpifmovehadnoeffect BattleScript_ButItFailed
jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_AlreadyParalyzed
jumpifabsorbaffected BS_TARGET, BattleScript_VoltAbsorbHeal
jumpifelectricabilityaffected BS_TARGET, ABILITY_VOLT_ABSORB, BattleScript_VoltAbsorbHeal
tryparalyzetype BS_ATTACKER, BS_TARGET, BattleScript_NotAffected
jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed
jumpifterrainaffected BS_TARGET, STATUS_FIELD_MISTY_TERRAIN, BattleScript_MistyTerrainPrevents
@ -5477,6 +5484,7 @@ BattleScript_FaintAttacker::
BattleScript_FaintTarget::
tryillusionoff BS_TARGET
tryactivategulpmissile
tryupdateleaderscresttracker
playfaintcry BS_TARGET
pause B_WAIT_TIME_LONG
dofaintanimation BS_TARGET
@ -5499,7 +5507,7 @@ BattleScript_GiveExp::
BattleScript_HandleFaintedMon::
setbyte sSHIFT_SWITCHED, 0
checkteamslost BattleScript_LinkHandleFaintedMonMultiple
checkteamslost BattleScript_HandleFaintedMonMultiple
jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_FaintedMonEnd
jumpifbattletype BATTLE_TYPE_TRAINER | BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonTryChoose
jumpifword CMP_NO_COMMON_BITS, gHitMarker, HITMARKER_PLAYER_FAINTED, BattleScript_FaintedMonTryChoose
@ -5580,13 +5588,13 @@ BattleScript_FaintedMonShiftSwitched:
copybyte gBattlerTarget, sSAVED_BATTLER
goto BattleScript_FaintedMonSendOutNewEnd
BattleScript_LinkHandleFaintedMonMultiple::
openpartyscreen BS_FAINTED_LINK_MULTIPLE_1, BattleScript_LinkHandleFaintedMonMultipleStart
BattleScript_LinkHandleFaintedMonMultipleStart::
BattleScript_HandleFaintedMonMultiple::
openpartyscreen BS_FAINTED_MULTIPLE_1, BattleScript_HandleFaintedMonMultipleStart
BattleScript_HandleFaintedMonMultipleStart::
switchhandleorder BS_FAINTED, 0
openpartyscreen BS_FAINTED_LINK_MULTIPLE_2, BattleScript_LinkHandleFaintedMonMultipleEnd
openpartyscreen BS_FAINTED_MULTIPLE_2, BattleScript_HandleFaintedMonMultipleEnd
switchhandleorder BS_FAINTED, 0
BattleScript_LinkHandleFaintedMonLoop::
BattleScript_HandleFaintedMonLoop::
switchhandleorder BS_FAINTED, 3
drawpartystatussummary BS_FAINTED
getswitchedmondata BS_FAINTED
@ -5598,9 +5606,10 @@ BattleScript_LinkHandleFaintedMonLoop::
hidepartystatussummary BS_FAINTED
switchinanim BS_FAINTED, FALSE
waitstate
switchineffects BS_FAINTED_LINK_MULTIPLE_1
jumpifbytenotequal gBattlerFainted, gBattlersCount, BattleScript_LinkHandleFaintedMonLoop
BattleScript_LinkHandleFaintedMonMultipleEnd::
switchineffects BS_FAINTED_MULTIPLE_1
jumpifbytenotequal gBattlerFainted, gBattlersCount, BattleScript_HandleFaintedMonLoop
BattleScript_HandleFaintedMonMultipleEnd::
switchineffects BS_FAINTED_MULTIPLE_2
end2
BattleScript_LocalTrainerBattleWon::
@ -5831,6 +5840,7 @@ BattleScript_DoSwitchOut::
BattleScript_PursuitDmgOnSwitchOut::
pause B_WAIT_TIME_SHORT
orword gHitMarker, HITMARKER_OBEYS
attackstring
ppreduce
critcalc
@ -5848,11 +5858,12 @@ BattleScript_PursuitDmgOnSwitchOut::
resultmessage
waitmessage B_WAIT_TIME_LONG
tryfaintmon BS_TARGET
moveendfromto MOVEEND_ABILITIES, MOVEEND_CHOICE_MOVE
moveendfromto MOVEEND_ABILITIES, MOVEEND_ATTACKER_INVISIBLE @ MOVEEND_CHOICE_MOVE has to be included
jumpiffainted BS_TARGET, FALSE, BattleScript_PursuitDmgOnSwitchOutRet
setbyte sGIVEEXP_STATE, 0
getexp BS_TARGET
BattleScript_PursuitDmgOnSwitchOutRet:
bicword gHitMarker, HITMARKER_OBEYS
return
BattleScript_Pausex20::
@ -6037,6 +6048,10 @@ BattleScript_MagicRoomEnds::
waitmessage B_WAIT_TIME_LONG
end2
BattleScript_GrassyTerrainEnds::
call BattleScript_GrassyTerrainHeals_Ret
goto BattleScript_TerrainEnds
BattleScript_TerrainEnds_Ret::
printfromtable gTerrainStringIds
waitmessage B_WAIT_TIME_LONG
@ -6529,6 +6544,9 @@ BattleScript_PerishSongCountGoesDown::
waitmessage B_WAIT_TIME_LONG
end2
BattleScript_AllStatsUpZMove::
printfromtable gZEffectStringIds
waitmessage B_WAIT_TIME_LONG
BattleScript_AllStatsUp::
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, MAX_STAT_STAGE, BattleScript_AllStatsUpAtk
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, MAX_STAT_STAGE, BattleScript_AllStatsUpAtk
@ -6987,13 +7005,13 @@ BattleScript_MegaEvolution::
BattleScript_MegaEvolutionAfterString:
waitmessage B_WAIT_TIME_LONG
setbyte gIsCriticalHit, 0
handlemegaevo BS_ATTACKER, 0
playanimation BS_ATTACKER, B_ANIM_MEGA_EVOLUTION
handlemegaevo BS_SCRIPTING, 0
playanimation BS_SCRIPTING, B_ANIM_MEGA_EVOLUTION
waitanimation
handlemegaevo BS_ATTACKER, 1
handlemegaevo BS_SCRIPTING, 1
printstring STRINGID_MEGAEVOEVOLVED
waitmessage B_WAIT_TIME_LONG
switchinabilities BS_ATTACKER
switchinabilities BS_SCRIPTING
end3
BattleScript_WishMegaEvolution::
@ -7030,13 +7048,13 @@ BattleScript_UltraBurst::
printstring STRINGID_ULTRABURSTREACTING
waitmessage B_WAIT_TIME_LONG
setbyte gIsCriticalHit, 0
handleultraburst BS_ATTACKER, 0
playanimation BS_ATTACKER, B_ANIM_ULTRA_BURST
handleultraburst BS_SCRIPTING, 0
playanimation BS_SCRIPTING, B_ANIM_ULTRA_BURST
waitanimation
handleultraburst BS_ATTACKER, 1
handleultraburst BS_SCRIPTING, 1
printstring STRINGID_ULTRABURSTCOMPLETED
waitmessage B_WAIT_TIME_LONG
switchinabilities BS_ATTACKER
switchinabilities BS_SCRIPTING
end3
BattleScript_GulpMissileFormChange::
@ -8345,6 +8363,10 @@ BattleScript_MoveUsedPsychicTerrainPrevents::
goto BattleScript_MoveEnd
BattleScript_GrassyTerrainHeals::
call BattleScript_GrassyTerrainHeals_Ret
end2
BattleScript_GrassyTerrainHeals_Ret::
setbyte gBattleCommunication, 0
BattleScript_GrassyTerrainLoop:
copyarraywithindex gBattlerAttacker, gBattlerByTurnOrder, gBattleCommunication, 1
@ -8362,7 +8384,7 @@ BattleScript_GrassyTerrainLoopEnd::
bicword gHitMarker, HITMARKER_IGNORE_BIDE | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
jumpifword CMP_COMMON_BITS, gFieldStatuses, STATUS_FIELD_TERRAIN_PERMANENT, BattleScript_GrassyTerrainHealEnd
BattleScript_GrassyTerrainHealEnd:
end2
return
BattleScript_AbilityNoSpecificStatLoss::
pause B_WAIT_TIME_SHORT
@ -8467,7 +8489,7 @@ BattleScript_ScriptingAbilityStatRaise::
call BattleScript_AbilityPopUp
copybyte sSAVED_DMG, gBattlerAttacker
copybyte gBattlerAttacker, sBATTLER
statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | MOVE_EFFECT_CERTAIN, NULL
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_NOT_PROTECT_AFFECTED | MOVE_EFFECT_CERTAIN, NULL
setgraphicalstatchangevalues
playanimation BS_SCRIPTING, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
waitanimation
@ -8703,7 +8725,7 @@ BattleScript_SynchronizeActivates::
return
BattleScript_NoItemSteal::
pause B_WAIT_TIME_SHORT
call BattleScript_AbilityPopUpTarget
printstring STRINGID_PKMNSXMADEYINEFFECTIVE
waitmessage B_WAIT_TIME_LONG
return
@ -10060,7 +10082,7 @@ BattleScript_BerserkGeneRet_End:
BattleScript_BoosterEnergyEnd2::
playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT, sB_ANIM_ARG1
call BattleScript_AbilityPopUp
call BattleScript_AbilityPopUpTarget
printstring STRINGID_BOOSTERENERGYACTIVATES
waitmessage B_WAIT_TIME_MED
printstring STRINGID_STATWASHEIGHTENED

View File

@ -1,4 +1,4 @@
#include "config.h"
#include "config/general.h"
#include "constants/global.h"
#include "constants/contest.h"
.include "asm/macros.inc"

View File

@ -1,4 +1,4 @@
#include "config.h"
#include "config/general.h"
#include "config/battle.h"
#include "config/item.h"
#include "constants/global.h"

View File

@ -257,7 +257,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_ChoosePartyForMultiBattle::
goto MossdeepCity_SpaceCenter_2F_EventScript_ReadyForBattlePrompt
MossdeepCity_SpaceCenter_2F_EventScript_DoStevenMultiBattle::
multi_2_vs_2 TRAINER_MAXIE_MOSSDEEP, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand, TRAINER_TABITHA_MOSSDEEP, MossdeepCity_SpaceCenter_Text_TabithaDefeat, PARTNER_STEVEN, TRAINER_BACK_PIC_STEVEN
multi_2_vs_2 TRAINER_MAXIE_MOSSDEEP, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand, TRAINER_TABITHA_MOSSDEEP, MossdeepCity_SpaceCenter_Text_TabithaDefeat, PARTNER_STEVEN
switch VAR_RESULT
case 1, MossdeepCity_SpaceCenter_2F_EventScript_DefeatedMaxieTabitha
fadescreen FADE_TO_BLACK
@ -313,6 +313,9 @@ MossdeepCity_SpaceCenter_2F_EventScript_DefeatedMaxieTabitha::
setobjectmovementtype LOCALID_SCIENTIST, MOVEMENT_TYPE_WANDER_AROUND
addobject LOCALID_SCIENTIST
fadescreen FADE_FROM_BLACK
#ifdef BUGFIX
releaseall
#endif
end
MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayer::

View File

@ -138,27 +138,35 @@ Debug_EventScript_Text_DefensiveIVs:
.string "HP IVs: {STR_VAR_1}, DEF IVs: {STR_VAR_2}, SPDEF IVs: {STR_VAR_3}$"
Debug_EventScript_Script_1::
release
end
Debug_EventScript_Script_2::
release
end
Debug_EventScript_Script_3::
release
end
Debug_EventScript_Script_4::
release
end
Debug_EventScript_Script_5::
release
end
Debug_EventScript_Script_6::
release
end
Debug_EventScript_Script_7::
release
end
Debug_EventScript_Script_8::
release
end
Debug_CheckSaveBlock::

View File

@ -0,0 +1,24 @@
import glob
import re
import json
import os
import subprocess
# THIS IS A TEMPORARY SCRIPT MADE TO RENAME FILES WITH THE "FOLLOWER" NAME TO "OVERWORLD",
# AS THESE GRAPHICS CAN ALSO BE USED OUTSIDE THE FOLLOWER FEATURE.
#
# I'M SAVING IT HERE IN CASE IT'S NEEDED SOMEWHERE IN THE FUTURE, THOUGH TWEAKING MIGHT BE NEEDED.
# - AsparagusEduardo
def rename_files(dir, old, new):
for root, dirs, files in os.walk(dir):
for name in files:
if name.endswith(old):
originalName = os.path.join(root, name)
newName = originalName.replace(old, new)
print(originalName + " -> " + newName)
os.rename(originalName, newName)
rename_files("graphics/pokemon", 'follower.png', "overworld.png")
rename_files("graphics/pokemon", 'follow_normal.pal', "overworld_normal.pal")
rename_files("graphics/pokemon", 'follow_shiny.pal', "overworld_shiny.pal")

1
docs/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
book

1
docs/CHANGELOG.md Normal file
View File

@ -0,0 +1 @@
{{#include ../CHANGELOG.md}}

1
docs/INSTALL.md Normal file
View File

@ -0,0 +1 @@
{{#include ../INSTALL.md}}

1
docs/README.md Normal file
View File

@ -0,0 +1 @@
{{#include ../README.md}}

53
docs/SUMMARY.md Normal file
View File

@ -0,0 +1,53 @@
# Summary
- [README](./README.md)
- [Installation](./INSTALL.md)
- [Setting up WSL1 (Legacy Portion)](./legacy_WSL1_INSTALL.md)
- [Changelog](./CHANGELOG.md)
- [1.8.x]()
- [Version 1.8.5](changelogs/1.8.x/1.8.5.md)
- [Version 1.8.4](changelogs/1.8.x/1.8.4.md)
- [Version 1.8.3](changelogs/1.8.x/1.8.3.md)
- [Version 1.8.2](changelogs/1.8.x/1.8.2.md)
- [Version 1.8.1](changelogs/1.8.x/1.8.1.md)
- [Version 1.8.0](changelogs/1.8.x/1.8.0.md)
- [1.7.x]()
- [Version 1.7.4](changelogs/1.7.x/1.7.4.md)
- [Version 1.7.3](changelogs/1.7.x/1.7.3.md)
- [Version 1.7.2](changelogs/1.7.x/1.7.2.md)
- [Version 1.7.1](changelogs/1.7.x/1.7.1.md)
- [Version 1.7.0](changelogs/1.7.x/1.7.0.md)
- [1.6.x]()
- [Version 1.6.2](changelogs/1.6.x/1.6.2.md)
- [Version 1.6.1](changelogs/1.6.x/1.6.1.md)
- [Version 1.6.0](changelogs/1.6.x/1.6.0.md)
- [1.5.x]()
- [Version 1.5.3](changelogs/1.5.x/1.5.3.md)
- [Version 1.5.2](changelogs/1.5.x/1.5.2.md)
- [Version 1.5.1](changelogs/1.5.x/1.5.1.md)
- [Version 1.5.0](changelogs/1.5.x/1.5.0.md)
- [1.4.x]()
- [Version 1.4.3](changelogs/1.4.x/1.4.3.md)
- [Version 1.4.2](changelogs/1.4.x/1.4.2.md)
- [Version 1.4.1](changelogs/1.4.x/1.4.1.md)
- [Version 1.4.0](changelogs/1.4.x/1.4.0.md)
- [1.3.x]()
- [Version 1.3.0](changelogs/1.3.x/1.3.0.md)
- [1.2.x]()
- [Version 1.2.0](changelogs/1.2.x/1.2.0.md)
- [1.1.x]()
- [Version 1.1.1](changelogs/1.1.x/1.1.1.md)
- [Version 1.1.0](changelogs/1.1.x/1.1.0.md)
- [1.0.x]()
- [Version 1.0.0](changelogs/1.0.x/1.0.0.md)
- [Pre-1.0.x]()
- [Version 0.9.0](changelogs/0.9.x/0.9.0.md)

14
docs/book.toml Normal file
View File

@ -0,0 +1,14 @@
[book]
language = "en"
multilingual = false
src = "."
title = "pokeemerald-expansion"
[output.html]
git-repository-url = "https://github.com/rh-hideout/pokeemerald-expansion"
edit-url-template = "https://github.com/rh-hideout/pokeemerald-expansion/edit/master/docs/{path}"
site-url = "/pokeemerald-expansion/"
[preprocessor.fix_links]
command = "python3 fix_links.py"
after = [ "links" ]

View File

@ -0,0 +1,219 @@
# Version 1.8.5
```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.8.5`.
```
## 🌋 *IMPORTANT CHANGES AND REFACTORS* 🌋
* Small `ABILITYEFFECT_MOVES_BLOCK` refactor for readability by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4635
* Removed redundant `partnerPicId` arguments in macros by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4736
* Renamed some labels from "critical hit chance" to "critical hit odds" by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4751
* `sCriticalHitChance` => `sCriticalHitOdds`.
* `GetCritHitChance` => `GetCritHitOdds`.
* Renamed `BS_FAINTED_LINK_MULTIPLE_1/2` to `BS_FAINTED_MULTIPLE_1/2` by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4851
* Remove Duplicate ai code from battle_ai_util.c by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4883
* `AI_CanBeBurned` is now handled by `CanBeBurned`.
* `CanSleep` renamed to `CanBeSlept`.
* `AI_CanSleep` is now handled by `CanBeSlept` and added `defAbility` argument.
* Added `defAbility` argument for `CanBePoisoned`.
* Added `defAbility` argument for `CanBeBurned`.
* Added `defAbility` argument for `CanBeParalyzed`.
* Got rid of hardcoded stat raise anim values by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4825
* Added parentheses to `SPECIES_EGG` macro to avoid issues by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4899
* `IsFinalStrikeEffect` uses effect instead of move by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4917
## 💥 *Softlock/Crash fixes* 💥
* Fixed Baton Pass hardlocking on Memento by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4773
* Fixed Revive in Double Battles causing a softlock by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4784
* Fixed Tectonic Rage causing a freeze after leveling up by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4787
* Fixed Smack Down's animation softlocking the game after around 13 uses by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4774
* Fixed softlock caused by using Covet/Thief on a Pokémon with Sticky Hold by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4885
## 🧬 General 🧬
### Added
* Added regional form breeding mechanics by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4695
* Convert docs/ folder to mdBook by @leo60228 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4684
* Go [here to see the new documentation page](https://rh-hideout.github.io/pokeemerald-expansion/). Feel free to contribute via PRs!
* Cleanup by @leo60228 in:
* https://github.com/rh-hideout/pokeemerald-expansion/pull/4711
* https://github.com/rh-hideout/pokeemerald-expansion/pull/4715
* https://github.com/rh-hideout/pokeemerald-expansion/pull/4716
* https://github.com/rh-hideout/pokeemerald-expansion/pull/4809
* Added forbidden status parameter to `FORM_CHANGE_ITEM_USE` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4738
* Used for Shaymin's form change via Gracidea being prevented if it's frozen or frostbitten.
### Fixed
* Fixed Poké Ball inheritance into actually working by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4695
* Daycare fixes by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4479
* Fixed Evolved mons not copying moves as they do not have their own egg move table.
* Fixed forms of the same species not copying egg moves from each other.
* Fixed Roamer Frostbite status not carrying over between battles by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4822
* Fixed Partners getting the wrong nature defined by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4926
* Fixed Shop menu lists not properly displaying 6-digit item prices by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4929
## 🐉 Pokémon 🐉
### Changed
* PokeCommunity sprites batch (May) by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4714
* Pawmi (Front by KingOfThe-X-Roads, back by Vent, QC by leParagon)
* Pawmo (By vent, qc by leParagon)
* Okidogi (Front by KingOfThe-X-Roads + by leParagon, back by Lykeron + QC by Alexandrev2. 0)
* Backported Hedara's Terapagos from `upcoming`.
* Updated wild held items to Gen 9 by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4769
* Teddiursa (Common: None_> Honey)
* Bisharp (Rare: None -> Leader's Crest)
* All Oricorio: (Rare: Honey -> Corresponding Nectar)
* Toedscool, Toedscruel: (Common: Tiny Mushroom, Rare: Big Mushroom)
* All Paradox Mon: (Rare: Booster Energy)
### Fixed
* Fixed Tandemaus being able to evolve via Rare and Exp. Candies by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4759
* Fixed Poltchageist not always producing Counterfeit form offspring by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4812
* Fixed missing Minior Pokédex Entry by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4858
* Multiple Pokemon sprite fixes by @cafei-uh in https://github.com/rh-hideout/pokeemerald-expansion/pull/4887
- Fixed Charjabug shiny + cleaned up its front sprite
- Changed Lurantis back sprite to better match its ingame model
- Fixed Bounsweet shiny not changing the color of its lower body
- Brightened the white color of Bruxish shiny + tweaked its sprites to accommodate the change
* Fixed `P_UPDATED_ABILITIES` not reverting newly gained abilities in Gens 4/6/7 by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4922
## ⚔️ Battle General ⚔️ ##
### Fixed
* Fixed Dynamax HP not reverting upon fainting by @WillKolada in https://github.com/rh-hideout/pokeemerald-expansion/pull/4681
* Fixed the partner's palette from shifting when throwing a Poké Ball by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4736
* Fixed shiny value not being updated in battle, causing the palette to reset when reloading the sprites by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4788
* Fixed `B_VAR_STARTING_STATUS` every following terrains infinite by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4795
* Fixed Gen 7+ confusion self hurt chance from `1 in 3` to `33%` by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4831
* Fixed caught wild pokemon not restoring their used held item by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4803
* Fixed AI's right slot switching-in too early by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4851
* Ported post-KO test improvements from closed PR by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4859
* Fixed how switch-in effects are played out after multiple faints in the same turn by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4864
* Fixed Megas gaining abilities after fainting by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4873
## 🤹 Moves 🤹
### Fixed
* Added missing `ignoreSubstitute` flags for Defog (only in Gen 4), Torment and Powder by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4623
* Fixed Grassy Glide granting priority if it's converted to Max Move by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/4659
* Fixed Rampage moves not confusing the user if it's canceled by Protect and Type immunity by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4722
* Fixed Tar shot the target always be to Fire regardless of existing types by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4756
* Fixed Shell Side Arm by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4753
* Cleanup by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4806
* Fixed Body press using physical Defense stat changes instead of Sp. Defense stat stages in Wonder Room (still uses physical defense stat) by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4792
* Fixed Relic Song playing the transforming animation for species other than Meloetta by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4799
* Fixed Pursuit not being locked by Choice Items when used on an opponent switching out by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4801
* Fixed Encore's effect lasting only 2 turns if it was used after the opponent uses the move in the same turn by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4802
* Fixed Spectral Thief playing stat raise animation when the user has Contrary by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4824
* Fixed Fury Cutter scaling up to 640 power by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4846
* Fixed moves with the `ignoresTargetAbility` flag ignoring the attacker's own ability by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4855
* Fixed incorrect move names by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4854
* Floral Healing
* Jungle Healing
* Oceanic Operetta
* Fixed Grassy Terrain not healing on the final turn of its duration by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4903
* Fixed Shed Tail's HP reduction rounding down instead of up by @kleeenexfeu in https://github.com/rh-hideout/pokeemerald-expansion/pull/4913
* Fixed Bitter Malice's description, which used to imply that it didn't always lower the opponent's Attack by @kleeenexfeu in https://github.com/rh-hideout/pokeemerald-expansion/pull/4933
* Fixed Flame Burst's adjacent damage not bypassing Substitute by @hedara90 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4939
## 🎭 Abilities 🎭
### Added
* Added missing Gen 3-4 config for Lightning Rod/Storm Drain (`B_REDIRECT_ABILITY_IMMUNITY`) by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4920
### Fixed
* Fixed Dancer issues @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/4638
* Fixed Dancer triggering if the move user flinches when it was going to use a dance move
* Fixed Dancer not triggering if a previous Dancer flinches.
* Fixed Dazzling, Queenly Majesty and Armor Tail not protecting partners from priority moves by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4635
* Cleanup by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4647
* Fixed Burning Bulwark's incorrect message by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/4659
* Fixed Disguise's `breakable` flag (ignorable by Mold Breaker) by @AgustinGDLV in https://github.com/rh-hideout/pokeemerald-expansion/pull/4666
* Fixed redundant call to `IsBattlerWeatherAffected` Dry Skin's checks by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4675
* Fixed Guard Dog blocking U-Turn/Volt Switch/Flip Turn instead of Roar/Circle Throw/Dragon Tail by @PhallenTree in https://github.com/rh-hideout/pokeemerald-expansion/pull/4690
* Fixed some abilities preventing stat dropping move effects when used on self by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4696
* Hyper Cutter (Attack)
* Big Pecks (Defense)
* Keen Eye/Illuminate (Accuracy)
* Fixed Mummy and Lingering Aroma not working at all by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4731
* Fixed Berserk, Anger Shell, Wimp Out, Emergency Exit HP threshold (more than half HP instead of half HP and more) by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4724
* Fixed Mycelium Might affecting every battler on the field instead of just the ability holder by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4740
* Fixed Skill Link ignoring Gastro Acid/Neutralizing Gas by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4746
* Fixed Own Tempo ignoring Gastro Acid/Neutralizing Gas when checking for Berserk Gene by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4746
* Fixed Soul-Heart changing stats of wrong battler, which caused Mirror Herb to behave incorrectly by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4785
* Fixed Poison Touch trigger chance from `1 in 3` to `30%` by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4831
* Fixed Cursed Body trigger chance from `1 in 3` to `30%` by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4831
* Fixed Comatose not being supressed if it's obtained by a Pokémon Transforming by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4852
* Fixed Supersweet Syrup0s description by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4902
## 🧶 Items 🧶
### Changed
* Allowed rematches to occur if I_VS_SEEKER_CHARGING isn't enabled by @fdeblasio in https://github.com/rh-hideout/pokeemerald-expansion/pull/4866
### Fixed
* Fixed Honey altering tiles when used by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4703
* Fixed potential undefined behaviour when using escape rope by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4705
* Fixed Hyper Potion's price not respecting `I_PRICE` by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4737
* Fixed Ability Shield not protecting against multiple effects by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4740
* Mold Breaker-type abilities.
* Mycelium Might.
* Moves that bypass abilities (eg. Sunsteel Stike).
## 🤖 Battle AI 🤖
### Changed
* Add checks for `EFFECT_POLTERGEIST` and `EFFECT_FIRST_TURN_ONLY` to `IsDamageMoveUnusable` by @iriv24 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4693
### Fixed
* Fixed AI going for speed control even when it's faster than the opponet by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4630
* Fixed AI not considering `EFFECT_RAGING_BULL` similarly to `EFFECT_BRICK_BREAK` by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4682
* Fixed AI getting incorrect calculations due to using `gCurrentMove` in `CalcCritChanceStageArgs` by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4687
* Fixed AI not recording Battle Armor or Shell Armor by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4751
* Fixed AI not considering guaranteed crits by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4751
* Fixed AI not properly avoiding contact against Rocky Helmet/Rough Skin by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4779
* Fixed AI not recognising Volt Absorb/Flash Fire by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4781
* Fixed AI thinking that Defiant/Competitive triggers off partner's moves in doubles by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4786
* Fixed AI using `TRUE` (Stench) when calculating if it's worth using Swagger or Flatter on its partner by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4786
* Fixed passing hold effect instead of ability in one call of ShouldSetSandstorm by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4789
## 🧪 Test Runner 🧪
### Added
* Added `FORCE_MOVE_ANIM` macro to force an animation to run in headless mode by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4774
* Usage: `FORCE_MOVE_ANIM(TRUE)` at the beginning of the test and `FORCE_MOVE_ANIM(FALSE)` at the end.
* Added test to prevent species from having different evolution tracker methods by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4771
* Added test for missing Pokédex Entries by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4858
* Added missing Move Effect TODO tests - Volume B by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4682
* Added missing tests
* Berserk by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4724
* Clear Body by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4685
* Cleanup by @Pawkkie in:
* https://github.com/rh-hideout/pokeemerald-expansion/pull/4797
* https://github.com/rh-hideout/pokeemerald-expansion/pull/4837
* Anger Point and Moxie by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4811
* Cursed Body, Poison Touch and Confusion status by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4831
* Corrosion, Acrobatics, Hone Claws and Hurricane by @Pawkkie in https://github.com/rh-hideout/pokeemerald-expansion/pull/4708
* Added AI tests for avoiding using status moves on Pokémon with abilities that prevent them by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4883
* Added Own Tempo/Mold Breaker test by @AlexOn1ine in https://github.com/rh-hideout/pokeemerald-expansion/pull/4883
### Changed
* Multiple changes by @AsparagusEduardo in https://github.com/rh-hideout/pokeemerald-expansion/pull/4682
* Renamed some Baton Pass-related tests so that their prefix becomes Baton Pass.
* Eg. `Aqua Ring can be Baton Passed` becomes `Baton Pass passes Aqua Ring's effect`.
* Expanded Belch's test to show that it doesn't need to eat a berry before each use of the move.
* Unconfirmed interactions added to the specific files.
* Split `EFFECT_RAGING_BULL` from `EFFECT_BRICK_BREAK`'s file.
* Moved Grassy Terrain/Earthquake test to Earthquake file.
* Write new/Fix old tests for post-ko switch scenarios by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4856
### Fixed
* Fixed issues when building tests with agbcc by @u8-Salem in https://github.com/rh-hideout/pokeemerald-expansion/pull/4689
* Fixed incorrect `ASSUME`s in 2 test rampage tests by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4722
* Fixed AI ability guessing in tests by @cawtds in https://github.com/rh-hideout/pokeemerald-expansion/pull/4764
* Fixed Pokemon in tests not being male by default by @kittenchilly in https://github.com/rh-hideout/pokeemerald-expansion/pull/4766
* Fixed Plasma Fists/Pixilate interaction test by @Sneed69 in https://github.com/rh-hideout/pokeemerald-expansion/pull/4865
* Fixed wrong palette in player backsprite in recorded battle by @DizzyEggg in https://github.com/rh-hideout/pokeemerald-expansion/pull/4875
## 📦 Pret merges 📦
* Merge in pret 189d542 by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4832
* Fix Steven partner battle post-battle script by @Jaizu in https://github.com/pret/pokeemerald/pull/2001
* Pret merge (20th of June) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4845
- [366f8b3](https://github.com/pret/pokeemerald/commit/366f8b33a38010f47886f70e52a4fa6dd306a4c4) NixOS install instructions by @leo60228
- [c0d630e](https://github.com/pret/pokeemerald/commit/c0d630ee6304df61a5304942386308a872aeb504) Add support for LF line endings to gbagfx by @nashalexander
* Pret Merge (5th of July) by @Bassoonian in https://github.com/rh-hideout/pokeemerald-expansion/pull/4915
- [pret#2006](https://github.com/pret/pokeemerald/pull/2006/) (manually reverted)
- [pret#2009](https://github.com/pret/pokeemerald/pull/2009/) Decode unused JP text in `berry_blender.c`
- [pret#2012](https://github.com/pret/pokeemerald/pull/2012/) Berry blender's `Task_HandleOpponent` small fixes
**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.8.4...expansion/1.8.5
<!--Last PR: 4939-->

View File

@ -6,7 +6,7 @@
- Once you have your remote set up, run the command `git pull RHH expansion/1.Y.Z`.
```
## 🌋 *IMPORTANT CHANGES* 🌋
## 🌋 *IMPORTANT CHANGES AND REFACTORS* 🌋
* N/A
## 💥 *Softlock/Crash fixes* 💥

51
docs/fix_links.py Normal file
View File

@ -0,0 +1,51 @@
# workarounds to avoid changing current directory structure
# autolink logic based on https://github.com/zopieux/py-gfm/blob/fd7b33ed138d240d24dfb659acff7d4ce3f43745/gfm/autolink.py
import json
import sys
import re
URL_RE = re.compile(
r"(```(?s:.)+?```|`.+?`|<.+?>)|"
r"\b((?:(?i:ftp|https?)://|(?i:www)\d{0,3}[.])(?:[^\s()<>]+|"
r"\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()"
r"<>]+\)))*\)|[^\s`!()\[\]{};:" + r"'" + r'".,<>?«»“”‘’*]))'
)
PROTOCOL_RE = re.compile(r"^(?i:ftp|https?)://")
ANCHOR_RE = re.compile(r"(\]\((?:[^)#]+\.md)?#)([^)]+\))")
def handle_url(m):
code = m.group(1)
if code:
return code
href = m.group(2)
if not PROTOCOL_RE.match(href):
href = "http://%s" % href
return f'<{href}>'
def handle_anchor(m):
page = m.group(1)
anchor = m.group(2)
return page + anchor.lower()
def proc_items(items):
for item in items:
if 'Chapter' in item:
s = item['Chapter']['content']
s = s.replace('](README.md)', '](./)')
s = s.replace('](/INSTALL.md', '](INSTALL.md')
s = s.replace('](docs/', '](')
s = URL_RE.sub(handle_url, s)
item['Chapter']['content'] = ANCHOR_RE.sub(handle_anchor, s)
proc_items(item['Chapter']['sub_items'])
if __name__ == '__main__':
if len(sys.argv) > 1:
if sys.argv[1] == "supports":
sys.exit(0)
context, book = json.load(sys.stdin)
proc_items(book['sections'])
print(json.dumps(book))

View File

@ -38,4 +38,4 @@
source /etc/profile.d/devkit-env.sh
```
Proceed to [Choosing where to store pokeemerald (WSL1) of the current INSTALL.md](/INSTALL.md#choosing-where-to-store-pokeemerald-WSL1).
Proceed to [Choosing where to store pokeemerald (WSL1) of the current INSTALL.md](/INSTALL.md#choosing-where-to-store-pokeemerald-expansion-WSL1).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 B

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 B

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
0 0 0
255 255 255
84 85 89
0 0 0
238 230 238
189 180 197
139 139 164
90 90 123
41 49 90
27 27 27
40 40 40
51 51 51
62 62 62
0 0 0
0 0 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
255 255 255
0 0 0
158 158 158
0 0 0
238 230 238
189 180 197
139 139 164
90 90 123
41 49 90
228 228 228
215 215 215
204 204 204
193 193 193
0 0 0
0 0 0

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 671 B

After

Width:  |  Height:  |  Size: 671 B

View File

Before

Width:  |  Height:  |  Size: 821 B

After

Width:  |  Height:  |  Size: 821 B

View File

Before

Width:  |  Height:  |  Size: 782 B

After

Width:  |  Height:  |  Size: 782 B

View File

Before

Width:  |  Height:  |  Size: 970 B

After

Width:  |  Height:  |  Size: 970 B

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 977 B

After

Width:  |  Height:  |  Size: 977 B

View File

Before

Width:  |  Height:  |  Size: 963 B

After

Width:  |  Height:  |  Size: 963 B

View File

Before

Width:  |  Height:  |  Size: 943 B

After

Width:  |  Height:  |  Size: 943 B

View File

Before

Width:  |  Height:  |  Size: 761 B

After

Width:  |  Height:  |  Size: 761 B

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 633 B

After

Width:  |  Height:  |  Size: 633 B

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 777 B

After

Width:  |  Height:  |  Size: 777 B

View File

Before

Width:  |  Height:  |  Size: 981 B

After

Width:  |  Height:  |  Size: 981 B

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 664 B

After

Width:  |  Height:  |  Size: 664 B

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 908 B

After

Width:  |  Height:  |  Size: 908 B

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

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