Skip to content

Commit dc606ef

Browse files
committed
Update Circuit 1.2.15 configs
1 parent 693f24a commit dc606ef

50 files changed

Lines changed: 17624 additions & 153 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/1052188CircuitAIBeginner64/stable/config/behaviour.json

Lines changed: 1184 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
// Mono-space font required
2+
{
3+
"building": {
4+
"class_land": {
5+
"fac_land": {
6+
// "type": [<blocker_shape>, <structure_type>]
7+
// Available blocker_shape: rectangle, circle.
8+
// Available structure_type: factory, mex, engy_low, engy_mid, engy_high, pylon, def_low, def_mid, def_high, special, nano, terra, unknown
9+
"type": ["rectangle", "factory"],
10+
11+
// Unit of measurement: 1 size/yard/radius = SQUARE_SIZE * 2 = 16 elmos, integer.
12+
// Offset in South facing
13+
"offset": [0, 6], // default: [0, 0]
14+
15+
// Size of a blocker without yard
16+
// "size": [7, 7], // default: size of a unit
17+
18+
// Spacer, blocker_size = size + yard
19+
"yard": [12, 12] // default: [0, 0]
20+
21+
// "ignore": [<structure_type>, <structure_type>, ...]
22+
// Ignore specified structures.
23+
// Additional values: none, all
24+
// "ignore": ["none"] // default: ["none"]
25+
},
26+
"fac_air": {
27+
"type": ["rectangle", "factory"],
28+
"yard": [8, 8]
29+
},
30+
"fac_water": {
31+
"type": ["rectangle", "factory"],
32+
"offset": [0, 4],
33+
"yard": [10, 12]
34+
},
35+
"fac_strider": {
36+
"type": ["rectangle", "special"],
37+
"offset": [0, 12],
38+
"yard": [16, 16]
39+
},
40+
"solar": {
41+
"type": ["circle", "engy_low"],
42+
"ignore": ["mex", "engy_mid", "engy_high", "def_low", "pylon", "nano"],
43+
"radius": 7
44+
},
45+
"wind": {
46+
"type": ["circle", "engy_low"],
47+
// Integer radius of a blocker or description string.
48+
// Available string values: explosion, expl_ally
49+
// "radius": "explosion", // default: "explosion"
50+
"radius": 4,
51+
"not_ignore": ["factory", "engy_low", "terra"]
52+
},
53+
"fusion": {
54+
"type": ["circle", "engy_mid"],
55+
"ignore": ["mex", "pylon", "def_low"]
56+
},
57+
"singu": {
58+
"type": ["rectangle", "engy_high"],
59+
"ignore": ["mex", "engy_low", "def_low", "pylon", "nano"]
60+
},
61+
"pylon": {
62+
"type": ["circle", "pylon"],
63+
"not_ignore": ["factory", "engy_low", "pylon", "terra"] // default: ["all"]
64+
},
65+
"store": {
66+
"type": ["rectangle", "mex"],
67+
"not_ignore": ["factory", "engy_low", "terra"]
68+
},
69+
"mex": {
70+
"type": ["rectangle", "mex"],
71+
"ignore": ["all"]
72+
},
73+
"def_low": {
74+
"type": ["circle", "def_low"],
75+
"radius": 10, // 160 / (SQUARE_SIZE * 2)
76+
"ignore": ["engy_mid", "engy_high", "pylon", "nano"]
77+
},
78+
"caretaker": {
79+
"type": ["rectangle", "nano"],
80+
"ignore": ["mex", "def_low", "engy_mid", "pylon", "engy_high"]
81+
},
82+
"small": {
83+
"type": ["rectangle", "unknown"],
84+
"not_ignore": ["factory", "def_low", "terra"]
85+
},
86+
"superweapon": {
87+
"type": ["circle", "special"],
88+
"ignore": ["mex", "def_low", "pylon", "engy_high"]
89+
},
90+
"protector": {
91+
"type": ["circle", "special"],
92+
"ignore": ["mex", "def_low", "engy_mid", "pylon", "engy_high"]
93+
},
94+
// "terraform": {
95+
// "type": ["rectangle", "special"],
96+
// "size": [7, 7] // int2(3 + 4, 3 + 4)
97+
// },
98+
"strider": {
99+
"type": ["rectangle", "special"],
100+
"yard": [2, 2],
101+
"ignore": ["all"]
102+
},
103+
"_default_": {
104+
"type": ["rectangle", "unknown"],
105+
"yard": [4, 4],
106+
"ignore": ["pylon", "engy_high"]
107+
}
108+
},
109+
// Water overrides land. Map considered as water if amount of land < 40%
110+
"class_water" : {
111+
"wind": {
112+
"type": ["circle", "engy_low"],
113+
"radius": 1, // default: "explosion"
114+
"ignore": ["mex", "engy_mid", "engy_high", "pylon", "nano"]
115+
}
116+
},
117+
"instance": {
118+
"fac_land": ["factorycloak", "factoryamph", "factoryhover", "factoryjump", "factoryshield", "factoryspider", "factorytank", "factoryveh"],
119+
"fac_air": ["factoryplane", "factorygunship"],
120+
"fac_water": ["factoryship"],
121+
"fac_strider": ["striderhub"],
122+
"solar": ["energysolar"],
123+
"wind": ["energywind"],
124+
"fusion": ["energyfusion"],
125+
"singu": ["energysingu"],
126+
"pylon": ["energypylon"],
127+
"store": ["staticstorage"],
128+
"mex": ["staticmex"],
129+
"def_low": ["turretmissile", "turretlaser", "staticarty"],
130+
"caretaker": ["staticcon", "staticrearm"],
131+
"superweapon": ["raveparty", "staticnuke", "zenith", "turretaaheavy", "staticheavyarty", "staticantinuke", "staticheavyradar"],
132+
// "protector": ["staticantinuke"],
133+
// "terraform": ["terraunit"],
134+
"strider": ["striderantiheavy", "striderscorpion", "striderdante", "striderarty", "striderfunnelweb", "striderbantha", "striderdetriment", "subtacmissile", "shipcarrier", "shipheavyarty"],
135+
"small": ["staticradar"]
136+
}
137+
}
138+
}
Lines changed: 249 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,249 @@
1+
// Mono-space font required
2+
{
3+
"porcupine": {
4+
// 0 1 2 3 4
5+
"unit": ["turretlaser", "turretmissile", "turretriot", "turretheavylaser", "turrettorp",
6+
// 5 6 7 8 9
7+
"turretaalaser", "staticcon", "turretheavy", "staticshield", "turretemp",
8+
// 10 11 12 13 14
9+
"turretantiheavy", "staticarty", "turretaafar", "turretaaheavy", "turretgauss",
10+
// 15 16
11+
"staticantinuke", "staticheavyradar"
12+
],
13+
// Actual number of defences per cluster bounded by income
14+
"land": [0, 0, 1, 3, 5, 1, 2, 14, 1, 9, 5, 6, 2, 3, 5, 0, 8, 9, 14, 1, 3, 6, 16, 12, 11, 13],
15+
"water": [4, 1, 6, 4, 4, 3, 5, 9, 16],
16+
"prevent": 1, // number of preventive defences
17+
"amount": { // income bound factor
18+
"offset": [-0.15, 0.4],
19+
// Amount factor: 4x4 ~ 1.85, 20x20 ~ 1.45
20+
"factor": [1.55, 1.30],
21+
"map": [4, 20]
22+
},
23+
24+
25+
// Base defence and time to build it, in seconds
26+
"base": [[0, 10], [1, 300], [0, 310], [1, 400], [6, 450], [0, 500], [16, 600], [5, 660], [1, 990], [5, 1160], [1, 1380], [2, 1680], [13, 1800], [15, 1850]],
27+
28+
"superweapon": {
29+
"unit": ["raveparty", "staticnuke", "staticheavyarty", "zenith", "mahlazer", "staticantinuke"], // FIXME: last aren't superweapon
30+
"weight": [ 0.10, 0.20, 0.20, 0.10, 0.10, 0.10],
31+
32+
"condition": [16, 20000] // [<Minimum income>, <maximum seconds to build>]
33+
},
34+
35+
// Fallback defence
36+
"default": "turretmissile"
37+
},
38+
39+
// Actions on building finished event
40+
"build_chain": {
41+
// WARNING: Avoid recursion
42+
// <category>: factory, nano, store, pylon, energy, defence, bunker, big_gun, radar, sonar, mex, repair
43+
"energy": {
44+
// <UnitDef>: {<elements>}
45+
"energysingu": {
46+
// Available elements:
47+
// "energy": [max energy income, <"mex"|true>]
48+
// "pylon": <boolean>
49+
// "porc": <boolean>
50+
// "terra": <boolean>
51+
// "hub": [
52+
// // chain1
53+
// [{<unit1>, <category>, <offset>, <condition>}, {<unit2>, <category>, <offset>, <condition>}, ...],
54+
// // chain2
55+
// [{...}, {...}, ...],
56+
// ...
57+
// ]
58+
// <unit>: UnitDef
59+
// <offset>:
60+
// 1) [x, z] in South facing, elmos
61+
// 2) {<direction>: <delta>} - left, right, front, back
62+
// <condition>: air, no_air, maybe
63+
64+
// Build pylon in direction of nearby mex cluster
65+
// "pylon": true,
66+
67+
// Build chain of units
68+
"hub": [
69+
[ // chain1
70+
{"unit": "turretlaser", "category": "defence", "offset": [-80, -80]},
71+
{"unit": "turretmissile", "category": "defence", "offset": [-70, 70]},
72+
{"unit": "turretmissile", "category": "defence", "offset": [-80, 80]},
73+
{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
74+
{"unit": "staticshield", "category": "defence", "offset": [-10, -10]},
75+
{"unit": "staticstorage", "category": "defence", "offset": [-10, -10]},
76+
{"unit": "turretaafar", "category": "defence", "offset": {"front": 120}, "condition": "air"},
77+
{"unit": "turretaaflak", "category": "defence", "offset": {"front": 120}, "condition": "no_air"}
78+
],
79+
[ // chain2
80+
{"unit": "turretlaser", "category": "defence", "offset": [80, 80]},
81+
{"unit": "turretemp", "category": "defence", "offset": {"right": 80}},
82+
{"unit": "turretmissile", "category": "defence", "offset": [70, -70]},
83+
{"unit": "turretmissile", "category": "defence", "offset": [80, -80]},
84+
{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
85+
{"unit": "staticshield", "category": "defence", "offset": [-10, -10]},
86+
{"unit": "staticstorage", "category": "defence", "offset": [-10, -10]},
87+
{"unit": "turretaafar", "category": "defence", "offset": {"front": 120}, "condition": "air"},
88+
{"unit": "turretaaflak", "category": "defence", "offset": {"front": 120}, "condition": "no_air"}
89+
]
90+
]
91+
},
92+
"energyfusion": {
93+
// "pylon": true,
94+
"hub": [[
95+
{"unit": "turretlaser", "category": "defence", "offset": [80, -80]},
96+
{"unit": "staticstorage", "category": "defence", "offset": [-10, -10]},
97+
{"unit": "turretriot", "category": "defence", "offset": [-80, 80]}
98+
]]
99+
}
100+
},
101+
"factory": {
102+
"factoryplane": {
103+
"hub": [[{"unit": "staticrearm", "category": "nano", "offset": {"front": 150}}]]
104+
},
105+
"factorygunship": {
106+
"hub": [[{"unit": "staticcon", "category": "nano", "offset": {"front": 150}}]]
107+
},
108+
"striderhub": {
109+
"pylon": true
110+
}
111+
},
112+
"mex": {
113+
"staticmex": {
114+
// "terra": true,
115+
"energy": [20, "mex"],
116+
"porc": true
117+
}
118+
},
119+
"big_gun": {
120+
"staticheavyarty": {
121+
"hub": [[
122+
{"unit": "staticradar", "category": "radar", "offset": {"back": 40}},
123+
{"unit": "turretaafar", "category": "defence", "offset": {"left": 120}, "condition": "air"},
124+
{"unit": "turretlaser", "category": "defence", "offset": [-80, 80]},
125+
{"unit": "turretemp", "category": "defence", "offset": {"front": 60}},
126+
{"unit": "turretmissile", "category": "defence", "offset": [80, 80]},
127+
{"unit": "staticshield", "category": "defence", "offset": [-10, -10]},
128+
{"unit": "staticstorage", "category": "defence", "offset": [-10, -10]},
129+
{"unit": "turretriot", "category": "defence", "offset": [80, -80]},
130+
{"unit": "turretmissile", "category": "defence", "offset": [-80, -80]}
131+
]]
132+
},
133+
"raveparty": {
134+
"hub": [[
135+
{"unit": "energypylon", "category": "defence", "offset": [250, -250]},
136+
{"unit": "energypylon", "category": "defence", "offset": [-250, 250]},
137+
{"unit": "energypylon", "category": "defence", "offset": [-250, -250]},
138+
{"unit": "energypylon", "category": "defence", "offset": [250, 250]},
139+
{"unit": "staticradar", "category": "radar", "offset": {"back": 40}},
140+
{"unit": "turretaafar", "category": "defence", "offset": {"left": 120}, "condition": "air"},
141+
{"unit": "turretlaser", "category": "defence", "offset": [-80, 80]},
142+
{"unit": "turretemp", "category": "defence", "offset": {"front": 60}},
143+
{"unit": "turretlaser", "category": "defence", "offset": [80, -80]},
144+
{"unit": "turretmissile", "category": "defence", "offset": [80, 80]},
145+
{"unit": "staticshield", "category": "defence", "offset": [-10, -10]},
146+
{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
147+
{"unit": "turretriot", "category": "defence", "offset": [80, 80]},
148+
{"unit": "turretriot", "category": "defence", "offset": [-80, -80]},
149+
{"unit": "turretmissile", "category": "defence", "offset": [-80, -80]}
150+
]]
151+
},
152+
"mahlazer": {
153+
"hub": [[
154+
{"unit": "energypylon", "category": "defence", "offset": [250, -250]},
155+
{"unit": "energypylon", "category": "defence", "offset": [-250, 250]},
156+
{"unit": "energypylon", "category": "defence", "offset": [-250, -250]},
157+
{"unit": "energypylon", "category": "defence", "offset": [250, 250]},
158+
{"unit": "staticradar", "category": "radar", "offset": {"back": 40}},
159+
{"unit": "turretaafar", "category": "defence", "offset": {"left": 120}, "condition": "air"},
160+
{"unit": "turretlaser", "category": "defence", "offset": [-80, 80]},
161+
{"unit": "turretlaser", "category": "defence", "offset": [80, -80]},
162+
{"unit": "turretmissile", "category": "defence", "offset": [80, 80]},
163+
{"unit": "staticshield", "category": "defence", "offset": [-10, -10]},
164+
{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
165+
{"unit": "turretriot", "category": "defence", "offset": [80, 80]},
166+
{"unit": "turretriot", "category": "defence", "offset": [-80, -80]},
167+
{"unit": "turretmissile", "category": "defence", "offset": [-80, -80]}
168+
]]
169+
},
170+
"zenith": {
171+
"hub": [[
172+
{"unit": "energypylon", "category": "defence", "offset": [250, -250]},
173+
{"unit": "energypylon", "category": "defence", "offset": [-250, 250]},
174+
{"unit": "energypylon", "category": "defence", "offset": [-250, -250]},
175+
{"unit": "energypylon", "category": "defence", "offset": [250, 250]},
176+
{"unit": "staticradar", "category": "radar", "offset": {"back": 40}},
177+
{"unit": "turretaafar", "category": "defence", "offset": {"left": 120}, "condition": "air"},
178+
{"unit": "turretlaser", "category": "defence", "offset": [-80, 80]},
179+
{"unit": "turretlaser", "category": "defence", "offset": [80, -80]},
180+
{"unit": "turretmissile", "category": "defence", "offset": [80, 80]},
181+
{"unit": "staticshield", "category": "defence", "offset": [-10, -10]},
182+
{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
183+
{"unit": "turretriot", "category": "defence", "offset": [80, 80]},
184+
{"unit": "turretriot", "category": "defence", "offset": [-80, -80]},
185+
{"unit": "turretmissile", "category": "defence", "offset": [-80, -80]}
186+
]]
187+
},
188+
"staticheavyradar": {
189+
"hub": [[
190+
{"unit": "turretlaser", "category": "defence", "offset": [80, -80]},
191+
{"unit": "turretmissile", "category": "defence", "offset": [-80, 80]}
192+
]]
193+
},
194+
"staticnuke": {
195+
"hub": [[
196+
{"unit": "staticradar", "category": "radar", "offset": {"back": 40}},
197+
{"unit": "turretaafar", "category": "defence", "offset": {"left": 120}, "condition": "air"},
198+
{"unit": "turretlaser", "category": "defence", "offset": [-80, 80]},
199+
{"unit": "turretmissile", "category": "defence", "offset": [80, 80]},
200+
{"unit": "turretriot", "category": "defence", "offset": [80, -80]},
201+
{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
202+
{"unit": "staticstorage", "category": "defence", "offset": [-10, -10]},
203+
{"unit": "turretmissile", "category": "defence", "offset": [-80, -80]}
204+
]]
205+
},
206+
"staticantinuke": {
207+
"hub": [[
208+
{"unit": "staticradar", "category": "radar", "offset": {"back": 40}},
209+
{"unit": "turretlaser", "category": "defence", "offset": [-80, 80]},
210+
{"unit": "turretlaser", "category": "defence", "offset": {"left": 40}},
211+
{"unit": "turretemp", "category": "defence", "offset": {"back": 60}},
212+
{"unit": "turretmissile", "category": "defence", "offset": [80, 80]},
213+
{"unit": "turretlaser", "category": "defence", "offset": {"right": 40}},
214+
{"unit": "turretlaser", "category": "defence", "offset": {"front": 40}},
215+
{"unit": "turretemp", "category": "defence", "offset": {"front": 60}},
216+
{"unit": "turretriot", "category": "defence", "offset": [80, -80]},
217+
{"unit": "turretlaser", "category": "defence", "offset": {"back": 40}},
218+
{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
219+
{"unit": "turretemp", "category": "defence", "offset": {"left": 60}},
220+
{"unit": "staticstorage", "category": "defence", "offset": [-10, -10]},
221+
{"unit": "turretemp", "category": "defence", "offset": {"right": 60}},
222+
{"unit": "turretmissile", "category": "defence", "offset": [-80, -80]}
223+
]]
224+
},
225+
"energypylon": {
226+
"hub": [[
227+
{"unit": "turretmissile", "category": "radar", "offset": {"back": 100}},
228+
{"unit": "turretmissile", "category": "defence", "offset": [-80, 80]},
229+
{"unit": "turretmissile", "category": "defence", "offset": {"left": 100}},
230+
{"unit": "turretmissile", "category": "defence", "offset": {"back": -100}},
231+
{"unit": "turretmissile", "category": "defence", "offset": [80, 80]}
232+
]]
233+
},
234+
"turretaaheavy": {
235+
"pylon": true,
236+
"hub": [
237+
[
238+
{"unit": "staticradar", "category": "radar", "offset": {"back": 40}},
239+
{"unit": "turretlaser", "category": "defence", "offset": [-80, 80]},
240+
{"unit": "turretmissile", "category": "defence", "offset": [80, 80]},
241+
{"unit": "turretriot", "category": "defence", "offset": [80, -80]},
242+
{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
243+
{"unit": "staticstorage", "category": "defence", "offset": [-10, -10]},
244+
{"unit": "turretmissile", "category": "defence", "offset": [-80, -80]}
245+
]]
246+
}
247+
}
248+
}
249+
}

0 commit comments

Comments
 (0)