Skip to content

engine: naming a colour, a type, or a card #738

Description

@ninthworld

Parent: #706. One of the exclusion families blocking the 104 M19 cards the catalog does not yet define.

Exclusion (crates/sage-engine/data/exclusions.json): Effects that ask a player to name a colour, type, or card — no player choice recorded on a permanent or spell.

The mid-resolution choice queue (ADR 0013) already asks players questions and already has an answer_color, which add_mana_any_color uses. What is missing is a choice that is recorded on the permanent and read for as long as it is on the battlefield.

M19 cards blocked (3)

# Card Choice, and when it is made
231 Diamond Mare a colour, as it enters; later cast triggers read it
128 Alpine Moon a land card name, as it enters (also needs loses-all-abilities and a static reaching opponents' permanents)
60 Metamorphic Alteration a creature, as the Aura enters (also needs copy effects)

Scope

  1. "As this enters" is not an enters-the-battlefield trigger: the choice is made as part of the permanent arriving (CR 614.12), before any ability could respond, and the permanent is never briefly on the battlefield without it. The engine already has that seam — enters_tapped, enters_with_counters, and planeswalker loyalty all ride it.
  2. The answer must be state on the permanent, so it survives every read, is projected in GameView, and is visible to the abilities that consult it.
  3. Naming a card is the one that must not leak the legal posture: store a functional identity, never prose, and never a name the catalog does not contain.
  4. Author Diamond Mare — it is the smallest card that records a choice and reads it back, and its cast trigger filtered by colour is a small widening of you_cast_spell.

Acceptance criteria

  • Diamond Mare authored, printed in data/sets/M19.json, and tested on the real apply_action.
  • Tests cover: the choice is made on entry, is projected to both seats, and drives the trigger for the chosen colour and not for others.
  • Generated rules text names the choice; the client renders the recorded answer with no inference.
  • The exclusion narrows; make compat regenerated and committed.
  • docs/card-schema.md and docs/decisions/0013-mid-resolution-player-choices.md updated; make verify green.

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