diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index c46668c5ca..8389737cef 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -3526,10 +3526,15 @@ BattleScript_TryDestinyKnotTarget: playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT waitanimation printstring STRINGID_DESTINYKNOTACTIVATES - tryinfatuating BattleScript_ButItFailed + tryinfatuating BattleScript_TryDestinyKnotTargetFailed volatileanimation BS_TARGET, VOLATILE_INFATUATION waitanimation waitmessage B_WAIT_TIME_LONG + goto BattleScript_TryDestinyKnotTargetRet +BattleScript_TryDestinyKnotTargetFailed: + pause B_WAIT_TIME_SHORT + printstring STRINGID_BUTITFAILED + waitmessage B_WAIT_TIME_LONG BattleScript_TryDestinyKnotTargetRet: return diff --git a/test/battle/hold_effect/destiny_knot.c b/test/battle/hold_effect/destiny_knot.c index b8097c6012..7c0fabff5d 100644 --- a/test/battle/hold_effect/destiny_knot.c +++ b/test/battle/hold_effect/destiny_knot.c @@ -64,3 +64,17 @@ SINGLE_BATTLE_TEST("Destiny Knot procs but fails if the target is oblivious") EXPECT(!player->volatiles.infatuation); } } + +SINGLE_BATTLE_TEST("Destiny Knot procs but fails if the target is already infatuated (cute charm)") +{ + GIVEN { + PLAYER(SPECIES_CLEFAIRY) { Gender(MON_MALE); Ability(ABILITY_CUTE_CHARM);} + OPPONENT(SPECIES_WOBBUFFET) { Gender(MON_FEMALE); Item(ITEM_DESTINY_KNOT); } + } WHEN { + TURN { MOVE(opponent, MOVE_ATTRACT);} + TURN { MOVE(opponent, MOVE_TACKLE);} + } SCENE { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent); + MESSAGE("But it failed!"); + } +}