diff --git a/apps/desktop/src/components/pet/roam-behavior.ts b/apps/desktop/src/components/pet/roam-behavior.ts index 01b3acf3b7a..054ceca605a 100644 --- a/apps/desktop/src/components/pet/roam-behavior.ts +++ b/apps/desktop/src/components/pet/roam-behavior.ts @@ -87,7 +87,8 @@ export function pickStrollTarget(ledge: Ledge, fromX: number, rng: Rng = Math.ra const roomLeft = fromX - ledge.left const roomRight = ledge.right - fromX - const goRight = roomRight >= roomLeft ? rng() < STROLL_TOWARD_ROOM : rng() < 1 - STROLL_TOWARD_ROOM + // Usually head to the roomier side; the long tail of the coin doubles back. + const goRight = (rng() < STROLL_TOWARD_ROOM) === (roomRight >= roomLeft) const room = Math.max(0, goRight ? roomRight : roomLeft) const minDist = Math.min(room, Math.max(span * STROLL_MIN_FRACTION, STROLL_MIN_PX)) const dist = minDist + rng() * Math.max(0, room - minDist)