Skip to content

Shop activity claims the selection screen that is still open #8

Description

@l0gr1thm1k

A deck select's decision stays open for the rest of a shop visit, and three emitters stamp it onto rows that aren't its resolutions.

Live, stock v1.0.15 / replay_version 4 — floor 39 puts seven rows under one card-removal screen:
https://spire-codex.com/runs/df80caabdba3872b/replay?floor=39

  {"t":"decision","s":2900,"decision_id":47,"decision_type":"deck_select_remove",
   "n_presented":27,"gold_on_hand":1170}
  {"t":"remove","s":2901,"decision_id":47,"option_index":26,"c":547,"id":"DECAY"}
  {"t":"buy","s":2902,"decision_id":47,"kind":"removal_service","cost_current":100}
  {"t":"relic","s":2904,"decision_id":47,"id":"TINGSHA"}
  {"t":"buy","s":2905,"decision_id":47,"kind":"relic","id":"TINGSHA","cost_current":205}
  {"t":"acquire","s":2907,"decision_id":47,"source":"shop","c":607,"id":"SPEEDSTER"}
  {"t":"buy","s":2908,"decision_id":47,"kind":"card","id":"SPEEDSTER","cost_current":74}
  {"t":"buy","s":2911,"decision_id":47,"kind":"potion","id":"LIQUID_BRONZE","cost_current":77}

Only the remove and the removal service belong to decision 47.

Four things follow from it on the run page, all on that one panel: Tingsha renders as a taken option of the card-removal screen, Speedster is counted as evidence for it, removing Decay is priced at Liquid Bronze's 77 gold rather than the 100 on the shop row, and the
stray evidence that resolves to no option index earns the panel a "Some picks not recorded" badge. The site is reading the data correctly; the ambiguity is in the capture.

There are three emitters:

  • ItemPurchased - ?.Set("decision_id", _decision > 0 ? _decision : (int?)null). The
    removal service is the only buy kind that is a select's paid half; slot already
    names which stock entry a purchase took.
  • RelicObtained - same unconditional stamp.
  • CardAcquired - already guards this class for granted cards
    (source == "granted" ? (int?)null), but "shop" falls through to the open decision.

The guard against decision_id: 0 is in place everywhere; what's missing is a guard against a decision that is still open.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions