Balatro-Multiplayer / Balatro-Multiplayer/BalatroMultiplayer
[Beta v3 PvP] Skip SFX plays during the opponent's first hand instead of at skip time
- 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
Assessment
This issue has not been assessed yet.