Prevents a regression for custom abilties (#7616)

This commit is contained in:
Alex 2025-08-25 17:37:57 +02:00 committed by GitHub
parent 1e6bb4f47c
commit e2f24bbb3f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 10 deletions

View File

@ -363,16 +363,17 @@ enum BattleWeather
#define B_WEATHER_LOW_LIGHT (B_WEATHER_FOG | B_WEATHER_ICY_ANY | B_WEATHER_RAIN | B_WEATHER_SANDSTORM)
#define B_WEATHER_PRIMAL_ANY (B_WEATHER_RAIN_PRIMAL | B_WEATHER_SUN_PRIMAL | B_WEATHER_STRONG_WINDS)
// Explicit numbers until frostbite because those shouldn't be shifted
enum __attribute__((packed)) MoveEffect
{
MOVE_EFFECT_NONE,
MOVE_EFFECT_SLEEP,
MOVE_EFFECT_POISON,
MOVE_EFFECT_BURN,
MOVE_EFFECT_FREEZE,
MOVE_EFFECT_PARALYSIS,
MOVE_EFFECT_TOXIC,
MOVE_EFFECT_FROSTBITE,
MOVE_EFFECT_NONE = 0,
MOVE_EFFECT_SLEEP = 1,
MOVE_EFFECT_POISON = 2,
MOVE_EFFECT_BURN = 3,
MOVE_EFFECT_FREEZE = 4,
MOVE_EFFECT_PARALYSIS = 5,
MOVE_EFFECT_TOXIC = 6,
MOVE_EFFECT_FROSTBITE = 7,
MOVE_EFFECT_CONFUSION,
MOVE_EFFECT_FLINCH,
MOVE_EFFECT_TRI_ATTACK,

View File

@ -12906,7 +12906,7 @@ static bool32 CanAbilityShieldActivateForBattler(u32 battler)
{
if (GetBattlerHoldEffectIgnoreAbility(battler, TRUE) != HOLD_EFFECT_ABILITY_SHIELD)
return FALSE;
RecordItemEffectBattle(battler, HOLD_EFFECT_ABILITY_SHIELD);
gBattlerAbility = battler;
gLastUsedItem = gBattleMons[battler].item;
@ -14534,7 +14534,7 @@ static void Cmd_setnonvolatilestatus(void)
switch (cmd->trigger)
{
case TRIGGER_ON_ABILITY:
if (gBattleScripting.moveEffect == MOVE_EFFECT_CONFUSION)
if (gBattleScripting.moveEffect >= MOVE_EFFECT_CONFUSION)
SetMoveEffect(gBattleScripting.battler, gEffectBattler, FALSE, FALSE);
else
SetNonVolatileStatusCondition(gEffectBattler, gBattleScripting.moveEffect, TRIGGER_ON_ABILITY);