From 86ba8c3191f6e4db7071d8eac3303a885022adb4 Mon Sep 17 00:00:00 2001 From: FosterProgramming Date: Sun, 7 Dec 2025 18:35:39 +0100 Subject: [PATCH] Fix potential issue when destiny knot fail after proccing from cute charm (#8459) --- data/battle_scripts_1.s | 7 ++++++- test/battle/hold_effect/destiny_knot.c | 14 ++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) 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!"); + } +}