mlogjs 0.2.0 → 0.3.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +68 -18
  3. package/build/Compiler.js +32 -47
  4. package/build/Compiler.js.map +1 -1
  5. package/build/CompilerError.js +11 -0
  6. package/build/CompilerError.js.map +1 -0
  7. package/build/Scope.js +17 -7
  8. package/build/Scope.js.map +1 -1
  9. package/build/bin.js +45 -12
  10. package/build/bin.js.map +1 -1
  11. package/build/handlers/BlockStatement.js.map +1 -1
  12. package/build/handlers/CallExpression.js.map +1 -1
  13. package/build/handlers/File.js +9 -0
  14. package/build/handlers/File.js.map +1 -0
  15. package/build/handlers/ForStatement.js.map +1 -1
  16. package/build/handlers/Function.js +20 -9
  17. package/build/handlers/Function.js.map +1 -1
  18. package/build/handlers/IfStatement.js.map +1 -1
  19. package/build/handlers/Literal.js +11 -14
  20. package/build/handlers/Literal.js.map +1 -1
  21. package/build/handlers/Object.js +16 -5
  22. package/build/handlers/Object.js.map +1 -1
  23. package/build/handlers/OperationExpressions.js +6 -1
  24. package/build/handlers/OperationExpressions.js.map +1 -1
  25. package/build/handlers/Program.js +1 -1
  26. package/build/handlers/Program.js.map +1 -1
  27. package/build/handlers/Statements.js.map +1 -1
  28. package/build/handlers/TemplateExpression.js.map +1 -1
  29. package/build/handlers/VariableDeclaration.js +25 -9
  30. package/build/handlers/VariableDeclaration.js.map +1 -1
  31. package/build/handlers/WhileStatement.js.map +1 -1
  32. package/build/handlers/index.js +1 -0
  33. package/build/handlers/index.js.map +1 -1
  34. package/build/index.js +5 -5
  35. package/build/index.js.map +1 -1
  36. package/build/initScope.js +40 -0
  37. package/build/initScope.js.map +1 -0
  38. package/build/instructions/InstructionBase.js +1 -1
  39. package/build/instructions/InstructionBase.js.map +1 -1
  40. package/build/instructions/JumpInstruction.js +1 -1
  41. package/build/instructions/JumpInstruction.js.map +1 -1
  42. package/build/instructions/OperationInstruction.js.map +1 -1
  43. package/build/macros/Building.js +16 -8
  44. package/build/macros/Building.js.map +1 -1
  45. package/build/macros/Function.js +1 -1
  46. package/build/macros/Function.js.map +1 -1
  47. package/build/macros/Math.js +13 -8
  48. package/build/macros/Math.js.map +1 -1
  49. package/build/macros/Memory.js +7 -5
  50. package/build/macros/Memory.js.map +1 -1
  51. package/build/macros/Namespace.js +24 -11
  52. package/build/macros/Namespace.js.map +1 -1
  53. package/build/macros/Other.js +2 -1
  54. package/build/macros/Other.js.map +1 -1
  55. package/build/macros/RawValue.js +2 -1
  56. package/build/macros/RawValue.js.map +1 -1
  57. package/build/macros/commands/{control.js → Control.js} +4 -3
  58. package/build/macros/commands/Control.js.map +1 -0
  59. package/build/macros/commands/Draw.js +4 -3
  60. package/build/macros/commands/Draw.js.map +1 -1
  61. package/build/macros/commands/DrawFlush.js +2 -1
  62. package/build/macros/commands/DrawFlush.js.map +1 -1
  63. package/build/macros/commands/GetLink.js +8 -4
  64. package/build/macros/commands/GetLink.js.map +1 -1
  65. package/build/macros/commands/Lookup.js +5 -4
  66. package/build/macros/commands/Lookup.js.map +1 -1
  67. package/build/macros/commands/Print.js +5 -1
  68. package/build/macros/commands/Print.js.map +1 -1
  69. package/build/macros/commands/PrintFlush.js +2 -1
  70. package/build/macros/commands/PrintFlush.js.map +1 -1
  71. package/build/macros/commands/Radar.js +16 -12
  72. package/build/macros/commands/Radar.js.map +1 -1
  73. package/build/macros/commands/Sensor.js +4 -3
  74. package/build/macros/commands/Sensor.js.map +1 -1
  75. package/build/macros/commands/UnitBind.js +2 -1
  76. package/build/macros/commands/UnitBind.js.map +1 -1
  77. package/build/macros/commands/UnitControl.js +13 -8
  78. package/build/macros/commands/UnitControl.js.map +1 -1
  79. package/build/macros/commands/UnitLocate.js +29 -8
  80. package/build/macros/commands/UnitLocate.js.map +1 -1
  81. package/build/macros/commands/UnitRadar.js +17 -10
  82. package/build/macros/commands/UnitRadar.js.map +1 -1
  83. package/build/macros/commands/Wait.js +2 -1
  84. package/build/macros/commands/Wait.js.map +1 -1
  85. package/build/operators.js.map +1 -1
  86. package/build/types.js +1 -1
  87. package/build/types.js.map +1 -1
  88. package/build/utils.js +7 -2
  89. package/build/utils.js.map +1 -1
  90. package/build/values/BaseValue.js +5 -5
  91. package/build/values/BaseValue.js.map +1 -1
  92. package/build/values/FunctionValue.js +25 -13
  93. package/build/values/FunctionValue.js.map +1 -1
  94. package/build/values/LiteralValue.js +5 -4
  95. package/build/values/LiteralValue.js.map +1 -1
  96. package/build/values/ObjectValue.js +11 -6
  97. package/build/values/ObjectValue.js.map +1 -1
  98. package/build/values/StoreValue.js +3 -2
  99. package/build/values/StoreValue.js.map +1 -1
  100. package/build/values/TempValue.js +18 -7
  101. package/build/values/TempValue.js.map +1 -1
  102. package/build/values/VoidValue.js +8 -7
  103. package/build/values/VoidValue.js.map +1 -1
  104. package/dist/bin.cjs +82 -0
  105. package/dist/bin.cjs.map +1 -0
  106. package/dist/index.cjs +2187 -0
  107. package/dist/index.cjs.map +1 -0
  108. package/dist/index.mjs +2162 -0
  109. package/dist/index.mjs.map +1 -0
  110. package/dist/types/Compiler.d.ts +26 -0
  111. package/dist/types/CompilerError.d.ts +9 -0
  112. package/dist/types/Scope.d.ts +24 -0
  113. package/dist/types/bin.d.ts +1 -0
  114. package/dist/types/handlers/BlockStatement.d.ts +2 -0
  115. package/dist/types/handlers/CallExpression.d.ts +3 -0
  116. package/dist/types/handlers/File.d.ts +2 -0
  117. package/dist/types/handlers/ForStatement.d.ts +2 -0
  118. package/{build → dist/types}/handlers/Function.d.ts +1 -0
  119. package/{build → dist/types}/handlers/Identifier.d.ts +0 -0
  120. package/dist/types/handlers/IfStatement.d.ts +2 -0
  121. package/dist/types/handlers/Literal.d.ts +5 -0
  122. package/{build → dist/types}/handlers/Object.d.ts +2 -0
  123. package/{build → dist/types}/handlers/OperationExpressions.d.ts +1 -0
  124. package/dist/types/handlers/Program.d.ts +2 -0
  125. package/dist/types/handlers/Statements.d.ts +5 -0
  126. package/dist/types/handlers/TemplateExpression.d.ts +2 -0
  127. package/dist/types/handlers/Typescript.d.ts +7 -0
  128. package/dist/types/handlers/VariableDeclaration.d.ts +3 -0
  129. package/dist/types/handlers/WhileStatement.d.ts +3 -0
  130. package/{build → dist/types}/handlers/index.d.ts +2 -0
  131. package/dist/types/index.d.ts +2 -0
  132. package/dist/types/initScope.d.ts +5 -0
  133. package/{build → dist/types}/instructions/AddressResolver.d.ts +1 -1
  134. package/{build → dist/types}/instructions/ControlInstructions.d.ts +0 -3
  135. package/{build → dist/types}/instructions/EndInstruction.d.ts +0 -0
  136. package/{build → dist/types}/instructions/InstructionBase.d.ts +4 -4
  137. package/{build → dist/types}/instructions/JumpInstruction.d.ts +1 -1
  138. package/{build → dist/types}/instructions/OperationInstruction.d.ts +1 -1
  139. package/{build → dist/types}/instructions/SetCounterInstruction.d.ts +0 -0
  140. package/{build → dist/types}/instructions/SetInstruction.d.ts +1 -0
  141. package/{build → dist/types}/instructions/ZeroSpaceInstruction.d.ts +0 -0
  142. package/{build → dist/types}/instructions/index.d.ts +0 -0
  143. package/{build → dist/types}/macros/Building.d.ts +1 -2
  144. package/dist/types/macros/Entities.d.ts +11 -0
  145. package/dist/types/macros/Function.d.ts +13 -0
  146. package/{build/macros/Draw.d.ts → dist/types/macros/GetGlobal.d.ts} +1 -1
  147. package/{build → dist/types}/macros/Math.d.ts +0 -0
  148. package/{build → dist/types}/macros/Memory.d.ts +0 -0
  149. package/{build → dist/types}/macros/Namespace.d.ts +0 -5
  150. package/{build → dist/types}/macros/Other.d.ts +0 -0
  151. package/{build → dist/types}/macros/RawValue.d.ts +0 -0
  152. package/{build/macros/commands/Asm.d.ts → dist/types/macros/commands/Control.d.ts} +1 -1
  153. package/{build/macros/helpers/GetVar.d.ts → dist/types/macros/commands/Draw.d.ts} +1 -1
  154. package/{build → dist/types}/macros/commands/DrawFlush.d.ts +1 -1
  155. package/{build/macros/commands/Draw.d.ts → dist/types/macros/commands/End.d.ts} +1 -1
  156. package/{build → dist/types}/macros/commands/GetLink.d.ts +0 -0
  157. package/{build → dist/types}/macros/commands/Lookup.d.ts +0 -0
  158. package/{build → dist/types}/macros/commands/Print.d.ts +1 -1
  159. package/{build → dist/types}/macros/commands/PrintFlush.d.ts +1 -1
  160. package/{build → dist/types}/macros/commands/Radar.d.ts +0 -0
  161. package/{build → dist/types}/macros/commands/Sensor.d.ts +0 -0
  162. package/{build → dist/types}/macros/commands/UnitBind.d.ts +1 -1
  163. package/dist/types/macros/commands/UnitControl.d.ts +5 -0
  164. package/{build → dist/types}/macros/commands/UnitLocate.d.ts +0 -0
  165. package/{build → dist/types}/macros/commands/UnitRadar.d.ts +0 -0
  166. package/{build → dist/types}/macros/commands/Wait.d.ts +1 -1
  167. package/{build → dist/types}/macros/commands/index.d.ts +1 -0
  168. package/{build → dist/types}/macros/index.d.ts +0 -1
  169. package/{build → dist/types}/operators.d.ts +1 -1
  170. package/dist/types/types.d.ts +209 -0
  171. package/dist/types/utils.d.ts +24 -0
  172. package/dist/types/values/BaseValue.d.ts +7 -0
  173. package/dist/types/values/DestructuringValue.d.ts +17 -0
  174. package/{build → dist/types}/values/FunctionValue.d.ts +21 -8
  175. package/{build → dist/types}/values/LiteralValue.d.ts +2 -1
  176. package/dist/types/values/ObjectValue.d.ts +23 -0
  177. package/dist/types/values/SenseableValue.d.ts +23 -0
  178. package/dist/types/values/StackValue.d.ts +16 -0
  179. package/{build → dist/types}/values/StoreValue.d.ts +7 -3
  180. package/{build → dist/types}/values/TempValue.d.ts +9 -2
  181. package/dist/types/values/ValueOwner.d.ts +27 -0
  182. package/dist/types/values/VoidValue.d.ts +16 -0
  183. package/{build → dist/types}/values/index.d.ts +2 -1
  184. package/lib/commands.d.ts +532 -326
  185. package/lib/eslib/index.d.ts +3 -3
  186. package/lib/eslib/lib.d.ts +9 -9
  187. package/lib/eslib/lib.es2015.collection.d.ts +89 -89
  188. package/lib/eslib/lib.es2015.core.d.ts +16 -16
  189. package/lib/eslib/lib.es2015.d.ts +30 -30
  190. package/lib/eslib/lib.es2015.generator.d.ts +79 -79
  191. package/lib/eslib/lib.es2015.iterable.d.ts +70 -70
  192. package/lib/eslib/lib.es5.d.ts +295 -295
  193. package/lib/eslib/lib.es6.d.ts +18 -18
  194. package/lib/globals.d.ts +341 -328
  195. package/lib/helpers.d.ts +23 -23
  196. package/lib/index.d.ts +7 -7
  197. package/lib/kinds.d.ts +36 -36
  198. package/lib/memory.d.ts +17 -17
  199. package/lib/traits.d.ts +141 -121
  200. package/lib/util.d.ts +32 -32
  201. package/package.json +68 -48
  202. package/build/Compiler.d.ts +0 -18
  203. package/build/Scope.d.ts +0 -26
  204. package/build/bin.d.ts +0 -2
  205. package/build/handlers/BlockStatement.d.ts +0 -2
  206. package/build/handlers/CallExpression.d.ts +0 -3
  207. package/build/handlers/ForStatement.d.ts +0 -2
  208. package/build/handlers/IfStatement.d.ts +0 -2
  209. package/build/handlers/Literal.d.ts +0 -2
  210. package/build/handlers/Program.d.ts +0 -2
  211. package/build/handlers/Statements.d.ts +0 -5
  212. package/build/handlers/TemplateExpression.d.ts +0 -2
  213. package/build/handlers/VariableDeclaration.d.ts +0 -3
  214. package/build/handlers/WhileStatement.d.ts +0 -2
  215. package/build/index.d.ts +0 -1
  216. package/build/macros/Blocks.d.ts +0 -5
  217. package/build/macros/Blocks.js +0 -143
  218. package/build/macros/Blocks.js.map +0 -1
  219. package/build/macros/Draw.js +0 -39
  220. package/build/macros/Draw.js.map +0 -1
  221. package/build/macros/Function.d.ts +0 -12
  222. package/build/macros/Items.d.ts +0 -5
  223. package/build/macros/Items.js +0 -20
  224. package/build/macros/Items.js.map +0 -1
  225. package/build/macros/Liquids.d.ts +0 -5
  226. package/build/macros/Liquids.js +0 -18
  227. package/build/macros/Liquids.js.map +0 -1
  228. package/build/macros/Symbol.d.ts +0 -0
  229. package/build/macros/Symbol.js +0 -1
  230. package/build/macros/Symbol.js.map +0 -1
  231. package/build/macros/SymbolNamespace.d.ts +0 -0
  232. package/build/macros/SymbolNamespace.js +0 -1
  233. package/build/macros/SymbolNamespace.js.map +0 -1
  234. package/build/macros/TypeFactory.d.ts +0 -8
  235. package/build/macros/TypeFactory.js +0 -22
  236. package/build/macros/TypeFactory.js.map +0 -1
  237. package/build/macros/Units.d.ts +0 -5
  238. package/build/macros/Units.js +0 -18
  239. package/build/macros/Units.js.map +0 -1
  240. package/build/macros/Vars.d.ts +0 -5
  241. package/build/macros/Vars.js +0 -18
  242. package/build/macros/Vars.js.map +0 -1
  243. package/build/macros/commands/Asm.js +0 -21
  244. package/build/macros/commands/Asm.js.map +0 -1
  245. package/build/macros/commands/UnitControl.d.ts +0 -5
  246. package/build/macros/commands/control.d.ts +0 -5
  247. package/build/macros/commands/control.js.map +0 -1
  248. package/build/macros/commands/io.d.ts +0 -8
  249. package/build/macros/commands/io.js +0 -47
  250. package/build/macros/commands/io.js.map +0 -1
  251. package/build/macros/helpers/GetBuilding.d.ts +0 -5
  252. package/build/macros/helpers/GetBuilding.js +0 -16
  253. package/build/macros/helpers/GetBuilding.js.map +0 -1
  254. package/build/macros/helpers/GetVar.js +0 -16
  255. package/build/macros/helpers/GetVar.js.map +0 -1
  256. package/build/macros/helpers/index.d.ts +0 -2
  257. package/build/macros/helpers/index.js +0 -15
  258. package/build/macros/helpers/index.js.map +0 -1
  259. package/build/types.d.ts +0 -49
  260. package/build/utils.d.ts +0 -3
  261. package/build/values/BaseValue.d.ts +0 -5
  262. package/build/values/ObjectValue.d.ts +0 -17
  263. package/build/values/VoidValue.d.ts +0 -11
  264. package/dist/bundle.js +0 -1
