Skip to content

engine: casting and activating from zones other than the hand #723

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): Casting from a zone other than the hand, the command zone, or a one-turn graveyard permission — no alternative-cost or zone-specific casting mechanism (flashback, escape, adventure).

10 of the 104 missing M19 cards live in this family. allow_casting_from_graveyard already proves the seam works — cards stay in their zone, are offered beside the hand, and go through the same action, stack object, and timing gates. What is missing is the rest of the shapes.

M19 cards blocked (10)

# Card What it needs
116 Reassembling Skeleton an activated ability that functions from the graveyard, returning its own card to the battlefield
202 Talons of Wildwood the same, returning its own card to hand
88 Bone Dragon the same, with a cost that exiles other graveyard cards
160 Spit Flame a triggered ability that functions from the graveyard
229 Crucible of Worlds permission to play lands from a graveyard (today's permission is for casting, and a land is played, CR 116.2a)
134 Dark-Dweller Oracle permission to play one exiled card this turn
129 Apex of Power permission to cast from among cards exiled this turn
228 Chaos Wand casting an exiled card without paying its mana cost
52 Djinn of Wishes playing the top card of a library without paying its cost
65 Omniscience casting from hand without paying mana costs

Two independent primitives are tangled here and should be separated: which zone a card may be played from, and what it costs (an alternative cost of nothing). Reassembling Skeleton and Talons of Wildwood need only the first.

Scope

  1. Abilities that function while their source is in a graveyard — the valid_actions offer, the activation path, and the ability collector all currently walk the battlefield only.
  2. A per-turn exile permission mirroring the existing graveyard permission, recorded with the turn it was granted on.
  3. Playing lands under a permission, distinct from casting.
  4. An alternative "without paying its mana cost" payment, added only alongside a card that needs it.

Acceptance criteria

  • Reassembling Skeleton is authored and tested first — it is the smallest card that proves graveyard-sourced activation.
  • A permission is scoped to the turn it was granted on and cannot leak across a turn boundary.
  • Timing gates (sorcery speed, priority) are enforced identically to a hand cast, and re-checked in apply_action rather than only at offer time.
  • The exclusion narrows; make compat regenerated and committed.
  • docs/card-schema.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