diff --git a/src/trainer_see.c b/src/trainer_see.c index 348ec14c2d..4ac9c513b2 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -522,6 +522,9 @@ static u8 GetTrainerApproachDistance(struct ObjectEvent *trainerObj) PlayerGetDestCoords(&x, &y); if (trainerObj->trainerType == TRAINER_TYPE_NORMAL) // can only see in one direction { + // Disable trainer approach while moving diagonally (usually moving on sideway stairs) + if (trainerObj->facingDirection > DIR_EAST) + return 0; approachDistance = sDirectionalApproachDistanceFuncs[trainerObj->facingDirection - 1](trainerObj, trainerObj->trainerRange_berryTreeId, x, y); return CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, trainerObj->facingDirection); }