Merge branch 'upcoming' into disablefollowersbydefault
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
4
.github/ISSUE_TEMPLATE/04_other_errors.yaml
vendored
@ -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
@ -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'
|
||||
55
CHANGELOG.md
@ -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**
|
||||
|
||||
25
INSTALL.md
@ -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>
|
||||
|
||||
|
||||
15
Makefile
@ -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
|
||||
|
||||
24
README.md
@ -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).
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [[ -d "$DEVKITARM/bin/" ]]; then
|
||||
OBJDUMP_BIN="$DEVKITARM/bin/arm-none-eabi-objdump"
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#include "config.h"
|
||||
#include "config/general.h"
|
||||
#include "constants/global.h"
|
||||
#include "constants/contest.h"
|
||||
.include "asm/macros.inc"
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#include "config.h"
|
||||
#include "config/general.h"
|
||||
#include "config/battle.h"
|
||||
#include "config/item.h"
|
||||
#include "constants/global.h"
|
||||
|
||||
@ -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::
|
||||
|
||||
@ -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::
|
||||
|
||||
24
dev_scripts/followers/rename_files_of_same_name.py
Normal 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
@ -0,0 +1 @@
|
||||
book
|
||||
1
docs/CHANGELOG.md
Normal file
@ -0,0 +1 @@
|
||||
{{#include ../CHANGELOG.md}}
|
||||
1
docs/INSTALL.md
Normal file
@ -0,0 +1 @@
|
||||
{{#include ../INSTALL.md}}
|
||||
1
docs/README.md
Normal file
@ -0,0 +1 @@
|
||||
{{#include ../README.md}}
|
||||
53
docs/SUMMARY.md
Normal 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
@ -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" ]
|
||||
219
docs/changelogs/1.8.x/1.8.5.md
Normal 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-->
|
||||
@ -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
@ -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))
|
||||
@ -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).
|
||||
|
||||
|
Before Width: | Height: | Size: 314 B After Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 275 B After Width: | Height: | Size: 7.3 KiB |
19
graphics/map_popup/bw/black.pal
Normal 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
|
||||
BIN
graphics/map_popup/bw/bw_primary.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
graphics/map_popup/bw/bw_secondary.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
19
graphics/map_popup/bw/white.pal
Normal 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
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 671 B After Width: | Height: | Size: 671 B |
|
Before Width: | Height: | Size: 821 B After Width: | Height: | Size: 821 B |
|
Before Width: | Height: | Size: 782 B After Width: | Height: | Size: 782 B |
|
Before Width: | Height: | Size: 970 B After Width: | Height: | Size: 970 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 977 B After Width: | Height: | Size: 977 B |
|
Before Width: | Height: | Size: 963 B After Width: | Height: | Size: 963 B |
|
Before Width: | Height: | Size: 943 B After Width: | Height: | Size: 943 B |
|
Before Width: | Height: | Size: 761 B After Width: | Height: | Size: 761 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 633 B After Width: | Height: | Size: 633 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 777 B After Width: | Height: | Size: 777 B |
|
Before Width: | Height: | Size: 981 B After Width: | Height: | Size: 981 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 664 B After Width: | Height: | Size: 664 B |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 908 B After Width: | Height: | Size: 908 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |