diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 5fac761cf7..bcdab75081 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -890,7 +890,7 @@ static void HandleInputChooseMove(u32 battler) } else if (JOY_NEW(START_BUTTON)) { - if (gBattleStruct->gimmick.usableGimmick[battler] != GIMMICK_NONE) + if (gBattleStruct->gimmick.usableGimmick[battler] != GIMMICK_NONE && !HasTrainerUsedGimmick(battler, gBattleStruct->gimmick.usableGimmick[battler])) { gBattleStruct->gimmick.playerSelect ^= 1; ReloadMoveNames(battler); diff --git a/src/battle_gimmick.c b/src/battle_gimmick.c index c8ee932218..79165c8901 100644 --- a/src/battle_gimmick.c +++ b/src/battle_gimmick.c @@ -144,7 +144,8 @@ void CreateGimmickTriggerSprite(u32 battler) // Exit if there shouldn't be a sprite produced. if (GetBattlerSide(battler) == B_SIDE_OPPONENT || gBattleStruct->gimmick.usableGimmick[battler] == GIMMICK_NONE - || gimmick->triggerSheet == NULL) + || gimmick->triggerSheet == NULL + || HasTrainerUsedGimmick(battler, gBattleStruct->gimmick.usableGimmick[battler])) { return; }