diff --git a/include/constants/generational_changes.h b/include/constants/generational_changes.h index 701330ae10..4a9cc47dc0 100644 --- a/include/constants/generational_changes.h +++ b/include/constants/generational_changes.h @@ -129,7 +129,7 @@ F(SHADOW_TAG_ESCAPE, shadowTagEscape, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \ F(MOODY_ACC_EVASION, moodyAccEvasion, (u32, GEN_COUNT - 1)) \ F(FLASH_FIRE_FROZEN, flashFireFrozen, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \ - F(SYNCHRONIZE_TOXIC, synchronizeToxic, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \ + F(SYNCHRONIZE_TOXIC, synchronizeToxic, (u32, GEN_COUNT - 1)) \ F(UPDATED_INTIMIDATE, updatedIntimidate, (u32, GEN_COUNT - 1)) \ F(OBLIVIOUS_TAUNT, obliviousTaunt, (u32, GEN_COUNT - 1)) \ F(STURDY, sturdy, (u32, GEN_COUNT - 1)) \ diff --git a/src/battle_util.c b/src/battle_util.c index ea4c918d40..90532e2360 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5500,7 +5500,7 @@ u32 AbilityBattleEffects(enum AbilityEffect caseID, u32 battler, enum Ability ab gBattleScripting.battler = gBattlerAbility = gBattlerTarget; RecordAbilityBattle(gBattlerTarget, ABILITY_SYNCHRONIZE); - if (B_SYNCHRONIZE_TOXIC < GEN_5 && gBattleStruct->synchronizeMoveEffect == MOVE_EFFECT_TOXIC) + if (GetConfig(CONFIG_SYNCHRONIZE_TOXIC) < GEN_5 && gBattleStruct->synchronizeMoveEffect == MOVE_EFFECT_TOXIC) gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON; if (CanSetNonVolatileStatus( @@ -5530,7 +5530,7 @@ u32 AbilityBattleEffects(enum AbilityEffect caseID, u32 battler, enum Ability ab gBattleScripting.battler = gBattlerAbility = gBattlerAttacker; RecordAbilityBattle(gBattlerAttacker, ABILITY_SYNCHRONIZE); - if (B_SYNCHRONIZE_TOXIC < GEN_5 && gBattleStruct->synchronizeMoveEffect == MOVE_EFFECT_TOXIC) + if (GetConfig(CONFIG_SYNCHRONIZE_TOXIC) < GEN_5 && gBattleStruct->synchronizeMoveEffect == MOVE_EFFECT_TOXIC) gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON; if (CanSetNonVolatileStatus( diff --git a/test/battle/ability/synchronize.c b/test/battle/ability/synchronize.c index 8e92936e41..8604814fab 100644 --- a/test/battle/ability/synchronize.c +++ b/test/battle/ability/synchronize.c @@ -3,11 +3,13 @@ SINGLE_BATTLE_TEST("Synchronize will mirror back non volatile status back at opposing mon") { - + u32 config; + PARAMETRIZE { config = GEN_4; } + PARAMETRIZE { config = GEN_5; } GIVEN { ASSUME(GetMoveEffect(MOVE_TOXIC) == EFFECT_NON_VOLATILE_STATUS); ASSUME(GetMoveNonVolatileStatus(MOVE_TOXIC) == MOVE_EFFECT_TOXIC); - ASSUME(GetMoveNonVolatileStatus(MOVE_TOXIC) == MOVE_EFFECT_TOXIC); + WITH_CONFIG(CONFIG_SYNCHRONIZE_TOXIC, config); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_ABRA) { Ability(ABILITY_SYNCHRONIZE); } } WHEN { @@ -18,7 +20,10 @@ SINGLE_BATTLE_TEST("Synchronize will mirror back non volatile status back at opp STATUS_ICON(opponent, badPoison: TRUE); ABILITY_POPUP(opponent, ABILITY_SYNCHRONIZE); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, player); - STATUS_ICON(player, badPoison: TRUE); + if (config >= GEN_5) + STATUS_ICON(player, badPoison: TRUE); + else + STATUS_ICON(player, poison: TRUE); } }