Fixes Instruct's message (#8543)

This commit is contained in:
PhallenTree 2025-12-15 13:27:14 +00:00 committed by GitHub
parent f5bbaa3475
commit bc0bbc5490
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 19 additions and 4 deletions

View File

@ -666,7 +666,7 @@ const u8 *const gBattleStringsTable[STRINGID_COUNT] =
[STRINGID_SWEETVEILPROTECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} can't fall asleep due to a veil of sweetness!"),
[STRINGID_AROMAVEILPROTECTED] = COMPOUND_STRING("{B_DEF_NAME_WITH_PREFIX} is protected by an aromatic veil!"),
[STRINGID_CELEBRATEMESSAGE] = COMPOUND_STRING("Congratulations, {B_PLAYER_NAME}!"),
[STRINGID_USEDINSTRUCTEDMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} followed {B_BUFF1}'s instructions!"),
[STRINGID_USEDINSTRUCTEDMOVE] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} followed {B_SCR_NAME_WITH_PREFIX2}'s instructions!"),
[STRINGID_THROATCHOPENDS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} can use sound-based moves again!"),
[STRINGID_PKMNCANTUSEMOVETHROATCHOP] = COMPOUND_STRING("The effects of Throat Chop prevent {B_ATK_NAME_WITH_PREFIX2} from using certain moves!\p"),
[STRINGID_LASERFOCUS] = COMPOUND_STRING("{B_ATK_NAME_WITH_PREFIX} concentrated intensely!"),

View File

@ -17343,18 +17343,18 @@ void BS_TryInstruct(void)
if (gBattleMons[gBattlerTarget].moves[moveIndex] == gCalledMove)
{
gCurrMovePos = moveIndex;
moveIndex = 4;
moveIndex = MAX_MON_MOVES;
break;
}
}
if (moveIndex != 4 || gBattleMons[gBattlerTarget].pp[gCurrMovePos] == 0)
if (moveIndex != MAX_MON_MOVES || gBattleMons[gBattlerTarget].pp[gCurrMovePos] == 0)
{
gBattlescriptCurrInstr = cmd->failInstr;
}
else
{
gBattleScripting.battler = gBattlerAttacker; // for message
gEffectBattler = gBattleStruct->lastMoveTarget[gBattlerTarget];
PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattlerTarget, gBattlerPartyIndexes[gBattlerTarget]);
gBattlescriptCurrInstr = cmd->nextInstr;
}
}

View File

@ -6,6 +6,21 @@ ASSUMPTIONS
ASSUME(GetMoveEffect(MOVE_INSTRUCT) == EFFECT_INSTRUCT);
}
SINGLE_BATTLE_TEST("Instruct causes the target to use its last used move again")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_SCRATCH, MOVE_POUND, MOVE_SCRATCH, MOVE_CELEBRATE); }
OPPONENT(SPECIES_WYNAUT);
} WHEN {
TURN { MOVE(player, MOVE_SCRATCH); MOVE(opponent, MOVE_INSTRUCT); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_SCRATCH, player);
ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, opponent);
MESSAGE("Wobbuffet followed the opposing Wynaut's instructions!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_SCRATCH, player);
}
}
DOUBLE_BATTLE_TEST("Instruct fails if target hasn't made a move")
{
GIVEN {