diff --git a/src/battle_util.c b/src/battle_util.c index 65a4d79089..c68959a8ff 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5751,6 +5751,9 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 // Set the target to the original target of the mon that first used a Dance move gBattlerTarget = gBattleScripting.savedBattler & 0x3; + // Edge case for dance moves that hit multiply targets + gHitMarker &= ~HITMARKER_NO_ATTACKSTRING; + // Make sure that the target isn't an ally - if it is, target the original user if (GetBattlerSide(gBattlerTarget) == GetBattlerSide(gBattlerAttacker)) gBattlerTarget = (gBattleScripting.savedBattler & 0xF0) >> 4; diff --git a/test/battle/ability/dancer.c b/test/battle/ability/dancer.c index 7e520f440b..34af26e75e 100644 --- a/test/battle/ability/dancer.c +++ b/test/battle/ability/dancer.c @@ -36,11 +36,11 @@ SINGLE_BATTLE_TEST("Dancer can copy Teeter Dance") DOUBLE_BATTLE_TEST("Dancer can copy Teeter Dance and confuse both opposing targets") { - KNOWN_FAILING; // Fails because copied move that targets both opposing mons, targets only one when copied by Dancer GIVEN { ASSUME(gMovesInfo[MOVE_TEETER_DANCE].danceMove == TRUE); + ASSUME(gItemsInfo[ITEM_LUM_BERRY].holdEffect == HOLD_EFFECT_CURE_STATUS); PLAYER(SPECIES_WOBBUFFET) - PLAYER(SPECIES_WYNAUT) + PLAYER(SPECIES_WYNAUT) { Item(ITEM_LUM_BERRY); } OPPONENT(SPECIES_ORICORIO) { Ability(ABILITY_DANCER); Item(ITEM_LUM_BERRY); } OPPONENT(SPECIES_SLOWPOKE) { Ability(ABILITY_OWN_TEMPO); } } WHEN { @@ -50,6 +50,6 @@ DOUBLE_BATTLE_TEST("Dancer can copy Teeter Dance and confuse both opposing targe ABILITY_POPUP(opponentLeft, ABILITY_DANCER); ANIMATION(ANIM_TYPE_MOVE, MOVE_TEETER_DANCE, opponentLeft); MESSAGE("Wobbuffet became confused!"); - MESSAGE("Wynaut became confusef!"); + MESSAGE("Wynaut became confused!"); } }