{
  "id": "collect",
  "description": "Combine packets into one, in the order given by the order parameter (packet ids, top to bottom)",
  "labels": {
    "en": "Collect",
    "es": "Recoger",
    "fr": "Rassembler",
    "de": "Sammeln"
  },
  "family_ref": "true-handling",
  "action_contract": {
    "requires": [
      "target"
    ],
    "parameters": {
      "order": {
        "required": true,
        "description": "Pile references (a pile id, or a qualified card ref; post-state-effects.md §2), top to bottom, giving the stacking order of the combined result",
        "domain": "array"
      }
    },
    "post_state_invariant": "The named source packets become one packet (target), stacked top to bottom in the order order gives; each contributing packet's own internal relative order is preserved.",
    "post_state": {
      "state_schema_ref": "https://tamaraspec.org/schema/tcs-playing-cards-state-0.1.json",
      "effects": [
        {
          "op": "merge",
          "sources": {
            "param": "order"
          },
          "into": "target"
        }
      ]
    }
  }
}