File: build_chain.json

package info (click to toggle)
spring 106.0%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 55,316 kB
  • sloc: cpp: 543,954; ansic: 44,800; python: 12,575; java: 12,201; awk: 5,889; sh: 1,796; asm: 1,546; xml: 655; perl: 405; php: 211; objc: 194; makefile: 76; sed: 2
file content (210 lines) | stat: -rw-r--r-- 9,699 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
// Mono-space font required
{
"porcupine": {
	//        0              1                2             3                   4
	"unit": ["turretlaser", "turretmissile", "turretriot", "turretheavylaser", "turrettorp",
	//        5              6                7             8                 9
		"turretaalaser", "staticcon", "turretheavy", "staticshield", "turretemp",
	//       10             11               12            13                14
		"turretantiheavy", "staticarty", "turretaafar", "turretaaheavy", "turretgauss",
	//       15		        16                    17               18             19              20
		"staticantinuke", "staticheavyradar", "staticheavyarty", "raveparty", "factoryshield", "striderhub"
	],
	// Actual number of defences per cluster bounded by income
	"land":  [0, 1, 0, 3, 5, 1, 6, 2, 14, 1, 9, 5, 6, 2, 3, 5, 0, 8, 9, 14, 1, 3, 6, 12, 11, 13],
	"water": [4, 1, 6, 4, 4, 3, 5, 9, 16],
	"prevent": 1,  // number of preventive defences
	"amount": {  // income bound factor
		"offset": [-0.05, 0.05],
		// Amount factor: 8x8 ~ 1.6, 20x20 ~ 1.59
		"factor": [1.6, 1.59],
		"map": [8, 20]
	},


	// Base defence and time to build it, in seconds
	"base": [[0, 10], [0, 180], [1, 400], [6, 450], [0, 500], [5, 660], [1, 990], [5, 1160], [19, 1200], [1, 1380], [2, 1480], [17, 1500], [17, 1500], [18, 1700]],

	"superweapon": {
		"unit":   ["raveparty", "staticnuke", "staticheavyarty", "zenith", "staticantinuke"],  // FIXME: last aren't superweapon
		"weight": [ 0.10,         0.20,        0.20,              0.05,     0.25,    0.10],

		"condition": [16, 200000]  // [<Minimum income>, <maximum seconds to build>]
	},

	// Fallback defence
	"default": "turretmissile"
},

// Actions on building finished event
"build_chain": {
	// WARNING: Avoid recursion
	// <category>: factory, nano, store, pylon, energy, defence, bunker, big_gun, radar, sonar, mex, repair
	"energy": {
		// <UnitDef>: {<elements>}
		"energysingu": {
			// Available elements:
			// "energy": [max energy income, <"mex"|true>]
			// "pylon": <boolean>
			// "porc": <boolean>
			// "terra": <boolean>
			// "hub": [
			//     // chain1
			//     [{<unit1>, <category>, <offset>, <condition>}, {<unit2>, <category>, <offset>, <condition>}, ...],
			//     // chain2
			//     [{...}, {...}, ...],
			//     ...
			// ]
			// <unit>: UnitDef
			// <offset>:
			//     1) [x, z] in South facing, elmos
			//     2) {<direction>: <delta>} - left, right, front, back
			// <condition>: air, no_air, maybe

			// Build pylon in direction of nearby mex cluster
//			"pylon": true,

			// Build chain of units
			"hub": [
				[  // chain1
					{"unit": "turretlaser", "category": "defence", "offset": [-80, -80]},
					{"unit": "turretmissile", "category": "defence", "offset": [-70, 70]},
					{"unit": "turretmissile", "category": "defence", "offset": [-80, 80]},
					{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
					{"unit": "staticshield", "category": "defence", "offset": [-10, -10]},
					{"unit": "striderhub", "category": "defence", "offset": [-10, -10]},
					{"unit": "turretaafar", "category": "defence", "offset": {"front": 120}, "condition": "air"},
					{"unit": "turretaaflak", "category": "defence", "offset": {"front": 120}, "condition": "no_air"}
				],
				[  // chain2
					{"unit": "turretlaser", "category": "defence", "offset": [80, 80]},
					{"unit": "turretemp", "category": "defence", "offset": {"right": 80}},
					{"unit": "turretmissile", "category": "defence", "offset": [70, -70]},
					{"unit": "turretmissile", "category": "defence", "offset": [80, -80]},
					{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
					{"unit": "staticshield", "category": "defence", "offset": [-10, -10]},
					{"unit": "striderhub", "category": "defence", "offset": [-10, -10]},
					{"unit": "turretaafar", "category": "defence", "offset": {"front": 120}, "condition": "air"},
					{"unit": "turretaaflak", "category": "defence", "offset": {"front": 120}, "condition": "no_air"}
				]
			]
		},
		"energyfusion": {
//			"pylon": true,
			"hub": [[
					{"unit": "turretlaser", "category": "defence", "offset": [80, -80]},
					{"unit": "staticstorage", "category": "defence", "offset": [-10, -10]},
					{"unit": "turretriot", "category": "defence", "offset": [-80, 80]}
				]]
		}
	},
	"factory": {
		"factoryplane": {
			"hub": [[{"unit": "staticrearm", "category": "nano", "offset": {"front": 150}}]]
		},
		"factorygunship": {
			"hub": [[{"unit": "staticcon", "category": "nano", "offset": {"front": 150}}]]
		}
	},
	"mex": {
		"staticmex": {
//			"terra": true,
			"energy": [20, true],
			"porc": true
		}
	},
	"big_gun": {
		"staticheavyarty": {
			"hub": [[
					{"unit": "staticradar", "category": "radar", "offset": {"back": 40}},
					{"unit": "turretaafar", "category": "defence", "offset": {"left": 120}, "condition": "air"},
					{"unit": "turretlaser", "category": "defence", "offset": [-80, 80]},
					{"unit": "turretemp", "category": "defence", "offset": {"front": 60}},
					{"unit": "turretmissile", "category": "defence", "offset": [80, 80]},
					{"unit": "staticshield", "category": "defence", "offset": [-10, -10]},
					{"unit": "staticstorage", "category": "defence", "offset": [-10, -10]},
					{"unit": "turretriot", "category": "defence", "offset": [80, -80]},
					{"unit": "turretmissile", "category": "defence", "offset": [-80, -80]}
				]]
		},
		"raveparty": {
			"hub": [[
					{"unit": "staticradar", "category": "radar", "offset": {"back": 40}},
					{"unit": "turretaafar", "category": "defence", "offset": {"left": 120}, "condition": "air"},
					{"unit": "turretlaser", "category": "defence", "offset": [-80, 80]},
					{"unit": "turretemp", "category": "defence", "offset": {"front": 60}},
					{"unit": "turretlaser", "category": "defence", "offset": [80, -80]},
					{"unit": "turretmissile", "category": "defence", "offset": [80, 80]},
					{"unit": "staticshield", "category": "defence", "offset": [-10, -10]},
					{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
					{"unit": "staticstorage", "category": "defence", "offset": [-10, -10]},
					{"unit": "turretriot", "category": "defence", "offset": [80, 80]},
					{"unit": "turretriot", "category": "defence", "offset": [-80, -80]},
					{"unit": "turretmissile", "category": "defence", "offset": [-80, -80]}
				]]
		},
		"mahlazer": {
			"hub": [[
					{"unit": "staticradar", "category": "radar", "offset": {"back": 40}},
					{"unit": "turretaafar", "category": "defence", "offset": {"left": 120}, "condition": "air"},
					{"unit": "turretlaser", "category": "defence", "offset": [-80, 80]},
					{"unit": "turretlaser", "category": "defence", "offset": [80, -80]},
					{"unit": "turretmissile", "category": "defence", "offset": [80, 80]},
					{"unit": "staticshield", "category": "defence", "offset": [-10, -10]},
					{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
					{"unit": "staticstorage", "category": "defence", "offset": [-10, -10]},
					{"unit": "turretriot", "category": "defence", "offset": [80, 80]},
					{"unit": "turretriot", "category": "defence", "offset": [-80, -80]},
					{"unit": "turretmissile", "category": "defence", "offset": [-80, -80]}
				]]
		},
		"staticheavyradar": {
			"hub": [[
					{"unit": "turretlaser", "category": "defence", "offset": [80, -80]},
					{"unit": "turretmissile", "category": "defence", "offset": [-80, 80]}
				]]
		},
		"staticantinuke": {
			"hub": [[
					{"unit": "staticradar", "category": "radar", "offset": {"back": 40}},
					{"unit": "turretlaser", "category": "defence", "offset": [-80, 80]},
					{"unit": "turretlaser", "category": "defence", "offset": {"left": 40}},
					{"unit": "turretemp", "category": "defence", "offset": {"back": 60}},
					{"unit": "turretmissile", "category": "defence", "offset": [80, 80]},
					{"unit": "turretlaser", "category": "defence", "offset": {"right": 40}},
					{"unit": "turretlaser", "category": "defence", "offset": {"front": 40}},
					{"unit": "turretemp", "category": "defence", "offset": {"front": 60}},
					{"unit": "turretriot", "category": "defence", "offset": [80, -80]},
					{"unit": "turretlaser", "category": "defence", "offset": {"back": 40}},
					{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
					{"unit": "turretemp", "category": "defence", "offset": {"left": 60}},
					{"unit": "staticstorage", "category": "defence", "offset": [-10, -10]},
					{"unit": "turretemp", "category": "defence", "offset": {"right": 60}},
					{"unit": "turretmissile", "category": "defence", "offset": [-80, -80]}
				]]
		},
		"energypylon": {
			"hub": [[
					{"unit": "turretmissile", "category": "radar", "offset": {"back": 100}},
					{"unit": "turretmissile", "category": "defence", "offset": [-80, 80]},
					{"unit": "turretmissile", "category": "defence", "offset": {"left": 100}},
					{"unit": "turretmissile", "category": "defence", "offset": {"back": -100}},
					{"unit": "turretmissile", "category": "defence", "offset": [80, 80]}
				]]
		},
		"turretaaheavy": {
			"pylon": true,
			"hub": [
					[
					{"unit": "staticradar", "category": "radar", "offset": {"back": 40}},
					{"unit": "turretlaser", "category": "defence", "offset": [-80, 80]},
					{"unit": "turretmissile", "category": "defence", "offset": [80, 80]},
					{"unit": "turretriot", "category": "defence", "offset": [80, -80]},
					{"unit": "staticshield", "category": "defence", "offset": [10, 10]},
					{"unit": "staticstorage", "category": "defence", "offset": [-10, -10]},
					{"unit": "turretmissile", "category": "defence", "offset": [-80, -80]}
				]]
		}
	}
}
}