REPOSITORY SOURCE

extension.json

extensions/team-lantern/extension.json

1{
2  "api": "darkwind-extension.1",
3  "id": "garden.team-lantern",
4  "revision": "1",
5  "profile": "object-response.1",
6  "capabilities": [
7    "state",
8    "material",
9    "unlock"
10  ],
11  "state": {
12    "type": "object",
13    "fields": {
14      "previous": {
15        "type": "string",
16        "maxLength": 36
17      },
18      "turns": {
19        "type": "number",
20        "min": 0,
21        "max": 8,
22        "integer": true
23      }
24    }
25  },
26  "defaults": {
27    "previous": "",
28    "turns": 0
29  },
30  "configuration": {
31    "type": "object",
32    "fields": {
33      "turns": {
34        "type": "number",
35        "min": 2,
36        "max": 8,
37        "integer": true
38      }
39    }
40  },
41  "source": {
42    "format": 1,
43    "hooks": {
44      "onInteract": [
45        {
46          "let": "turns",
47          "value": {
48            "get": [
49              "state",
50              "turns"
51            ]
52          }
53        },
54        {
55          "if": {
56            "op": "ne",
57            "args": [
58              {
59                "get": [
60                  "event",
61                  "actor"
62                ]
63              },
64              {
65                "get": [
66                  "state",
67                  "previous"
68                ]
69              }
70            ]
71          },
72          "then": [
73            {
74              "let": "turns",
75              "value": {
76                "op": "min",
77                "args": [
78                  {
79                    "get": [
80                      "configuration",
81                      "turns"
82                    ]
83                  },
84                  {
85                    "op": "add",
86                    "args": [
87                      {
88                        "var": "turns"
89                      },
90                      1
91                    ]
92                  }
93                ]
94              }
95            }
96          ]
97        },
98        {
99          "setState": {
100            "object": {
101              "previous": {
102                "get": [
103                  "event",
104                  "actor"
105                ]
106              },
107              "turns": {
108                "var": "turns"
109              }
110            }
111          }
112        },
113        {
114          "if": {
115            "op": "ge",
116            "args": [
117              {
118                "var": "turns"
119              },
120              {
121                "get": [
122                  "configuration",
123                  "turns"
124                ]
125              }
126            ]
127          },
128          "then": [
129            {
130              "write": "MaterialSelection",
131              "value": {
132                "object": {
133                  "variant": "active"
134                }
135              }
136            }
137          ]
138        }
139      ]
140    }
141  }
142}
143