#include "macros/btlcmd.inc" .data _000: CompareVarToValue OPCODE_NEQ, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_HELD_ITEM, _022 CheckAbility CHECK_HAVE, BTLSCR_SIDE_EFFECT_MON, ABILITY_OWN_TEMPO, _100 CompareMonDataToValue OPCODE_FLAG_SET, BTLSCR_SIDE_EFFECT_MON, BATTLEMON_VOLATILE_STATUS, VOLATILE_CONDITION_CONFUSION, _100 CompareVarToValue OPCODE_FLAG_SET, BTLVAR_SIDE_CONDITIONS_EFFECT_MON, SIDE_CONDITION_SAFEGUARD, _100 GoTo _076 _022: CheckIgnorableAbility CHECK_HAVE, BTLSCR_SIDE_EFFECT_MON, ABILITY_OWN_TEMPO, _141 CompareVarToValue OPCODE_EQU, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_MOVE_EFFECT, _076 CompareVarToValue OPCODE_NEQ, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_INDIRECT, _042 CheckIgnorableAbility CHECK_HAVE, BTLSCR_SIDE_EFFECT_MON, ABILITY_SHIELD_DUST, _101 _042: CompareVarToValue OPCODE_NEQ, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_DIRECT, _049 PrintAttackMessage Wait _049: CheckSubstitute BTLSCR_SIDE_EFFECT_MON, _101 CompareMonDataToValue OPCODE_FLAG_SET, BTLSCR_SIDE_EFFECT_MON, BATTLEMON_VOLATILE_STATUS, VOLATILE_CONDITION_CONFUSION, _128 CompareVarToValue OPCODE_FLAG_SET, BTLVAR_MOVE_STATUS_FLAGS, MOVE_STATUS_MISSED|MOVE_STATUS_SEMI_INVULNERABLE, _101 CompareVarToValue OPCODE_FLAG_SET, BTLVAR_SIDE_CONDITIONS_EFFECT_MON, SIDE_CONDITION_SAFEGUARD, _167 CompareVarToValue OPCODE_NEQ, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_DIRECT, _076 PlayMoveAnimation BTLSCR_ATTACKER Wait _076: PlayBattleAnimation BTLSCR_SIDE_EFFECT_MON, BATTLE_ANIMATION_CONFUSED Wait Random 3, 2 UpdateMonDataFromVar OPCODE_FLAG_ON, BTLSCR_SIDE_EFFECT_MON, BATTLEMON_VOLATILE_STATUS, BTLVAR_CALC_TEMP CompareVarToValue OPCODE_EQU, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_MOVE_EFFECT, _185 // {0} became confused! PrintMessage pl_msg_00000368_00156, TAG_NICKNAME, BTLSCR_SIDE_EFFECT_MON Wait WaitButtonABTime 30 _100: End _101: CompareVarToValue OPCODE_EQU, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_INDIRECT, _185 WaitButtonABTime 30 GetCurrentMoveData MOVEATTRIBUTE_RANGE CompareVarToValue OPCODE_EQU, BTLVAR_CALC_TEMP, 0x00000004, _124 CompareVarToValue OPCODE_EQU, BTLVAR_CALC_TEMP, 0x00000008, _124 Call BATTLE_SUBSCRIPT_BUT_IT_FAILED GoTo _185 _124: Call BATTLE_SUBSCRIPT_MOVE_FAIL_MISSED GoTo _185 _128: CompareVarToValue OPCODE_EQU, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_INDIRECT, _185 WaitButtonABTime 30 // {0} is already confused! PrintMessage pl_msg_00000368_00159, TAG_NICKNAME, BTLSCR_SIDE_EFFECT_MON GoTo _178 _141: CompareVarToValue OPCODE_EQU, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_INDIRECT, _185 CompareVarToValue OPCODE_EQU, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_HELD_ITEM, _185 CompareVarToValue OPCODE_EQU, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_MOVE_EFFECT, _185 PrintAttackMessage Wait WaitButtonABTime 30 // {0}’s {1} prevents confusion! PrintMessage pl_msg_00000368_00653, TAG_NICKNAME_ABILITY, BTLSCR_SIDE_EFFECT_MON, BTLSCR_SIDE_EFFECT_MON GoTo _178 _167: CompareVarToValue OPCODE_EQU, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_INDIRECT, _185 WaitButtonABTime 30 // {0} is protected by Safeguard! PrintMessage pl_msg_00000368_00200, TAG_NICKNAME, BTLSCR_SIDE_EFFECT_MON _178: Wait WaitButtonABTime 30 UpdateVar OPCODE_FLAG_ON, BTLVAR_MOVE_STATUS_FLAGS, MOVE_STATUS_NO_MORE_WORK _185: End