diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index c50d095ad4..131a015ea0 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -5775,7 +5775,7 @@ BattleScript_PrintFullBox:: BattleScript_ActionSwitch:: hpthresholds2 BS_ATTACKER - copybyte sSAVED_BATTLER, gBattlerAttacker + saveattacker printstring STRINGID_RETURNMON jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_PursuitSwitchDmgSetMultihit setmultihit 1 @@ -5793,7 +5793,7 @@ BattleScript_DoSwitchOut:: switchoutabilities BS_ATTACKER updatedynamax waitstate - copybyte gBattlerAttacker, sSAVED_BATTLER + restoreattacker returnatktoball waitstate drawpartystatussummary BS_ATTACKER @@ -7820,7 +7820,7 @@ BattleScript_TryIntimidateHoldEffectsRet: return BattleScript_IntimidateActivates:: - copybyte sSAVED_BATTLER, gBattlerTarget + savetarget .if B_ABILITY_POP_UP == TRUE showabilitypopup BS_ATTACKER pause B_WAIT_TIME_LONG @@ -7858,7 +7858,7 @@ BattleScript_IntimidateLoopIncrement: BattleScript_IntimidateEnd: copybyte sBATTLER, gBattlerAttacker destroyabilitypopup - copybyte gBattlerTarget, sSAVED_BATTLER + restoretarget pause B_WAIT_TIME_MED end3 @@ -7891,7 +7891,7 @@ BattleScript_IntimidateInReverse: goto BattleScript_IntimidateLoopIncrement BattleScript_SupersweetSyrupActivates:: - copybyte sSAVED_BATTLER, gBattlerTarget + savetarget .if B_ABILITY_POP_UP == TRUE showabilitypopup BS_ATTACKER pause B_WAIT_TIME_LONG @@ -7924,7 +7924,7 @@ BattleScript_SupersweetSyrupLoopIncrement: BattleScript_SupersweetSyrupEnd: copybyte sBATTLER, gBattlerAttacker destroyabilitypopup - copybyte gBattlerTarget, sSAVED_BATTLER + restoretarget pause B_WAIT_TIME_MED end3 diff --git a/test/battle/ability/intimidate.c b/test/battle/ability/intimidate.c index 08560ccb00..0bb34a977e 100644 --- a/test/battle/ability/intimidate.c +++ b/test/battle/ability/intimidate.c @@ -107,9 +107,9 @@ SINGLE_BATTLE_TEST("Intimidate and Eject Button force the opponent to Attack") OPPONENT(SPECIES_HITMONTOP) { Moves(MOVE_TACKLE); } } WHEN { TURN { - MOVE(player, MOVE_QUICK_ATTACK); - MOVE(opponent, MOVE_TACKLE); - SEND_OUT(opponent, 1); + MOVE(player, MOVE_QUICK_ATTACK); + MOVE(opponent, MOVE_TACKLE); + SEND_OUT(opponent, 1); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_ATTACK, player); @@ -210,3 +210,21 @@ SINGLE_BATTLE_TEST("Intimidate can not further lower opponents Atk stat if it is EXPECT_EQ(player->statStages[STAT_ATK], MIN_STAT_STAGE); } } + +SINGLE_BATTLE_TEST("Intimidate activates when it's no longer effected by Neutralizing Gas") +{ + GIVEN { + PLAYER(SPECIES_WEEZING) { Ability(ABILITY_NEUTRALIZING_GAS); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_ARBOK) { Ability(ABILITY_INTIMIDATE); } + } WHEN { + TURN { SWITCH(player, 1); } + } SCENE { + ABILITY_POPUP(player, ABILITY_NEUTRALIZING_GAS); + MESSAGE("Neutralizing Gas filled the area!"); + MESSAGE("Weezing, that's enough! Come back!"); + MESSAGE("The effects of Neutralizing Gas wore off!"); + ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); + MESSAGE("Go! Wobbuffet!"); + } +}