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