Skip to content

fix!(lua.endpoints): skip-opened tag packs are a dead zone — no-op picks, missing dealt hand, hangs that break the session #233

Description

@Khetnen

Description

Packs opened from skip tags at BLIND_SELECT misbehave over RPC in three ways.
All three are fine in the vanilla UI; all three were reproduced with a
differential harness replaying identical traces on a vanilla-faithful simulator.

  1. Silent no-op pick. pack returned success for a pick from a skip-opened
    Celestial pack, but nothing happened on live: the pack still had all its
    cards, the planet was unused, no hand was leveled (seed LS5HXL62, step 28).
  2. No dealt hand for Arcana/Spectral tag packs. Vanilla deals a targeting
    hand when these packs open; over RPC at blind select, both sides sit in
    SMODS_BOOSTER_OPENED but live's hand stays empty with an untouched deck
    (seeds LSMWZ3M4 step 21, LSDTVEW6 step 27). In our census across ~400
    organic games, every skip-opened tag pack either diverged or had to be
    truncated — the flow is a complete dead zone.
  3. Hang with lasting damage. Stacked tag packs (Double Tag + a pack tag)
    hang the pack endpoint — related to but distinct from the triggers in fix!(lua.endpoints): buy hangs packs with thin decks #198
    and fix!(lua.endpoints): buy/pack hang when Celestial pack contains Black Hole #199. Worse, after the hang the game's event processing stays broken for
    the remainder of the run even though gamestate still reads consistent
    (probed directly: a round-end mechanic that reliably fired in a fresh session
    stopped firing after the hang, with all RNG streams still matching).

Suspected root cause: the SMODS booster flow at blind select diverges from the
shop pack flow the endpoints were built around (cf. #202, which covers use/sell
during SMODS_BOOSTER_OPENED).

Impact

Skipping a blind for a pack tag is one of the stronger lines in the game.
Over RPC it currently either loses the pack contents silently (worst case for a
bot: the pick "succeeds") or kills the session. Our harness had to veto all
pack-tag skips to keep runs alive, which removes a real strategy from any bot
that wants to be faithful.

Suggested Fix

  • pack should verify the pick actually applied (pack card count / target area
    changed) before reporting success, and return an error otherwise.
  • Deal the targeting hand for Arcana/Spectral tag packs the way the shop flow
    does, or reject the open with a clear error instead of hanging.

Repro bundles available for all seeds cited.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions