{
  "id": "take",
  "description": "Take a block of n ≥ 1 cards from a stated position of a source into the actor's hand in one motion; order kept",
  "labels": {
    "en": "Take",
    "es": "Tomar",
    "fr": "Prendre",
    "de": "Nehmen"
  },
  "family_ref": "true-handling",
  "aliases": [
    "lift",
    "pick-up"
  ],
  "action_contract": {
    "parameters": {
      "count": {
        "required": false,
        "description": "Number of cards taken as one block",
        "domain": "integer >= 1",
        "default": 1
      },
      "position": {
        "required": false,
        "description": "Position within source the block is taken from",
        "domain": "top | bottom | second | center | integer >= 1",
        "default": "top"
      }
    },
    "post_state_invariant": "The block of count cards at position leaves source as one unit, in its own relative order, and arrives in the actor's hand. No card identity, mark, crimp or jog changes.",
    "post_state": {
      "state_schema_ref": "https://tamaraspec.org/schema/tcs-playing-cards-state-0.1.json",
      "effects": [
        {
          "op": "move",
          "select": {
            "position": {
              "param": "position"
            },
            "count": {
              "param": "count"
            }
          },
          "from": "source",
          "to": "actor_hand",
          "arrival": "block"
        }
      ]
    }
  }
}