Balatro-Multiplayer / Balatro-Multiplayer/BalatroMultiplayer

[Beta v3 PvP] Skip SFX plays during the opponent's first hand instead of at skip time

Open
#487 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Lua
Stars
335
Forks
106
Avg merge
2d 2h
Merged PRs (30d)
1

Description

**Status: root cause confirmed**
**Affects:** MultiplayerPvP Closed Beta v3 (mqtt branch)

## Symptom
Tester report: "the skip sfx for some reason plays during the first hand played by your opponent if you skipped at all in the ante." The "opponent skipped" sound (negative + gong) is silent at the actual skip, then fires when the skipper plays their first hand of the boss blind.

## Root cause
`MP.sync_pvp_blind` (`objects/blinds/nemesis.lua:137-140`) resolves the sync target via `G.GAME.blind.config.blind` — the currently active blind. At skip time the active blind is the vanilla small/big blind being skipped, which has no `.sync` method, so the skip's display sync (and its SFX) is silently dropped and `MP.GAME.enemy.skips` stays stale.

The opponent's later `playHand` payload still carries the cumulative skip count (`pvp_api/net.lua:31-33, 76-84`). When their first boss-blind hand finally triggers `on_sync`, the stale delta check at `nemesis.lua:120-123` (`enemy.skips < skips`) fires the skip SFX there — exactly once, one blind late. The same stale value also mis-times the timer-restore loop at `nemesis.lua:42-57`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.