package/lib/globals.d.ts CHANGED
@@ -1,328 +1,341 @@
1
- /// <reference path="./kinds.d.ts" />
2
-
3
- declare enum ControlKind {
4
- ctrlPlayer,
5
- ctrlProcessor,
6
- ctrlFormation,
7
- }
8
-
9
- interface Vars {
10
- /** The processor currently executing this code */
11
- readonly this: BasicBuilding &
12
- Typed<
13
- | typeof Blocks.microProcessor
14
- | typeof Blocks.logicProcessor
15
- | typeof Blocks.hyperProcessor
16
- >;
17
- /** The position on the x axis of this processor */
18
- readonly thisx: number;
19
- /** The position on the y axis of this processor */
20
- readonly thisy: number;
21
- /** The width of the map */
22
- readonly mapw: number;
23
- /** The height of the map */
24
- readonly maph: number;
25
- /** The number of blocks linked to this processor */
26
- readonly links: number;
27
- /** The amount of instructions run per second */
28
- readonly ipt: number;
29
- /** The unit bound to this processor */
30
- readonly unit: AnyUnit;
31
- }
32
-
33
- declare const Vars: Vars;
34
-
35
- declare namespace Items {
36
- const copper: unique symbol;
37
- const lead: unique symbol;
38
- const metaglass: unique symbol;
39
- const graphite: unique symbol;
40
- const sand: unique symbol;
41
- const coal: unique symbol;
42
- const titanium: unique symbol;
43
- const thorium: unique symbol;
44
- const scrap: unique symbol;
45
- const silicon: unique symbol;
46
- const plastanium: unique symbol;
47
- const phaseFabric: unique symbol;
48
- const surgeAlloy: unique symbol;
49
- const sporePod: unique symbol;
50
- const blastCompound: unique symbol;
51
- const pyratite: unique symbol;
52
- }
53
-
54
- type ItemSymbol = typeof Items[keyof typeof Items];
55
-
56
- declare namespace Liquids {
57
- const water: unique symbol;
58
- const slag: unique symbol;
59
- const oil: unique symbol;
60
- const cryofluid: unique symbol;
61
- }
62
-
63
- type LiquidSymbol = typeof Liquids[keyof typeof Liquids];
64
-
65
- declare namespace Units {
66
- const dagger: unique symbol;
67
- const mace: unique symbol;
68
- const fortress: unique symbol;
69
- const scepter: unique symbol;
70
- const reign: unique symbol;
71
- const nova: unique symbol;
72
- const pulsar: unique symbol;
73
- const quasar: unique symbol;
74
- const vela: unique symbol;
75
- const corvus: unique symbol;
76
- const crawler: unique symbol;
77
- const atrax: unique symbol;
78
- const spiroct: unique symbol;
79
- const arkyid: unique symbol;
80
- const toxopid: unique symbol;
81
- const flare: unique symbol;
82
- const horizon: unique symbol;
83
- const zenith: unique symbol;
84
- const antumbra: unique symbol;
85
- const eclipse: unique symbol;
86
- const mono: unique symbol;
87
- const poly: unique symbol;
88
- const mega: unique symbol;
89
- const quad: unique symbol;
90
- const oct: unique symbol;
91
- const risso: unique symbol;
92
- const minke: unique symbol;
93
- const bryde: unique symbol;
94
- const sei: unique symbol;
95
- const omura: unique symbol;
96
- const retusa: unique symbol;
97
- const oxynoe: unique symbol;
98
- const cyerce: unique symbol;
99
- const aegires: unique symbol;
100
- const navanax: unique symbol;
101
- const alpha: unique symbol;
102
- const beta: unique symbol;
103
- const gamma: unique symbol;
104
- }
105
-
106
- type UnitSymbol = typeof Units[keyof typeof Units];
107
-
108
- declare namespace LAccess {
109
- const totalItems: unique symbol;
110
- const firstItem: unique symbol;
111
- const totalLiquids: unique symbol;
112
- const totalPower: unique symbol;
113
- const itemCapacity: unique symbol;
114
- const liquidCapacity: unique symbol;
115
- const powerCapacity: unique symbol;
116
- const powerNetStored: unique symbol;
117
- const powerNetCapacity: unique symbol;
118
- const powerNetIn: unique symbol;
119
- const powerNetOut: unique symbol;
120
- const ammo: unique symbol;
121
- const ammoCapacity: unique symbol;
122
- const health: unique symbol;
123
- const maxHealth: unique symbol;
124
- const heat: unique symbol;
125
- const efficiency: unique symbol;
126
- const progress: unique symbol;
127
- const timescale: unique symbol;
128
- const rotation: unique symbol;
129
- const x: unique symbol;
130
- const y: unique symbol;
131
- const shootX: unique symbol;
132
- const shootY: unique symbol;
133
- const size: unique symbol;
134
- const dead: unique symbol;
135
- const range: unique symbol;
136
- const shooting: unique symbol;
137
- const boosting: unique symbol;
138
- const mineX: unique symbol;
139
- const mineY: unique symbol;
140
- const mining: unique symbol;
141
- const team: unique symbol;
142
- const type: unique symbol;
143
- const flag: unique symbol;
144
- const controlled: unique symbol;
145
- const controller: unique symbol;
146
- const commanded: unique symbol;
147
- const name: unique symbol;
148
- const payloadCount: unique symbol;
149
- const payloadType: unique symbol;
150
- const enabled: unique symbol;
151
- const shoot: unique symbol;
152
- const shootp: unique symbol;
153
- const config: unique symbol;
154
- const color: unique symbol;
155
- }
156
-
157
- declare namespace UnitCommands {
158
- const attack: unique symbol;
159
- const rally: unique symbol;
160
- const idle: unique symbol;
161
- }
162
-
163
- type UnitCommandSymbol = typeof UnitCommands[keyof typeof UnitCommands];
164
-
165
- declare namespace Blocks {
166
- // special "blocks" to reference stuff from the environment
167
- const air: unique symbol;
168
- const solid: unique symbol;
169
-
170
- const siliconSmelter: unique symbol;
171
- const siliconCrucible: unique symbol;
172
- const kiln: unique symbol;
173
- const graphitePress: unique symbol;
174
- const plastaniumCompressor: unique symbol;
175
- const multiPress: unique symbol;
176
- const phaseWeaver: unique symbol;
177
- const surgeSmelter: unique symbol;
178
- const pyratiteMixer: unique symbol;
179
- const blastMixer: unique symbol;
180
- const cryofluidMixer: unique symbol;
181
- const melter: unique symbol;
182
- const separator: unique symbol;
183
- const disassembler: unique symbol;
184
- const sporePress: unique symbol;
185
- const pulverizer: unique symbol;
186
- const incinerator: unique symbol;
187
- const coalCentrifuge: unique symbol;
188
- const powerSource: unique symbol;
189
- const powerVoid: unique symbol;
190
- const itemSource: unique symbol;
191
- const itemVoid: unique symbol;
192
- const liquidSource: unique symbol;
193
- const liquidVoid: unique symbol;
194
- const payloadSource: unique symbol;
195
- const payloadVoid: unique symbol;
196
- const illuminator: unique symbol;
197
- const copperWall: unique symbol;
198
- const copperWallLarge: unique symbol;
199
- const titaniumWall: unique symbol;
200
- const titaniumWallLarge: unique symbol;
201
- const plastaniumWall: unique symbol;
202
- const plastaniumWallLarge: unique symbol;
203
- const thoriumWall: unique symbol;
204
- const thoriumWallLarge: unique symbol;
205
- const door: unique symbol;
206
- const doorLarge: unique symbol;
207
- const phaseWall: unique symbol;
208
- const phaseWallLarge: unique symbol;
209
- const surgeWall: unique symbol;
210
- const surgeWallLarge: unique symbol;
211
- const mender: unique symbol;
212
- const mendProjector: unique symbol;
213
- const overdriveProjector: unique symbol;
214
- const overdriveDome: unique symbol;
215
- const forceProjector: unique symbol;
216
- const shockMine: unique symbol;
217
- const scrapWall: unique symbol;
218
- const scrapWallLarge: unique symbol;
219
- const scrapWallHuge: unique symbol;
220
- const scrapWallGigantic: unique symbol;
221
- const thruster: unique symbol;
222
- const conveyor: unique symbol;
223
- const titaniumConveyor: unique symbol;
224
- const plastaniumConveyor: unique symbol;
225
- const armoredConveyor: unique symbol;
226
- const distributor: unique symbol;
227
- const junction: unique symbol;
228
- const itemBridge: unique symbol;
229
- const phaseConveyor: unique symbol;
230
- const sorter: unique symbol;
231
- const invertedSorter: unique symbol;
232
- const router: unique symbol;
233
- const overflowGate: unique symbol;
234
- const underflowGate: unique symbol;
235
- const massDriver: unique symbol;
236
- const duct: unique symbol;
237
- const ductRouter: unique symbol;
238
- const ductBridge: unique symbol;
239
- const mechanicalPump: unique symbol;
240
- const rotaryPump: unique symbol;
241
- const thermalPump: unique symbol;
242
- const conduit: unique symbol;
243
- const pulseConduit: unique symbol;
244
- const platedConduit: unique symbol;
245
- const liquidRouter: unique symbol;
246
- const liquidContainer: unique symbol;
247
- const liquidTank: unique symbol;
248
- const liquidJunction: unique symbol;
249
- const bridgeConduit: unique symbol;
250
- const phaseConduit: unique symbol;
251
- const combustionGenerator: unique symbol;
252
- const thermalGenerator: unique symbol;
253
- const steamGenerator: unique symbol;
254
- const differentialGenerator: unique symbol;
255
- const rtgGenerator: unique symbol;
256
- const solarPanel: unique symbol;
257
- const largeSolarPanel: unique symbol;
258
- const thoriumReactor: unique symbol;
259
- const impactReactor: unique symbol;
260
- const battery: unique symbol;
261
- const batteryLarge: unique symbol;
262
- const powerNode: unique symbol;
263
- const powerNodeLarge: unique symbol;
264
- const surgeTower: unique symbol;
265
- const diode: unique symbol;
266
- const mechanicalDrill: unique symbol;
267
- const pneumaticDrill: unique symbol;
268
- const laserDrill: unique symbol;
269
- const blastDrill: unique symbol;
270
- const waterExtractor: unique symbol;
271
- const oilExtractor: unique symbol;
272
- const cultivator: unique symbol;
273
- const coreShard: unique symbol;
274
- const coreFoundation: unique symbol;
275
- const coreNucleus: unique symbol;
276
- const vault: unique symbol;
277
- const container: unique symbol;
278
- const unloader: unique symbol;
279
- const duo: unique symbol;
280
- const scatter: unique symbol;
281
- const scorch: unique symbol;
282
- const hail: unique symbol;
283
- const arc: unique symbol;
284
- const wave: unique symbol;
285
- const lancer: unique symbol;
286
- const swarmer: unique symbol;
287
- const salvo: unique symbol;
288
- const fuse: unique symbol;
289
- const ripple: unique symbol;
290
- const cyclone: unique symbol;
291
- const foreshadow: unique symbol;
292
- const spectre: unique symbol;
293
- const meltdown: unique symbol;
294
- const segment: unique symbol;
295
- const parallax: unique symbol;
296
- const tsunami: unique symbol;
297
- const commandCenter: unique symbol;
298
- const groundFactory: unique symbol;
299
- const airFactory: unique symbol;
300
- const navalFactory: unique symbol;
301
- const additiveReconstructor: unique symbol;
302
- const multiplicativeReconstructor: unique symbol;
303
- const exponentialReconstructor: unique symbol;
304
- const tetrativeReconstructor: unique symbol;
305
- const repairPoint: unique symbol;
306
- const repairTurret: unique symbol;
307
- const payloadConveyor: unique symbol;
308
- const payloadRouter: unique symbol;
309
- const payloadPropulsionTower: unique symbol;
310
- const deconstructor: unique symbol;
311
- const constructor: unique symbol;
312
- const largeConstructor: unique symbol;
313
- const payloadLoader: unique symbol;
314
- const payloadUnloader: unique symbol;
315
- const message: unique symbol;
316
- const switchBlock: unique symbol;
317
- const microProcessor: unique symbol;
318
- const logicProcessor: unique symbol;
319
- const hyperProcessor: unique symbol;
320
- const largeLogicDisplay: unique symbol;
321
- const logicDisplay: unique symbol;
322
- const memoryCell: unique symbol;
323
- const memoryBank: unique symbol;
324
- const launchPad: unique symbol;
325
- const interplanetaryAccelerator: unique symbol;
326
- }
327
-
328
- type BlockSymbol = typeof Blocks[keyof typeof Blocks];
1
+ /// <reference path="./kinds.d.ts" />
2
+
3
+ declare enum ControlKind {
4
+ ctrlPlayer,
5
+ ctrlProcessor,
6
+ ctrlFormation,
7
+ }
8
+
9
+ interface Vars {
10
+ /** The processor currently executing this code */
11
+ readonly this: BasicBuilding &
12
+ Typed<
13
+ | typeof Blocks.microProcessor
14
+ | typeof Blocks.logicProcessor
15
+ | typeof Blocks.hyperProcessor
16
+ >;
17
+ /** The position on the x axis of this processor */
18
+ readonly thisx: number;
19
+ /** The position on the y axis of this processor */
20
+ readonly thisy: number;
21
+ /** The width of the map */
22
+ readonly mapw: number;
23
+ /** The height of the map */
24
+ readonly maph: number;
25
+ /** The number of blocks linked to this processor */
26
+ readonly links: number;
27
+ /** The amount of instructions run per second */
28
+ readonly ipt: number;
29
+ /** The unit bound to this processor */
30
+ readonly unit: AnyUnit;
31
+ /** The amount of ticks that happened since the map started*/
32
+ readonly tick: number;
33
+ /** The current UNIX timestamp in milliseconds */
34
+ readonly time: number;
35
+ /** Total amount of items existent, can be used to check if an ID is valid*/
36
+ readonly itemCount: number;
37
+ /** Total amount of liquids existent, can be used to check if an ID is valid*/
38
+ readonly liquidCount: number;
39
+ /** Total amount of units existent, can be used to check if an ID is valid*/
40
+ readonly unitCount: number;
41
+ /** Total amount of blocks existent, can be used to check if an ID is valid*/
42
+ readonly blockCount: number;
43
+ }
44
+
45
+ declare const Vars: Vars;
46
+
47
+ declare namespace Items {
48
+ const copper: unique symbol;
49
+ const lead: unique symbol;
50
+ const metaglass: unique symbol;
51
+ const graphite: unique symbol;
52
+ const sand: unique symbol;
53
+ const coal: unique symbol;
54
+ const titanium: unique symbol;
55
+ const thorium: unique symbol;
56
+ const scrap: unique symbol;
57
+ const silicon: unique symbol;
58
+ const plastanium: unique symbol;
59
+ const phaseFabric: unique symbol;
60
+ const surgeAlloy: unique symbol;
61
+ const sporePod: unique symbol;
62
+ const blastCompound: unique symbol;
63
+ const pyratite: unique symbol;
64
+ }
65
+
66
+ type ItemSymbol = typeof Items[keyof typeof Items];
67
+
68
+ declare namespace Liquids {
69
+ const water: unique symbol;
70
+ const slag: unique symbol;
71
+ const oil: unique symbol;
72
+ const cryofluid: unique symbol;
73
+ }
74
+
75
+ type LiquidSymbol = typeof Liquids[keyof typeof Liquids];
76
+
77
+ declare namespace Units {
78
+ const dagger: unique symbol;
79
+ const mace: unique symbol;
80
+ const fortress: unique symbol;
81
+ const scepter: unique symbol;
82
+ const reign: unique symbol;
83
+ const nova: unique symbol;
84
+ const pulsar: unique symbol;
85
+ const quasar: unique symbol;
86
+ const vela: unique symbol;
87
+ const corvus: unique symbol;
88
+ const crawler: unique symbol;
89
+ const atrax: unique symbol;
90
+ const spiroct: unique symbol;
91
+ const arkyid: unique symbol;
92
+ const toxopid: unique symbol;
93
+ const flare: unique symbol;
94
+ const horizon: unique symbol;
95
+ const zenith: unique symbol;
96
+ const antumbra: unique symbol;
97
+ const eclipse: unique symbol;
98
+ const mono: unique symbol;
99
+ const poly: unique symbol;
100
+ const mega: unique symbol;
101
+ const quad: unique symbol;
102
+ const oct: unique symbol;
103
+ const risso: unique symbol;
104
+ const minke: unique symbol;
105
+ const bryde: unique symbol;
106
+ const sei: unique symbol;
107
+ const omura: unique symbol;
108
+ const retusa: unique symbol;
109
+ const oxynoe: unique symbol;
110
+ const cyerce: unique symbol;
111
+ const aegires: unique symbol;
112
+ const navanax: unique symbol;
113
+ const alpha: unique symbol;
114
+ const beta: unique symbol;
115
+ const gamma: unique symbol;
116
+ }
117
+
118
+ type UnitSymbol = typeof Units[keyof typeof Units];
119
+
120
+ declare namespace LAccess {
121
+ const totalItems: unique symbol;
122
+ const firstItem: unique symbol;
123
+ const totalLiquids: unique symbol;
124
+ const totalPower: unique symbol;
125
+ const itemCapacity: unique symbol;
126
+ const liquidCapacity: unique symbol;
127
+ const powerCapacity: unique symbol;
128
+ const powerNetStored: unique symbol;
129
+ const powerNetCapacity: unique symbol;
130
+ const powerNetIn: unique symbol;
131
+ const powerNetOut: unique symbol;
132
+ const ammo: unique symbol;
133
+ const ammoCapacity: unique symbol;
134
+ const health: unique symbol;
135
+ const maxHealth: unique symbol;
136
+ const heat: unique symbol;
137
+ const efficiency: unique symbol;
138
+ const progress: unique symbol;
139
+ const timescale: unique symbol;
140
+ const rotation: unique symbol;
141
+ const x: unique symbol;
142
+ const y: unique symbol;
143
+ const shootX: unique symbol;
144
+ const shootY: unique symbol;
145
+ const size: unique symbol;
146
+ const dead: unique symbol;
147
+ const range: unique symbol;
148
+ const shooting: unique symbol;
149
+ const boosting: unique symbol;
150
+ const mineX: unique symbol;
151
+ const mineY: unique symbol;
152
+ const mining: unique symbol;
153
+ const team: unique symbol;
154
+ const type: unique symbol;
155
+ const flag: unique symbol;
156
+ const controlled: unique symbol;
157
+ const controller: unique symbol;
158
+ const commanded: unique symbol;
159
+ const name: unique symbol;
160
+ const payloadCount: unique symbol;
161
+ const payloadType: unique symbol;
162
+ const enabled: unique symbol;
163
+ const shoot: unique symbol;
164
+ const shootp: unique symbol;
165
+ const config: unique symbol;
166
+ const color: unique symbol;
167
+ }
168
+
169
+ declare namespace UnitCommands {
170
+ const attack: unique symbol;
171
+ const rally: unique symbol;
172
+ const idle: unique symbol;
173
+ }
174
+
175
+ type UnitCommandSymbol = typeof UnitCommands[keyof typeof UnitCommands];
176
+
177
+ interface Blocks {
178
+ // special "blocks" to reference stuff from the environment
179
+ readonly air: unique symbol;
180
+ readonly solid: unique symbol;
181
+
182
+ readonly graphitePress: unique symbol;
183
+ readonly multiPress: unique symbol;
184
+ readonly siliconSmelter: unique symbol;
185
+ readonly siliconCrucible: unique symbol;
186
+ readonly kiln: unique symbol;
187
+ readonly plastaniumCompressor: unique symbol;
188
+ readonly phaseWeaver: unique symbol;
189
+ readonly alloySmelter: unique symbol;
190
+ readonly cryofluidMixer: unique symbol;
191
+ readonly pyratiteMixer: unique symbol;
192
+ readonly blastMixer: unique symbol;
193
+ readonly melter: unique symbol;
194
+ readonly separator: unique symbol;
195
+ readonly disassembler: unique symbol;
196
+ readonly sporePress: unique symbol;
197
+ readonly pulverizer: unique symbol;
198
+ readonly coalCentrifuge: unique symbol;
199
+ readonly incinerator: unique symbol;
200
+ readonly copperWall: unique symbol;
201
+ readonly copperWallLarge: unique symbol;
202
+ readonly titaniumWall: unique symbol;
203
+ readonly titaniumWallLarge: unique symbol;
204
+ readonly plastaniumWall: unique symbol;
205
+ readonly plastaniumWallLarge: unique symbol;
206
+ readonly thoriumWall: unique symbol;
207
+ readonly thoriumWallLarge: unique symbol;
208
+ readonly phaseWall: unique symbol;
209
+ readonly phaseWallLarge: unique symbol;
210
+ readonly surgeWall: unique symbol;
211
+ readonly surgeWallLarge: unique symbol;
212
+ readonly door: unique symbol;
213
+ readonly doorLarge: unique symbol;
214
+ readonly scrapWall: unique symbol;
215
+ readonly scrapWallLarge: unique symbol;
216
+ readonly scrapWallHuge: unique symbol;
217
+ readonly scrapWallGigantic: unique symbol;
218
+ readonly thruster: unique symbol;
219
+ readonly mender: unique symbol;
220
+ readonly mendProjector: unique symbol;
221
+ readonly overdriveProjector: unique symbol;
222
+ readonly overdriveDome: unique symbol;
223
+ readonly forceProjector: unique symbol;
224
+ readonly shockMine: unique symbol;
225
+ readonly conveyor: unique symbol;
226
+ readonly titaniumConveyor: unique symbol;
227
+ readonly plastaniumConveyor: unique symbol;
228
+ readonly armoredConveyor: unique symbol;
229
+ readonly junction: unique symbol;
230
+ readonly bridgeConveyor: unique symbol;
231
+ readonly phaseConveyor: unique symbol;
232
+ readonly sorter: unique symbol;
233
+ readonly invertedSorter: unique symbol;
234
+ readonly router: unique symbol;
235
+ readonly distributor: unique symbol;
236
+ readonly overflowGate: unique symbol;
237
+ readonly underflowGate: unique symbol;
238
+ readonly massDriver: unique symbol;
239
+ readonly duct: unique symbol;
240
+ readonly ductRouter: unique symbol;
241
+ readonly ductBridge: unique symbol;
242
+ readonly mechanicalPump: unique symbol;
243
+ readonly rotaryPump: unique symbol;
244
+ readonly thermalPump: unique symbol;
245
+ readonly conduit: unique symbol;
246
+ readonly pulseConduit: unique symbol;
247
+ readonly platedConduit: unique symbol;
248
+ readonly liquidRouter: unique symbol;
249
+ readonly liquidContainer: unique symbol;
250
+ readonly liquidTank: unique symbol;
251
+ readonly liquidJunction: unique symbol;
252
+ readonly bridgeConduit: unique symbol;
253
+ readonly phaseConduit: unique symbol;
254
+ readonly powerNode: unique symbol;
255
+ readonly powerNodeLarge: unique symbol;
256
+ readonly surgeTower: unique symbol;
257
+ readonly diode: unique symbol;
258
+ readonly battery: unique symbol;
259
+ readonly batteryLarge: unique symbol;
260
+ readonly combustionGenerator: unique symbol;
261
+ readonly thermalGenerator: unique symbol;
262
+ readonly steamGenerator: unique symbol;
263
+ readonly differentialGenerator: unique symbol;
264
+ readonly rtgGenerator: unique symbol;
265
+ readonly solarPanel: unique symbol;
266
+ readonly solarPanelLarge: unique symbol;
267
+ readonly thoriumReactor: unique symbol;
268
+ readonly impactReactor: unique symbol;
269
+ readonly mechanicalDrill: unique symbol;
270
+ readonly pneumaticDrill: unique symbol;
271
+ readonly laserDrill: unique symbol;
272
+ readonly blastDrill: unique symbol;
273
+ readonly waterExtractor: unique symbol;
274
+ readonly cultivator: unique symbol;
275
+ readonly oilExtractor: unique symbol;
276
+ readonly coreShard: unique symbol;
277
+ readonly coreFoundation: unique symbol;
278
+ readonly coreNucleus: unique symbol;
279
+ readonly vault: unique symbol;
280
+ readonly container: unique symbol;
281
+ readonly unloader: unique symbol;
282
+ readonly duo: unique symbol;
283
+ readonly scatter: unique symbol;
284
+ readonly scorch: unique symbol;
285
+ readonly hail: unique symbol;
286
+ readonly wave: unique symbol;
287
+ readonly lancer: unique symbol;
288
+ readonly arc: unique symbol;
289
+ readonly parallax: unique symbol;
290
+ readonly swarmer: unique symbol;
291
+ readonly salvo: unique symbol;
292
+ readonly segment: unique symbol;
293
+ readonly tsunami: unique symbol;
294
+ readonly fuse: unique symbol;
295
+ readonly ripple: unique symbol;
296
+ readonly cyclone: unique symbol;
297
+ readonly foreshadow: unique symbol;
298
+ readonly spectre: unique symbol;
299
+ readonly meltdown: unique symbol;
300
+ readonly commandCenter: unique symbol;
301
+ readonly groundFactory: unique symbol;
302
+ readonly airFactory: unique symbol;
303
+ readonly navalFactory: unique symbol;
304
+ readonly additiveReconstructor: unique symbol;
305
+ readonly multiplicativeReconstructor: unique symbol;
306
+ readonly exponentialReconstructor: unique symbol;
307
+ readonly tetrativeReconstructor: unique symbol;
308
+ readonly repairPoint: unique symbol;
309
+ readonly repairTurret: unique symbol;
310
+ readonly payloadConveyor: unique symbol;
311
+ readonly payloadRouter: unique symbol;
312
+ readonly payloadPropulsionTower: unique symbol;
313
+ readonly deconstructor: unique symbol;
314
+ readonly constructor: unique symbol;
315
+ readonly largeConstructor: unique symbol;
316
+ readonly payloadLoader: unique symbol;
317
+ readonly payloadUnloader: unique symbol;
318
+ readonly powerSource: unique symbol;
319
+ readonly powerVoid: unique symbol;
320
+ readonly itemSource: unique symbol;
321
+ readonly itemVoid: unique symbol;
322
+ readonly liquidSource: unique symbol;
323
+ readonly liquidVoid: unique symbol;
324
+ readonly payloadSource: unique symbol;
325
+ readonly payloadVoid: unique symbol;
326
+ readonly illuminator: unique symbol;
327
+ readonly launchPad: unique symbol;
328
+ readonly interplanetaryAccelerator: unique symbol;
329
+ readonly message: unique symbol;
330
+ readonly switch: unique symbol;
331
+ readonly microProcessor: unique symbol;
332
+ readonly logicProcessor: unique symbol;
333
+ readonly hyperProcessor: unique symbol;
334
+ readonly memoryCell: unique symbol;
335
+ readonly memoryBank: unique symbol;
336
+ readonly logicDisplay: unique symbol;
337
+ readonly largeLogicDisplay: unique symbol;
338
+ }
339
+
340
+ declare const Blocks: Blocks;
341
+ type BlockSymbol = typeof Blocks[keyof typeof Blocks];