Skip to content

Commit

Permalink
Merge branch '_RHH/master' into _RHH/upcoming
Browse files Browse the repository at this point in the history
  • Loading branch information
AsparagusEduardo committed Jan 5, 2025
2 parents 76964dd + b8ccc29 commit 771156e
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 34 deletions.
4 changes: 2 additions & 2 deletions docs/install/windows/WSL.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ If you want the best performance and least amount of issues with Windows interfe
2. Once the process finishes, restart your machine.
### WSL1
3a. Open Windows Powershell **as Administrator** again (after restarting), and run the following command to configure Ubuntu to use WSL1.
3. Open Windows Powershell **as Administrator** again (after restarting), and run the following command to configure Ubuntu to use WSL1.
```powershell
wsl --set-version Ubuntu 1
```
### WSL2
3a. Open Windows Powershell **as Administrator** again (after restarting), and run the following command to configure Ubuntu to use WSL2.
3. Open Windows Powershell **as Administrator** again (after restarting), and run the following command to configure Ubuntu to use WSL2.
```powershell
wsl --set-version Ubuntu 2
Expand Down
53 changes: 28 additions & 25 deletions docs/scope.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# Document Purpose

This document is a guide for contributors and Senate to decide if a feature is within "scope" for pokeemerald-expansion. If a feature is not in scope, then it should not be merged. Even if an opened PR is within scope, this does not mean it will be merged, as acceptance criteria will often come down to the details of the implementation.
This document is a guide for contributors and Senate to decide if a feature is within "scope" for pokeemerald-expansion. "Scope" in this case comprises a list of features and concepts that could be merged if an appropriate implementation is submitted. If a feature is not in scope, then it should not be merged. Even if an opened PR is within scope, this does not mean it will be merged, as acceptance criteria will often come down to the details of the implementation.

# Definitions

* **Showdown Supported (SS)**: A core series game who's metagame can be played on Showdown.
* Notably, this is every [core series game](https://bulbapedia.bulbagarden.net/wiki/Core_series#List_of_core_series_games) except Pokémon Legends: Arceus.
* Includes every [core series game](https://bulbapedia.bulbagarden.net/wiki/Core_series#List_of_core_series_games) except Pokémon Legends: Arceus.
* Does not include [spin-off games](https://bulbapedia.bulbagarden.net/wiki/Spin-off_Pokémon_games) such as Pokémon Colosseum, Pokémon XD, Pokémon Trozei!, etc.
* **Base Expansion Version**: "A .gba file built from an unmodified `master` or `upcoming` branch of `pokeemerald-expansion`.
* **Vanilla Emerald Version**: A .gba file built from an unmodified `master` branch of pret's `pokeemerald`.

Expand All @@ -17,38 +18,40 @@ A pull request meets the scope criteria if:

## In Scope Categories

1. **SS Species:** Adds Species that have appeared in a Showdown-supported title
2. **SS Moves:** Adds Moves and Move Animations that have appeared in a Showdown-supported title
3. **SS Abilities:** Adds Abilities that have appeared in a Showdown-supported title
4. **SS Items:** Adds Items that have appeared in a Showdown-supported title
5. **SS Gimmicks:** Adds Gimmicks that have appeared in a Showdown-supported title
6. **SS Battle Types:** Adds Special Battle Types that have appeared in a Showdown-supported title
7. **SS Battle Mechanics:** Adds mechanical battle changes that have appeared in a Showdown-supported title
8. **Improve Battle AI:** Improve the Battle AI in a way that allows it to approach the skill and capability of a human competitive player
9. **Base Link Compatibility:** Link compatibility with base
10. **SS Overworld / Menu Updates:** Replicate overworld or menu changes from Showdown-supported Pokémon titles
11. **Speed Up:** Speed up the player experience of features found in base
12. **Compression:** Automatically compress assets
13. **Novel Experience:** Adds a novel experience included in another Showdown Supported title
15. **Helper Features:** Eases the addition or inclusion of any of the aforementioned
1. **SS Species**: Adds Species that have appeared in a Showdown-supported title. Includes follower sprites for all defined species including battle-only ones (ie. Megas)
2. **SS Moves**: Adds Moves and Move Animations that have appeared in a Showdown-supported title
3. **SS Abilities**: Adds Abilities that have appeared in a Showdown-supported title
4. **SS Items**: Adds Items that have appeared in a Showdown-supported title
5. **SS Gimmicks**: Adds Gimmicks that have appeared in a Showdown-supported title (Dynamax, Mega Evolution, etc.)
6. **SS Battle Types**: Adds Special Battle Types that have appeared in a Showdown-supported title (Triple battles, etc.)
7. **SS Battle Mechanics**: Adds mechanical battle changes that have appeared in a Showdown-supported title, and allow developers to choose which generation suits them where applicable
8. **Battle AI Behaviour**: Improvements towards the capability of a human competitive player, and unique or interesting behaviours otherwise
9. **Base Link Compatibility**: The ability for two Base Expansion Version's to connect, trade, and battle one another
10. **SS Overworld Features**: Add overworld changes / additions from Showdown-supported Pokémon titles (followers, raids, sideways stairs, etc.)
11. **SS Menu Features**: Add menu changes / additions from Showdown-supported Pokémon titles (type effectivness indicator, PC functions, etc.)
12. **Speed Up**: Optimize code to run more efficiently, take up less space, and work better overall to improves the developer and / or player experience
13. **Compression**: Reduces the size of graphic or sound assets, etc. Includes automatic compression
14. **Novel Experience**: Adds a novel experience included in another Showdown Supported title (poffins, fishing minigames, etc.)
15. **Helper Features**: Eases the addition or inclusion of any of the aforementioned, or facilitates developer ease of use

## Not In Scope Categories

1. **Non-SS Species**: Adds Species that have NOT appeared in a Showdown-supported title
2. **Non-SS Moves**: Adds Moves and Move Animations that have NOT appeared in a Showdown-supported title
3. **Non-SS Abilities**: Adds Abilities that have NOT appeared in a Showdown-supported title
4. **Non-SS Items**: Adds Items that have NOT appeared in a Showdown-supported title
5. **Non-SS Gimmicks**: Adds Gimmicks that have NOT appeared in a Showdown-supported title
1. **Non-SS Species**: Adds Species that have NOT appeared in a Showdown-supported title (Fakemon, CAP Pokémon, etc.)
2. **Non-SS Moves**: Adds Moves and Move Animations that have NOT appeared in a Showdown-supported title
3. **Non-SS Abilities**: Adds Abilities that have NOT appeared in a Showdown-supported title
4. **Non-SS Items**: Adds Items that have NOT appeared in a Showdown-supported title
5. **Non-SS Gimmicks**: Adds Gimmicks that have NOT appeared in a Showdown-supported title (Showdown's Other Metagames, etc.)
6. **Non-SS Battle Types**: Adds Special Battle Types that have NOT appeared in a Showdown-supported title
7. **Non-SS or SS Overworld Maps**: Adds overworld maps from either Showdown-supported titles or non-Showdown-supported titles
7. **Duplicate Feature UI**: Adds functionality that duplicates the core functionality of an existing vanilla feature
8. **Vanilla Link Compatibility**: Link compatibility with vanilla
8. **Vanilla Link Compatibility**: The ability for Base Expansion Version and Vanilla Emerald Version to connect, trade, and battle one another

## Discussion Required Categories

Pull Requests that fall into this category should be brought up to maintainers, who will discuss and vote as to whether or not the feature is considered in scope. Considerations for acceptance may include invasiveness of implementation, popularity, ease of maintenance, etc.

1. **Developer Ease of Use:** Lowers barrier of entry for developers to use existing behavior
2. **Fangame Features:** Adds a popular feature from other fangames
3. **Popular Non-SS Features:** Exceptions can be made for uniquely popular or requested features (Drowsy, PLA Legend Plate, etc.)
1. **Developer Ease of Use**: Lowers barrier of entry for developers to use existing behavior
2. **Fangame Features**: Adds a popular feature from other fangames
3. **Popular Non-SS Features**: Exceptions can be made for uniquely popular or requested features (Drowsy, PLA Legend Plate, etc.)
4. **External Program**: External programs like poryscript, porymoves, etc.

14 changes: 8 additions & 6 deletions src/battle_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,7 @@ void HandleAction_UseMove(void)
gBattlerTarget = battler;
}
}
else if (IsDoubleBattle() && moveTarget & MOVE_TARGET_RANDOM)
else if (IsDoubleBattle() && moveTarget & MOVE_TARGET_RANDOM)
{
gBattlerTarget = SetRandomTarget(gBattlerAttacker);
if (gAbsentBattlerFlags & (1u << gBattlerTarget)
Expand All @@ -411,7 +411,7 @@ void HandleAction_UseMove(void)
else
gBattlerTarget = gBattlerAttacker;
}
else if (IsDoubleBattle() && moveTarget == MOVE_TARGET_FOES_AND_ALLY)
else if (IsDoubleBattle() && moveTarget == MOVE_TARGET_FOES_AND_ALLY)
{
for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++)
{
Expand Down Expand Up @@ -945,22 +945,22 @@ static void UNUSED MarkAllBattlersForControllerExec(void)
else
{
for (i = 0; i < gBattlersCount; i++)
gBattleControllerExecFlags |= 1 << i;
gBattleControllerExecFlags |= 1u << i;
}
}

bool32 IsBattlerMarkedForControllerExec(u32 battler)
{
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
return (gBattleControllerExecFlags & (1 << (battler + 28))) != 0;
return (gBattleControllerExecFlags & (1u << (battler + 28))) != 0;
else
return (gBattleControllerExecFlags & (1 << battler)) != 0;
return (gBattleControllerExecFlags & (1u << battler)) != 0;
}

void MarkBattlerForControllerExec(u32 battler)
{
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
gBattleControllerExecFlags |= 1u << (32 - MAX_BATTLERS_COUNT);
gBattleControllerExecFlags |= 1u << (battler + 32 - MAX_BATTLERS_COUNT);
else
gBattleControllerExecFlags |= 1u << battler;
}
Expand Down Expand Up @@ -6532,6 +6532,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32
}
break;
case ABILITY_ICE_FACE:
{
u32 battlerWeatherAffected = IsBattlerWeatherAffected(battler, B_WEATHER_HAIL | B_WEATHER_SNOW);
if (battlerWeatherAffected && gBattleMons[battler].species == SPECIES_EISCUE)
{
Expand All @@ -6551,6 +6552,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32
effect++;
}
break;
}
case ABILITY_PROTOSYNTHESIS:
if (!gDisableStructs[battler].weatherAbilityDone
&& (gBattleWeather & B_WEATHER_SUN) && WEATHER_HAS_EFFECT
Expand Down
2 changes: 1 addition & 1 deletion test/battle/ability/insomnia.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ SINGLE_BATTLE_TEST("Insomnia prevents yawn")
PLAYER(SPECIES_DROWZEE) { Ability(ABILITY_INSOMNIA); }
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(opponent, MOVE_SPORE); }
TURN { MOVE(opponent, MOVE_YAWN); }
TURN {}
TURN {}
} SCENE {
Expand Down

0 comments on commit 771156e

Please sign in to comment.