diff --git a/build.gradle b/build.gradle index e5ca1d805f..98357633f2 100644 --- a/build.gradle +++ b/build.gradle @@ -27,7 +27,7 @@ allprojects { appName = 'Mindustry' gdxVersion = '1.9.8' roboVMVersion = '2.3.0' - uCoreVersion = '33a2bc650be42394821acad06aceb6f9ba74e77a' + uCoreVersion = 'd4c099a41403659e2c35cfd05ae79b610b9c3ae5' getVersionString = { String buildVersion = getBuildVersion() diff --git a/core/assets-raw/sprites/blocks/defense/force-projector-top.png b/core/assets-raw/sprites/blocks/defense/force-projector-top.png new file mode 100644 index 0000000000..ef835d34e6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/force-projector-top.png differ diff --git a/core/assets-raw/sprites/blocks/defense/force-projector.png b/core/assets-raw/sprites/blocks/defense/force-projector.png index 5ec71b8b91..028ea9d8fe 100644 Binary files a/core/assets-raw/sprites/blocks/defense/force-projector.png and b/core/assets-raw/sprites/blocks/defense/force-projector.png differ diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 94259982c2..23e5d146c8 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -289,6 +289,7 @@ text.blocks.liquidcapacity=Liquid Capacity text.blocks.maxitemssecond=Max Items text.blocks.powerrange=Power Range text.blocks.poweruse=Power Use +text.blocks.powerdamage=Power/Damage text.blocks.inputitemcapacity=Input Item Capacity text.blocks.outputitemcapacity=Output Item Capacity text.blocks.itemcapacity=Item Capacity diff --git a/core/assets/shaders/shield.fragment b/core/assets/shaders/shield.fragment index ba57b130ef..cfef064bb2 100644 --- a/core/assets/shaders/shield.fragment +++ b/core/assets/shaders/shield.fragment @@ -30,19 +30,19 @@ void main() { vec2 T = v_texCoord.xy; vec2 coords = (T * u_texsize) + u_offset; - + T += vec2(sin(coords.y / 3.0 + u_time / 20.0) / 240.0, sin(coords.x / 3.0 + u_time / 20.0) / 240.0) * u_scaling; - float si = 1.0 + sin(u_time / 20.0) / 8.0; + float si = sin(u_time / 20.0) / 8.0; - vec4 color = texture2D(u_texture, T) * vec4(si, si, si, 1.0); + vec4 color = texture2D(u_texture, T); vec2 v = vec2(1.0/u_texsize.x, 1.0/u_texsize.y); bool any = false; float thickness = 1.0; - float step = 1.5; + float step = 2.0; if(texture2D(u_texture, T).a < 0.1 && (texture2D(u_texture, T + vec2(0, step) * v).a > 0.1 || texture2D(u_texture, T + vec2(0, -step) * v).a > 0.1 || @@ -50,7 +50,7 @@ void main() { any = true; if(any){ - gl_FragColor = u_color * vec4(si, si, si, 1.0); + gl_FragColor = mix(u_color, vec4(1.0), si); }else{ if(color.a > 0.1){ @@ -67,7 +67,7 @@ void main() { float fin = 1.0 - hit.z; if(abs(distance(vec2(hit.x, hit.y), coords - u_texsize/2.0) - rad) < 1.0){ - color = mix(color, u_color* vec4(si, si, si, 1.0), (1.0 * fin)); + color = mix(color, mix(u_color, vec4(1.0), si), (1.0 * fin)); color.a = ALPHA + 0.82 *fin; } } diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index a219c6f05b..021f005954 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -4,338 +4,345 @@ size: 1024,512 format: RGBA8888 filter: Nearest,Nearest repeat: none +force-projector-top + rotate: false + xy: 253, 197 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 mend-projector-top rotate: false - xy: 780, 416 + xy: 582, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 overdrive-projector-top rotate: false - xy: 798, 416 + xy: 600, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 bridge-conveyor-arrow rotate: false - xy: 256, 127 + xy: 334, 147 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridge-conveyor-bridge rotate: false - xy: 266, 127 + xy: 344, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridge-conveyor-end rotate: false - xy: 550, 333 + xy: 354, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-0-1 rotate: false - xy: 453, 233 + xy: 102, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-0-2 rotate: false - xy: 453, 223 + xy: 112, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-0-3 rotate: false - xy: 453, 213 + xy: 122, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-1-0 rotate: false - xy: 457, 302 + xy: 132, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-1-1 rotate: false - xy: 467, 302 + xy: 142, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-1-2 rotate: false - xy: 466, 292 + xy: 100, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-1-3 rotate: false - xy: 463, 282 + xy: 100, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-2-0 rotate: false - xy: 463, 272 + xy: 110, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-2-1 rotate: false - xy: 463, 262 + xy: 100, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-2-2 rotate: false - xy: 463, 252 + xy: 120, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-2-3 rotate: false - xy: 463, 242 + xy: 110, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-3-0 rotate: false - xy: 463, 232 + xy: 100, 73 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-3-1 rotate: false - xy: 463, 222 + xy: 130, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-3-2 rotate: false - xy: 463, 212 + xy: 120, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-3-3 rotate: false - xy: 453, 203 + xy: 110, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-4-0 rotate: false - xy: 463, 202 + xy: 140, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-4-1 rotate: false - xy: 992, 414 + xy: 130, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-4-2 rotate: false - xy: 1002, 414 + xy: 120, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor-4-3 rotate: false - xy: 1012, 414 + xy: 110, 73 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-0-1 rotate: false - xy: 981, 344 + xy: 619, 252 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-0-2 rotate: false - xy: 991, 344 + xy: 609, 232 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-0-3 rotate: false - xy: 533, 282 + xy: 619, 242 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-1-0 rotate: false - xy: 533, 272 + xy: 609, 222 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-1-1 rotate: false - xy: 533, 262 + xy: 619, 232 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-1-2 rotate: false - xy: 533, 252 + xy: 619, 222 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-1-3 rotate: false - xy: 533, 242 + xy: 629, 292 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-2-0 rotate: false - xy: 533, 232 + xy: 629, 282 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-2-1 rotate: false - xy: 533, 222 + xy: 629, 272 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-2-2 rotate: false - xy: 533, 212 + xy: 629, 262 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-2-3 rotate: false - xy: 533, 202 + xy: 629, 252 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-3-0 rotate: false - xy: 543, 283 + xy: 629, 242 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-3-1 rotate: false - xy: 553, 283 + xy: 629, 232 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-3-2 rotate: false - xy: 543, 273 + xy: 629, 222 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-3-3 rotate: false - xy: 563, 283 + xy: 641, 374 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-4-0 rotate: false - xy: 543, 263 + xy: 651, 374 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-4-1 rotate: false - xy: 553, 273 + xy: 661, 374 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-4-2 rotate: false - xy: 573, 283 + xy: 671, 374 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-4-3 rotate: false - xy: 543, 253 + xy: 681, 374 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 mass-driver-turret rotate: false - xy: 439, 430 + xy: 465, 430 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 phase-conveyor-arrow rotate: false - xy: 513, 222 + xy: 477, 205 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 phase-conveyor-bridge rotate: false - xy: 523, 232 + xy: 204, 147 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 phase-conveyor-end rotate: false - xy: 503, 202 + xy: 214, 147 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 warp-gate-top rotate: false - xy: 443, 377 + xy: 469, 378 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -370,70 +377,70 @@ blast-drill-top index: -1 laser-drill rotate: false - xy: 672, 416 + xy: 921, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laser-drill-rotator rotate: false - xy: 690, 416 + xy: 939, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laser-drill-top rotate: false - xy: 708, 416 + xy: 957, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 mechanical-drill rotate: false - xy: 726, 416 + xy: 975, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 mechanical-drill-rotator rotate: false - xy: 744, 416 + xy: 1007, 424 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 mechanical-drill-top rotate: false - xy: 762, 416 + xy: 564, 414 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 oil-extractor rotate: false - xy: 477, 404 + xy: 391, 377 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oil-extractor-liquid rotate: false - xy: 391, 377 + xy: 417, 377 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oil-extractor-rotator rotate: false - xy: 417, 377 + xy: 384, 351 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oil-extractor-top rotate: false - xy: 384, 351 + xy: 410, 351 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -468,49 +475,49 @@ plasma-drill-top index: -1 pneumatic-drill rotate: false - xy: 888, 416 + xy: 690, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 pneumatic-drill-rotator rotate: false - xy: 906, 416 + xy: 708, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 pneumatic-drill-top rotate: false - xy: 924, 416 + xy: 726, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 water-extractor rotate: false - xy: 609, 344 + xy: 573, 344 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 water-extractor-liquid rotate: false - xy: 627, 362 + xy: 573, 326 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 water-extractor-rotator rotate: false - xy: 645, 380 + xy: 573, 308 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 water-extractor-top rotate: false - xy: 668, 398 + xy: 596, 398 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -566,567 +573,567 @@ blackstone3 index: -1 blackstoneedge rotate: false - xy: 332, 331 + xy: 369, 318 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 coal1 rotate: false - xy: 560, 333 + xy: 364, 170 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal2 rotate: false - xy: 547, 323 + xy: 364, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 547, 313 + xy: 364, 150 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 copper1 rotate: false - xy: 990, 404 + xy: 140, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 copper2 rotate: false - xy: 1000, 404 + xy: 130, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 copper3 rotate: false - xy: 1010, 404 + xy: 120, 73 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 580, 334 + xy: 150, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 590, 334 + xy: 160, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirtedge rotate: false - xy: 901, 386 + xy: 279, 234 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 generic-cliff-edge rotate: false - xy: 537, 294 + xy: 104, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice-cliff-edge rotate: false - xy: 537, 294 + xy: 104, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 generic-cliff-edge-1 rotate: false - xy: 547, 293 + xy: 124, 63 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice-cliff-edge-1 rotate: false - xy: 547, 293 + xy: 124, 63 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 generic-cliff-edge-2 rotate: false - xy: 557, 293 + xy: 114, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice-cliff-edge-2 rotate: false - xy: 557, 293 + xy: 114, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 generic-cliff-side rotate: false - xy: 567, 293 + xy: 104, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice-cliff-side rotate: false - xy: 567, 293 + xy: 104, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass-cliff-edge rotate: false - xy: 297, 182 + xy: 114, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass-cliff-edge-1 rotate: false - xy: 307, 182 + xy: 134, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass-cliff-edge-2 rotate: false - xy: 277, 172 + xy: 124, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass-cliff-side rotate: false - xy: 287, 172 + xy: 114, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass2 rotate: false - xy: 277, 182 + xy: 134, 63 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass3 rotate: false - xy: 287, 182 + xy: 124, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassedge rotate: false - xy: 929, 372 + xy: 293, 206 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 ice2 rotate: false - xy: 307, 172 + xy: 124, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice3 rotate: false - xy: 276, 162 + xy: 134, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iceedge rotate: false - xy: 943, 372 + xy: 293, 192 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 icerock2 rotate: false - xy: 286, 162 + xy: 115, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow1 rotate: false - xy: 276, 152 + xy: 115, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow1 rotate: false - xy: 276, 152 + xy: 115, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow2 rotate: false - xy: 286, 152 + xy: 125, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow2 rotate: false - xy: 286, 152 + xy: 125, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lavaedge rotate: false - xy: 299, 248 + xy: 307, 192 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 lead1 rotate: false - xy: 316, 122 + xy: 469, 225 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead2 rotate: false - xy: 316, 112 + xy: 469, 215 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead3 rotate: false - xy: 324, 142 + xy: 479, 295 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor2 rotate: false - xy: 473, 232 + xy: 489, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor3 rotate: false - xy: 473, 222 + xy: 499, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor4 rotate: false - xy: 473, 212 + xy: 489, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor5 rotate: false - xy: 473, 202 + xy: 509, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor6 rotate: false - xy: 476, 292 + xy: 489, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalflooredge rotate: false - xy: 293, 234 + xy: 441, 271 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 oiledge rotate: false - xy: 279, 206 + xy: 441, 257 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 rock2 rotate: false - xy: 781, 348 + xy: 354, 132 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand2 rotate: false - xy: 801, 348 + xy: 374, 130 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand3 rotate: false - xy: 811, 348 + xy: 384, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandedge rotate: false - xy: 293, 220 + xy: 441, 243 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shrubshadow rotate: false - xy: 657, 285 + xy: 617, 342 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow2 rotate: false - xy: 667, 285 + xy: 627, 352 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow3 rotate: false - xy: 677, 285 + xy: 607, 322 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowedge rotate: false - xy: 279, 192 + xy: 441, 215 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 spaceedge rotate: false - xy: 293, 192 + xy: 441, 201 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 stone-cliff-edge rotate: false - xy: 991, 354 + xy: 609, 292 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-edge-1 rotate: false - xy: 891, 342 + xy: 609, 282 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-edge-2 rotate: false - xy: 901, 342 + xy: 619, 292 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-side rotate: false - xy: 911, 342 + xy: 609, 272 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 971, 352 + xy: 627, 312 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 981, 354 + xy: 627, 302 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneedge rotate: false - xy: 307, 234 + xy: 455, 283 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 thorium1 rotate: false - xy: 921, 342 + xy: 619, 282 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium2 rotate: false - xy: 931, 342 + xy: 609, 262 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium3 rotate: false - xy: 941, 342 + xy: 619, 272 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium1 rotate: false - xy: 951, 342 + xy: 609, 252 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 961, 342 + xy: 619, 262 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 971, 342 + xy: 609, 242 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge rotate: false - xy: 563, 273 + xy: 701, 374 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge-1 rotate: false - xy: 543, 243 + xy: 711, 374 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge-2 rotate: false - xy: 553, 253 + xy: 721, 374 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-side rotate: false - xy: 563, 263 + xy: 731, 374 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 wateredge rotate: false - xy: 180, 119 + xy: 455, 213 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 block-border rotate: false - xy: 897, 362 + xy: 1005, 414 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-elevation rotate: false - xy: 907, 362 + xy: 1015, 414 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustion-generator-top rotate: false - xy: 907, 362 + xy: 1015, 414 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-middle rotate: false - xy: 264, 137 + xy: 334, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 264, 137 + xy: 334, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-slope rotate: false - xy: 206, 127 + xy: 334, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 border rotate: false - xy: 216, 127 + xy: 344, 172 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 274, 137 + xy: 180, 125 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 671, 345 + xy: 140, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-2 rotate: false - xy: 86, 49 + xy: 79, 13 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1147,7 +1154,7 @@ cross-4 index: -1 enemyspawn rotate: false - xy: 670, 335 + xy: 114, 63 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1161,77 +1168,77 @@ nuclearreactor-shadow index: -1 place-arrow rotate: false - xy: 513, 212 + xy: 224, 147 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 playerspawn rotate: false - xy: 523, 222 + xy: 234, 147 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ripples rotate: false - xy: 513, 302 + xy: 345, 182 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 rubble-1-0 rotate: false - xy: 960, 416 + xy: 762, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-1-1 rotate: false - xy: 573, 380 + xy: 780, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-2-0 rotate: false - xy: 573, 362 + xy: 798, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-2-1 rotate: false - xy: 573, 344 + xy: 816, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-3-0 rotate: false - xy: 410, 325 + xy: 509, 424 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 rubble-3-1 rotate: false - xy: 410, 325 + xy: 509, 424 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 shadow-1 rotate: false - xy: 525, 302 + xy: 357, 182 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 shadow-2 rotate: false - xy: 177, 173 + xy: 515, 378 size: 18, 18 orig: 18, 18 offset: 0, 0 @@ -1266,21 +1273,21 @@ shadow-6 index: -1 shadow-corner rotate: false - xy: 978, 408 + xy: 369, 180 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 shadow-round-1 rotate: false - xy: 977, 396 + xy: 381, 205 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 shadow-round-2 rotate: false - xy: 166, 153 + xy: 535, 378 size: 18, 18 orig: 18, 18 offset: 0, 0 @@ -1294,252 +1301,252 @@ shadow-round-3 index: -1 shadow-rounded-2 rotate: false - xy: 166, 133 + xy: 177, 173 size: 18, 18 orig: 18, 18 offset: 0, 0 index: -1 shadow-shock-mine rotate: false - xy: 677, 295 + xy: 627, 362 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridge-conduit-arrow rotate: false - xy: 226, 127 + xy: 344, 162 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridge-conduit-bridge rotate: false - xy: 236, 127 + xy: 354, 172 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridge-conduit-end rotate: false - xy: 246, 127 + xy: 354, 162 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 557, 303 + xy: 344, 142 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom-0 rotate: false - xy: 206, 117 + xy: 354, 142 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom-1 rotate: false - xy: 216, 117 + xy: 364, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom-2 rotate: false - xy: 226, 117 + xy: 374, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom-3 rotate: false - xy: 236, 117 + xy: 384, 173 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom-4 rotate: false - xy: 246, 117 + xy: 384, 163 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom-5 rotate: false - xy: 256, 117 + xy: 384, 153 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom-6 rotate: false - xy: 266, 117 + xy: 384, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top-0 rotate: false - xy: 276, 127 + xy: 987, 380 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top-1 rotate: false - xy: 276, 117 + xy: 997, 384 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top-2 rotate: false - xy: 453, 283 + xy: 1007, 384 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top-3 rotate: false - xy: 453, 273 + xy: 180, 115 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top-4 rotate: false - xy: 453, 263 + xy: 997, 374 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top-5 rotate: false - xy: 453, 253 + xy: 1007, 374 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top-6 rotate: false - xy: 453, 243 + xy: 384, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquid-router-bottom rotate: false - xy: 473, 262 + xy: 479, 235 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquid-router-liquid rotate: false - xy: 473, 252 + xy: 479, 225 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquid-router-top rotate: false - xy: 473, 242 + xy: 479, 215 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquid-tank-bottom rotate: false - xy: 373, 403 + xy: 399, 403 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-tank-liquid rotate: false - xy: 399, 403 + xy: 413, 429 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-tank-top rotate: false - xy: 413, 429 + xy: 439, 430 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 phase-conduit-arrow rotate: false - xy: 523, 242 + xy: 599, 230 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 phase-conduit-bridge rotate: false - xy: 493, 202 + xy: 599, 220 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 phase-conduit-end rotate: false - xy: 503, 212 + xy: 467, 203 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulse-conduit-top-0 rotate: false - xy: 513, 202 + xy: 244, 147 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulse-conduit-top-1 rotate: false - xy: 523, 212 + xy: 254, 147 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulse-conduit-top-2 rotate: false - xy: 523, 202 + xy: 264, 147 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulse-conduit-top-3 rotate: false - xy: 701, 346 + xy: 274, 147 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulse-conduit-top-4 rotate: false - xy: 711, 348 + xy: 284, 142 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulse-conduit-top-5 rotate: false - xy: 721, 348 + xy: 294, 142 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulse-conduit-top-6 rotate: false - xy: 731, 348 + xy: 304, 142 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1630,28 +1637,28 @@ fusion-reactor-top index: -1 rtg-generator-top rotate: false - xy: 791, 348 + xy: 364, 130 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium-reactor-center rotate: false - xy: 535, 424 + xy: 503, 398 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 thorium-reactor-lights rotate: false - xy: 503, 398 + xy: 529, 398 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 turbine-generator-top rotate: false - xy: 627, 380 + xy: 573, 380 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1721,161 +1728,161 @@ biomattercompressor index: -1 biomattercompressor-frame0 rotate: false - xy: 186, 135 + xy: 166, 135 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-frame1 rotate: false - xy: 333, 313 + xy: 186, 155 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-frame2 rotate: false - xy: 333, 295 + xy: 333, 313 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-liquid rotate: false - xy: 333, 277 + xy: 333, 295 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-top rotate: false - xy: 333, 259 + xy: 333, 277 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 blast-mixer rotate: false - xy: 351, 314 + xy: 333, 259 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-blast-mixer rotate: false - xy: 351, 314 + xy: 333, 259 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 centrifuge-liquid rotate: false - xy: 82, 67 + xy: 86, 31 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-bottom rotate: false - xy: 68, 31 + xy: 97, 13 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-liquid rotate: false - xy: 86, 31 + xy: 423, 205 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-top rotate: false - xy: 61, 13 + xy: 465, 359 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator rotate: false - xy: 79, 13 + xy: 465, 341 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator-middle rotate: false - xy: 97, 13 + xy: 465, 323 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator-top rotate: false - xy: 555, 379 + xy: 483, 360 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 lavasmelter rotate: false - xy: 316, 132 + xy: 469, 235 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oilrefinery rotate: false - xy: 754, 358 + xy: 509, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 phase-weaver rotate: false - xy: 816, 416 + xy: 618, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 phase-weaver-bottom rotate: false - xy: 834, 416 + xy: 636, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 phase-weaver-weave rotate: false - xy: 852, 416 + xy: 654, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 plastanium-compressor-top rotate: false - xy: 870, 416 + xy: 672, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 741, 348 + xy: 314, 142 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 751, 348 + xy: 324, 142 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 677, 305 + xy: 617, 352 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1896,35 +1903,35 @@ core-top index: -1 sortedunloader rotate: false - xy: 921, 352 + xy: 627, 332 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-1 rotate: false - xy: 661, 345 + xy: 987, 390 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-1-top rotate: false - xy: 887, 362 + xy: 995, 414 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-2 rotate: false - xy: 351, 296 + xy: 351, 314 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-2-top rotate: false - xy: 351, 278 + xy: 351, 296 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1980,21 +1987,21 @@ cyclone index: -1 duo rotate: false - xy: 660, 335 + xy: 104, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 fuse rotate: false - xy: 253, 197 + xy: 373, 403 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 hail rotate: false - xy: 297, 172 + xy: 134, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2008,14 +2015,14 @@ hail-heat index: -1 lancer rotate: false - xy: 636, 416 + xy: 885, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 lancer-heat rotate: false - xy: 654, 416 + xy: 903, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2029,245 +2036,245 @@ meltdown index: -1 ripple rotate: false - xy: 410, 351 + xy: 384, 325 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 ripple-heat rotate: false - xy: 384, 325 + xy: 410, 325 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 salvo rotate: false - xy: 596, 398 + xy: 834, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 salvo-heat rotate: false - xy: 591, 380 + xy: 852, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 salvo-panel-left rotate: false - xy: 614, 398 + xy: 870, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 salvo-panel-right rotate: false - xy: 591, 362 + xy: 888, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 scatter rotate: false - xy: 861, 348 + xy: 607, 352 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 scorch rotate: false - xy: 871, 348 + xy: 617, 362 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 scorch-shoot rotate: false - xy: 677, 315 + xy: 607, 342 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 spectre rotate: false - xy: 509, 424 + xy: 535, 424 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 swarmer rotate: false - xy: 609, 380 + xy: 906, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 wave rotate: false - xy: 627, 344 + xy: 591, 380 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 wave-liquid rotate: false - xy: 645, 362 + xy: 614, 398 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 dagger-pad-top rotate: false - xy: 487, 358 + xy: 483, 342 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 dagger-pad-top-open rotate: false - xy: 483, 340 + xy: 501, 360 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 drone-pad-top rotate: false - xy: 523, 362 + xy: 519, 360 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 drone-pad-top-open rotate: false - xy: 555, 361 + xy: 501, 324 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 drop-point rotate: false - xy: 650, 336 + xy: 104, 63 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 fabricator-pad-top rotate: false - xy: 483, 304 + xy: 519, 342 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 fabricator-pad-top-open rotate: false - xy: 555, 343 + xy: 537, 360 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 interceptor-pad-top rotate: false - xy: 600, 416 + xy: 849, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 interceptor-pad-top-open rotate: false - xy: 618, 416 + xy: 867, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 monsoon-pad rotate: false - xy: 465, 430 + xy: 425, 403 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 monsoon-pad-top rotate: false - xy: 425, 403 + xy: 451, 404 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 titan-pad-top rotate: false - xy: 425, 403 + xy: 451, 404 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 monsoon-pad-top-open rotate: false - xy: 451, 404 + xy: 477, 404 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 titan-pad-top-open rotate: false - xy: 451, 404 + xy: 477, 404 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 reconstructor-open rotate: false - xy: 942, 416 + xy: 744, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 repair-point-turret rotate: false - xy: 761, 348 + xy: 334, 137 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 resupply-point rotate: false - xy: 771, 348 + xy: 344, 132 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titan-pad rotate: false - xy: 529, 398 + xy: 443, 377 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 deflector-wall rotate: false - xy: 567, 303 + xy: 150, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deflector-wall-large rotate: false - xy: 483, 322 + xy: 483, 324 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 door-large-open rotate: false - xy: 505, 362 + xy: 501, 342 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 door-open rotate: false - xy: 640, 334 + xy: 160, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2288,7 +2295,7 @@ beam-end index: -1 blank rotate: false - xy: 421, 486 + xy: 381, 180 size: 1, 1 orig: 1, 1 offset: 0, 0 @@ -2302,63 +2309,63 @@ bullet index: -1 bullet-back rotate: false - xy: 971, 385 + xy: 381, 194 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 casing rotate: false - xy: 465, 371 + xy: 21, 18 size: 2, 4 orig: 2, 4 offset: 0, 0 index: -1 clear rotate: false - xy: 561, 429 + xy: 421, 486 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 command-attack rotate: false - xy: 557, 323 + xy: 374, 170 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 command-idle rotate: false - xy: 557, 313 + xy: 374, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 command-retreat rotate: false - xy: 547, 303 + xy: 374, 150 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 enemyarrow rotate: false - xy: 456, 293 + xy: 984, 400 size: 8, 7 orig: 8, 7 offset: 0, 0 index: -1 error rotate: false - xy: 915, 386 + xy: 293, 234 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 laser rotate: false - xy: 441, 299 + xy: 327, 252 size: 1, 12 orig: 1, 12 offset: 0, 0 @@ -2372,35 +2379,35 @@ laser-end index: -1 laserfull rotate: false - xy: 469, 384 + xy: 445, 337 size: 18, 18 orig: 18, 18 offset: 0, 0 index: -1 minelaser rotate: false - xy: 501, 344 + xy: 330, 252 size: 1, 12 orig: 1, 12 offset: 0, 0 index: -1 minelaser-end rotate: false - xy: 445, 337 + xy: 445, 317 size: 18, 18 orig: 18, 18 offset: 0, 0 index: -1 missile rotate: false - xy: 971, 374 + xy: 393, 206 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 missile-back rotate: false - xy: 982, 385 + xy: 381, 183 size: 9, 9 orig: 9, 9 offset: 0, 0 @@ -2428,56 +2435,56 @@ scorch3 index: -1 scorch4 rotate: false - xy: 59, 38 + xy: 555, 397 size: 7, 25 orig: 7, 25 offset: 0, 0 index: -1 scorch5 rotate: false - xy: 555, 397 + xy: 59, 38 size: 7, 25 orig: 7, 25 offset: 0, 0 index: -1 shell rotate: false - xy: 982, 374 + xy: 404, 206 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 shell-back rotate: false - xy: 663, 355 + xy: 984, 409 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 shot rotate: false - xy: 647, 286 + xy: 607, 332 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 transfer rotate: false - xy: 974, 402 + xy: 197, 179 size: 1, 12 orig: 1, 12 offset: 0, 0 index: -1 transfer-arrow rotate: false - xy: 553, 263 + xy: 691, 374 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 transfer-end rotate: false - xy: 186, 153 + xy: 166, 153 size: 18, 18 orig: 18, 18 offset: 0, 0 @@ -2498,28 +2505,28 @@ blackstone-cliff-edge-1 index: -1 blackstone-cliff-edge-2 rotate: false - xy: 674, 356 + xy: 455, 307 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone-cliff-side rotate: false - xy: 684, 356 + xy: 455, 297 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-arc rotate: false - xy: 351, 260 + xy: 351, 278 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-biomattercompressor rotate: false - xy: 369, 300 + xy: 351, 260 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2533,105 +2540,105 @@ block-icon-blast-drill index: -1 block-icon-bridge-conduit rotate: false - xy: 917, 362 + xy: 995, 404 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridge-conduit rotate: false - xy: 917, 362 + xy: 995, 404 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-bridge-conveyor rotate: false - xy: 927, 362 + xy: 1005, 404 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridge-conveyor rotate: false - xy: 927, 362 + xy: 1005, 404 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-centrifuge rotate: false - xy: 369, 282 + xy: 369, 300 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 centrifuge rotate: false - xy: 369, 282 + xy: 369, 300 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-combustion-generator rotate: false - xy: 937, 362 + xy: 1015, 404 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustion-generator rotate: false - xy: 937, 362 + xy: 1015, 404 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-command-center rotate: false - xy: 369, 264 + xy: 369, 282 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 command-center rotate: false - xy: 369, 264 + xy: 369, 282 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-composite-wall rotate: false - xy: 947, 362 + xy: 997, 394 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 composite-wall rotate: false - xy: 947, 362 + xy: 997, 394 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-composite-wall-large rotate: false - xy: 387, 307 + xy: 369, 264 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 composite-wall-large rotate: false - xy: 387, 307 + xy: 369, 264 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-conduit rotate: false - xy: 957, 362 + xy: 1007, 394 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2666,14 +2673,14 @@ copper-wall index: -1 block-icon-copper-wall-large rotate: false - xy: 387, 289 + xy: 387, 307 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 copper-wall-large rotate: false - xy: 387, 289 + xy: 387, 307 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2694,14 +2701,14 @@ core index: -1 block-icon-cryofluidmixer rotate: false - xy: 405, 307 + xy: 387, 289 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-cultivator rotate: false - xy: 387, 271 + xy: 405, 307 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2715,21 +2722,21 @@ block-icon-cyclone index: -1 block-icon-dagger-pad rotate: false - xy: 405, 289 + xy: 387, 271 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-dart-ship-factory rotate: false - xy: 405, 271 + xy: 405, 289 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 dart-ship-factory rotate: false - xy: 405, 271 + xy: 405, 289 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2750,14 +2757,14 @@ deepwater index: -1 block-icon-delta-mech-factory rotate: false - xy: 503, 380 + xy: 405, 271 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 delta-mech-factory rotate: false - xy: 503, 380 + xy: 405, 271 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2778,14 +2785,14 @@ dirt1 index: -1 block-icon-distributor rotate: false - xy: 521, 380 + xy: 555, 379 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 distributor rotate: false - xy: 521, 380 + xy: 555, 379 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2897,49 +2904,49 @@ grass1 index: -1 block-icon-hail rotate: false - xy: 197, 177 + xy: 200, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-ice rotate: false - xy: 207, 177 + xy: 210, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice1 rotate: false - xy: 207, 177 + xy: 210, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-icerock rotate: false - xy: 217, 177 + xy: 220, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerock1 rotate: false - xy: 217, 177 + xy: 220, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-incinerator rotate: false - xy: 227, 177 + xy: 230, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 incinerator rotate: false - xy: 227, 177 + xy: 230, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2953,28 +2960,28 @@ block-icon-interceptor-pad index: -1 block-icon-itemsource rotate: false - xy: 237, 177 + xy: 240, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemsource rotate: false - xy: 237, 177 + xy: 240, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-itemvoid rotate: false - xy: 247, 177 + xy: 250, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemvoid rotate: false - xy: 247, 177 + xy: 250, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2995,14 +3002,14 @@ javelin-ship-factory index: -1 block-icon-junction rotate: false - xy: 257, 177 + xy: 260, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 junction rotate: false - xy: 257, 177 + xy: 260, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3016,42 +3023,42 @@ block-icon-lancer index: -1 block-icon-laser-drill rotate: false - xy: 469, 366 + xy: 387, 235 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-lava rotate: false - xy: 206, 167 + xy: 204, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava rotate: false - xy: 206, 167 + xy: 204, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquid-junction rotate: false - xy: 206, 157 + xy: 204, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquid-junction rotate: false - xy: 206, 157 + xy: 204, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquid-router rotate: false - xy: 216, 167 + xy: 214, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3065,14 +3072,14 @@ block-icon-liquid-tank index: -1 block-icon-liquidsource rotate: false - xy: 216, 157 + xy: 214, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidsource rotate: false - xy: 216, 157 + xy: 214, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3093,21 +3100,21 @@ mass-driver index: -1 block-icon-mechanical-drill rotate: false - xy: 465, 348 + xy: 405, 235 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-mechanical-pump rotate: false - xy: 226, 167 + xy: 224, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 mechanical-pump rotate: false - xy: 226, 167 + xy: 224, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3121,42 +3128,42 @@ block-icon-meltdown index: -1 block-icon-melter rotate: false - xy: 226, 157 + xy: 224, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 melter rotate: false - xy: 226, 157 + xy: 224, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-mend-projector rotate: false - xy: 465, 330 + xy: 369, 228 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 mend-projector rotate: false - xy: 465, 330 + xy: 369, 228 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-metalfloor rotate: false - xy: 236, 167 + xy: 234, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor1 rotate: false - xy: 236, 167 + xy: 234, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3170,14 +3177,14 @@ block-icon-monsoon-pad index: -1 block-icon-oil rotate: false - xy: 236, 157 + xy: 234, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil rotate: false - xy: 236, 157 + xy: 234, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3205,91 +3212,91 @@ omega-mech-factory index: -1 block-icon-overdrive-projector rotate: false - xy: 465, 312 + xy: 387, 217 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 overdrive-projector rotate: false - xy: 465, 312 + xy: 387, 217 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-overflow-gate rotate: false - xy: 246, 167 + xy: 244, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 overflow-gate rotate: false - xy: 246, 167 + xy: 244, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-phase-conduit rotate: false - xy: 246, 157 + xy: 244, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 phase-conduit rotate: false - xy: 246, 157 + xy: 244, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-phase-conveyor rotate: false - xy: 256, 167 + xy: 254, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 phase-conveyor rotate: false - xy: 256, 167 + xy: 254, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-phase-wall rotate: false - xy: 256, 157 + xy: 254, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 phase-wall rotate: false - xy: 256, 157 + xy: 254, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-phase-wall-large rotate: false - xy: 387, 235 + xy: 405, 217 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 phase-wall-large rotate: false - xy: 387, 235 + xy: 405, 217 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-phase-weaver rotate: false - xy: 405, 235 + xy: 423, 295 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -3303,161 +3310,161 @@ block-icon-plasma-drill index: -1 block-icon-plastanium-compressor rotate: false - xy: 369, 228 + xy: 423, 277 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 plastanium-compressor rotate: false - xy: 369, 228 + xy: 423, 277 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-pneumatic-drill rotate: false - xy: 387, 217 + xy: 423, 259 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-power-node rotate: false - xy: 194, 113 + xy: 264, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 power-node rotate: false - xy: 194, 113 + xy: 264, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-power-node-large rotate: false - xy: 405, 217 + xy: 423, 241 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 power-node-large rotate: false - xy: 405, 217 + xy: 423, 241 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-powerinfinite rotate: false - xy: 441, 199 + xy: 264, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powerinfinite rotate: false - xy: 441, 199 + xy: 264, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-powervoid rotate: false - xy: 541, 344 + xy: 270, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powervoid rotate: false - xy: 541, 344 + xy: 270, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-pulse-conduit rotate: false - xy: 540, 334 + xy: 274, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-pulverizer rotate: false - xy: 537, 324 + xy: 274, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-pyratite-mixer rotate: false - xy: 423, 295 + xy: 423, 223 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 pyratite-mixer rotate: false - xy: 423, 295 + xy: 423, 223 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-reconstructor rotate: false - xy: 423, 277 + xy: 66, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 dagger-pad rotate: false - xy: 423, 277 + xy: 66, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 drone-pad rotate: false - xy: 423, 277 + xy: 66, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 fabricator-pad rotate: false - xy: 423, 277 + xy: 66, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 interceptor-pad rotate: false - xy: 423, 277 + xy: 66, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 reconstructor rotate: false - xy: 423, 277 + xy: 66, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-repair-point rotate: false - xy: 537, 314 + xy: 280, 182 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 repair-point rotate: false - xy: 537, 314 + xy: 280, 182 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3471,182 +3478,182 @@ block-icon-ripple index: -1 block-icon-rock rotate: false - xy: 537, 304 + xy: 290, 182 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock1 rotate: false - xy: 537, 304 + xy: 290, 182 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-rotary-pump rotate: false - xy: 423, 259 + xy: 84, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rotary-pump rotate: false - xy: 423, 259 + xy: 84, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-router rotate: false - xy: 967, 362 + xy: 300, 182 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 967, 362 + xy: 300, 182 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-rtg-generator rotate: false - xy: 977, 364 + xy: 310, 182 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtg-generator rotate: false - xy: 977, 364 + xy: 310, 182 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-salvo rotate: false - xy: 423, 241 + xy: 102, 123 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-sand rotate: false - xy: 987, 364 + xy: 320, 182 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand1 rotate: false - xy: 987, 364 + xy: 320, 182 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-scorch rotate: false - xy: 267, 177 + xy: 284, 172 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-separator rotate: false - xy: 266, 167 + xy: 284, 162 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator rotate: false - xy: 266, 167 + xy: 284, 162 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-shock-mine rotate: false - xy: 266, 157 + xy: 294, 172 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shock-mine rotate: false - xy: 266, 157 + xy: 294, 172 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-shrub rotate: false - xy: 206, 147 + xy: 294, 162 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shrub rotate: false - xy: 206, 147 + xy: 294, 162 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-silicon-smelter rotate: false - xy: 423, 223 + xy: 120, 123 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 silicon-smelter rotate: false - xy: 423, 223 + xy: 120, 123 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-smelter rotate: false - xy: 216, 147 + xy: 304, 172 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 smelter rotate: false - xy: 216, 147 + xy: 304, 172 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-snow rotate: false - xy: 226, 147 + xy: 304, 162 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow1 rotate: false - xy: 226, 147 + xy: 304, 162 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-solar-panel rotate: false - xy: 236, 147 + xy: 314, 172 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 solar-panel rotate: false - xy: 236, 147 + xy: 314, 172 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3667,42 +3674,42 @@ solar-panel-large index: -1 block-icon-solidifer rotate: false - xy: 246, 147 + xy: 314, 162 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 solidifer rotate: false - xy: 246, 147 + xy: 314, 162 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-sorter rotate: false - xy: 256, 147 + xy: 324, 172 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sorter rotate: false - xy: 256, 147 + xy: 324, 172 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-space rotate: false - xy: 266, 147 + xy: 324, 162 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 space rotate: false - xy: 266, 147 + xy: 324, 162 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3716,91 +3723,91 @@ block-icon-spectre index: -1 block-icon-stone rotate: false - xy: 204, 137 + xy: 284, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone1 rotate: false - xy: 204, 137 + xy: 284, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-surge-wall rotate: false - xy: 214, 137 + xy: 294, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 surge-wall rotate: false - xy: 214, 137 + xy: 294, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-surge-wall-large rotate: false - xy: 66, 121 + xy: 138, 123 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 surge-wall-large rotate: false - xy: 66, 121 + xy: 138, 123 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-swarmer rotate: false - xy: 84, 121 + xy: 64, 103 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-tau-mech-factory rotate: false - xy: 102, 123 + xy: 64, 85 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 tau-mech-factory rotate: false - xy: 102, 123 + xy: 64, 85 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-thermal-generator rotate: false - xy: 120, 123 + xy: 82, 103 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 thermal-generator rotate: false - xy: 120, 123 + xy: 82, 103 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-thermal-pump rotate: false - xy: 138, 123 + xy: 64, 67 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 thermal-pump rotate: false - xy: 138, 123 + xy: 64, 67 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -3821,28 +3828,28 @@ thorium-reactor index: -1 block-icon-thorium-wall rotate: false - xy: 224, 137 + xy: 304, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium-wall rotate: false - xy: 224, 137 + xy: 304, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-thorium-wall-large rotate: false - xy: 64, 103 + xy: 82, 85 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 thorium-wall-large rotate: false - xy: 64, 103 + xy: 82, 85 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -3856,56 +3863,56 @@ block-icon-titan-pad index: -1 block-icon-titanium-conveyor rotate: false - xy: 234, 137 + xy: 314, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor-0-0 rotate: false - xy: 234, 137 + xy: 314, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-trident-ship-factory rotate: false - xy: 64, 85 + xy: 82, 67 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 trident-ship-factory rotate: false - xy: 64, 85 + xy: 82, 67 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-turbine-generator rotate: false - xy: 82, 103 + xy: 68, 49 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 turbine-generator rotate: false - xy: 82, 103 + xy: 68, 49 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-unloader rotate: false - xy: 244, 137 + xy: 324, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 unloader rotate: false - xy: 244, 137 + xy: 324, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3940,1211 +3947,1211 @@ warp-gate index: -1 block-icon-water rotate: false - xy: 254, 137 + xy: 334, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water rotate: false - xy: 254, 137 + xy: 334, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-water-extractor rotate: false - xy: 64, 67 + xy: 86, 49 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-wave rotate: false - xy: 82, 85 + xy: 68, 31 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 deepwater-cliff-edge rotate: false - xy: 681, 346 + xy: 130, 73 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater-cliff-edge-1 rotate: false - xy: 570, 333 + xy: 140, 73 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater-cliff-edge-2 rotate: false - xy: 567, 323 + xy: 152, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater-cliff-side rotate: false - xy: 567, 313 + xy: 162, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt-cliff-edge rotate: false - xy: 600, 334 + xy: 150, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt-cliff-edge-1 rotate: false - xy: 610, 334 + xy: 160, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt-cliff-edge-2 rotate: false - xy: 620, 334 + xy: 160, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt-cliff-side rotate: false - xy: 630, 334 + xy: 150, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava-cliff-edge rotate: false - xy: 317, 172 + xy: 469, 275 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava-cliff-edge-1 rotate: false - xy: 316, 162 + xy: 469, 265 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava-cliff-edge-2 rotate: false - xy: 316, 152 + xy: 469, 255 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava-cliff-side rotate: false - xy: 314, 142 + xy: 469, 245 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquid-icon-cryofluid rotate: false - xy: 326, 122 + xy: 479, 275 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquid-icon-lava rotate: false - xy: 326, 112 + xy: 479, 265 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquid-icon-oil rotate: false - xy: 473, 282 + xy: 479, 255 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquid-icon-water rotate: false - xy: 473, 272 + xy: 479, 245 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 mech-icon-alpha-mech rotate: false - xy: 313, 252 + xy: 166, 121 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mech-icon-dart-ship rotate: false - xy: 279, 234 + xy: 441, 299 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mech-icon-delta-mech rotate: false - xy: 279, 220 + xy: 441, 285 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mech-icon-omega-mech rotate: false - xy: 807, 368 + xy: 801, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 mech-icon-tau-mech rotate: false - xy: 823, 384 + xy: 817, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 mech-icon-trident-ship rotate: false - xy: 823, 368 + xy: 833, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 trident-ship rotate: false - xy: 823, 368 + xy: 833, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 metalfloor-cliff-edge rotate: false - xy: 486, 294 + xy: 499, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor-cliff-edge-1 rotate: false - xy: 691, 346 + xy: 519, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor-cliff-edge-2 rotate: false - xy: 694, 356 + xy: 489, 266 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor-cliff-side rotate: false - xy: 704, 358 + xy: 499, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil-cliff-edge rotate: false - xy: 714, 358 + xy: 509, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil-cliff-edge-1 rotate: false - xy: 724, 358 + xy: 529, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil-cliff-edge-2 rotate: false - xy: 734, 358 + xy: 489, 256 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil-cliff-side rotate: false - xy: 744, 358 + xy: 499, 266 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-blackstone1 rotate: false - xy: 764, 358 + xy: 519, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-blackstone2 rotate: false - xy: 774, 358 + xy: 539, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-blackstone3 rotate: false - xy: 784, 358 + xy: 489, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-grass1 rotate: false - xy: 794, 358 + xy: 499, 256 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-grass2 rotate: false - xy: 804, 358 + xy: 509, 266 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-grass3 rotate: false - xy: 814, 358 + xy: 519, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-ice1 rotate: false - xy: 824, 358 + xy: 529, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-ice2 rotate: false - xy: 834, 358 + xy: 489, 236 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-ice3 rotate: false - xy: 844, 358 + xy: 499, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-sand1 rotate: false - xy: 854, 358 + xy: 509, 256 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-sand2 rotate: false - xy: 864, 358 + xy: 519, 266 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-sand3 rotate: false - xy: 874, 358 + xy: 529, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-snow1 rotate: false - xy: 577, 323 + xy: 539, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-snow2 rotate: false - xy: 577, 313 + xy: 489, 226 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-snow3 rotate: false - xy: 577, 303 + xy: 499, 236 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-stone1 rotate: false - xy: 577, 293 + xy: 509, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-stone2 rotate: false - xy: 587, 324 + xy: 519, 256 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-stone3 rotate: false - xy: 587, 314 + xy: 529, 266 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-blackstone1 rotate: false - xy: 597, 324 + xy: 539, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-blackstone2 rotate: false - xy: 587, 304 + xy: 489, 216 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-blackstone3 rotate: false - xy: 597, 314 + xy: 499, 226 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-grass1 rotate: false - xy: 607, 324 + xy: 509, 236 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-grass2 rotate: false - xy: 587, 294 + xy: 519, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-grass3 rotate: false - xy: 597, 304 + xy: 529, 256 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-ice1 rotate: false - xy: 607, 314 + xy: 539, 266 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-ice2 rotate: false - xy: 617, 324 + xy: 499, 216 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-ice3 rotate: false - xy: 597, 294 + xy: 509, 226 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-sand1 rotate: false - xy: 607, 304 + xy: 519, 236 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-sand2 rotate: false - xy: 617, 314 + xy: 529, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-sand3 rotate: false - xy: 627, 324 + xy: 539, 256 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-snow1 rotate: false - xy: 607, 294 + xy: 509, 216 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-snow2 rotate: false - xy: 617, 304 + xy: 519, 226 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-snow3 rotate: false - xy: 627, 314 + xy: 529, 236 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-stone1 rotate: false - xy: 637, 324 + xy: 539, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-stone2 rotate: false - xy: 617, 294 + xy: 519, 216 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-copper-stone3 rotate: false - xy: 627, 304 + xy: 529, 226 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-blackstone1 rotate: false - xy: 637, 314 + xy: 539, 236 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-blackstone2 rotate: false - xy: 627, 294 + xy: 529, 216 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-blackstone3 rotate: false - xy: 637, 304 + xy: 539, 226 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-grass1 rotate: false - xy: 637, 294 + xy: 539, 216 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-grass2 rotate: false - xy: 650, 326 + xy: 549, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-grass3 rotate: false - xy: 660, 325 + xy: 549, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-ice1 rotate: false - xy: 670, 325 + xy: 549, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-ice2 rotate: false - xy: 647, 316 + xy: 549, 266 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-ice3 rotate: false - xy: 647, 306 + xy: 549, 256 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-sand1 rotate: false - xy: 647, 296 + xy: 549, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-sand2 rotate: false - xy: 657, 315 + xy: 549, 236 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-sand3 rotate: false - xy: 657, 305 + xy: 549, 226 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-snow1 rotate: false - xy: 667, 315 + xy: 549, 216 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-snow2 rotate: false - xy: 667, 305 + xy: 559, 297 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-snow3 rotate: false - xy: 657, 295 + xy: 559, 287 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-stone1 rotate: false - xy: 667, 295 + xy: 559, 277 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-stone2 rotate: false - xy: 483, 282 + xy: 559, 267 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-stone3 rotate: false - xy: 483, 272 + xy: 559, 257 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-blackstone1 rotate: false - xy: 483, 262 + xy: 559, 247 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-blackstone2 rotate: false - xy: 483, 252 + xy: 559, 237 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-blackstone3 rotate: false - xy: 483, 242 + xy: 559, 227 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-grass1 rotate: false - xy: 483, 232 + xy: 559, 217 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-grass2 rotate: false - xy: 483, 222 + xy: 569, 297 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-grass3 rotate: false - xy: 483, 212 + xy: 569, 287 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-ice1 rotate: false - xy: 483, 202 + xy: 569, 277 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-ice2 rotate: false - xy: 496, 292 + xy: 569, 267 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-ice3 rotate: false - xy: 506, 292 + xy: 569, 257 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-sand1 rotate: false - xy: 516, 292 + xy: 569, 247 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-sand2 rotate: false - xy: 526, 292 + xy: 569, 237 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-sand3 rotate: false - xy: 493, 282 + xy: 569, 227 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-snow1 rotate: false - xy: 493, 272 + xy: 569, 217 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-snow2 rotate: false - xy: 503, 282 + xy: 579, 298 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-snow3 rotate: false - xy: 493, 262 + xy: 579, 288 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-stone1 rotate: false - xy: 503, 272 + xy: 579, 278 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-stone2 rotate: false - xy: 513, 282 + xy: 579, 268 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-stone3 rotate: false - xy: 493, 252 + xy: 579, 258 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-blackstone1 rotate: false - xy: 503, 262 + xy: 579, 248 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-blackstone2 rotate: false - xy: 513, 272 + xy: 579, 238 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-blackstone3 rotate: false - xy: 523, 282 + xy: 579, 228 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-grass1 rotate: false - xy: 493, 242 + xy: 579, 218 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-grass2 rotate: false - xy: 503, 252 + xy: 589, 290 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-grass3 rotate: false - xy: 513, 262 + xy: 589, 280 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-ice1 rotate: false - xy: 523, 272 + xy: 589, 270 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-ice2 rotate: false - xy: 493, 232 + xy: 589, 260 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-ice3 rotate: false - xy: 503, 242 + xy: 589, 250 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-sand1 rotate: false - xy: 513, 252 + xy: 589, 240 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-sand2 rotate: false - xy: 523, 262 + xy: 589, 230 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-sand3 rotate: false - xy: 493, 222 + xy: 589, 220 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-snow1 rotate: false - xy: 503, 232 + xy: 599, 290 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-snow2 rotate: false - xy: 513, 242 + xy: 599, 280 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-snow3 rotate: false - xy: 523, 252 + xy: 599, 270 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-stone1 rotate: false - xy: 493, 212 + xy: 599, 260 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-stone2 rotate: false - xy: 503, 222 + xy: 599, 250 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-stone3 rotate: false - xy: 513, 232 + xy: 599, 240 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand-cliff-edge rotate: false - xy: 821, 348 + xy: 609, 372 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand-cliff-edge-1 rotate: false - xy: 831, 348 + xy: 619, 372 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand-cliff-edge-2 rotate: false - xy: 841, 348 + xy: 629, 372 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand-cliff-side rotate: false - xy: 851, 348 + xy: 607, 362 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow-cliff-edge rotate: false - xy: 881, 348 + xy: 617, 332 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow-cliff-edge-1 rotate: false - xy: 891, 352 + xy: 627, 342 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow-cliff-edge-2 rotate: false - xy: 901, 352 + xy: 607, 312 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow-cliff-side rotate: false - xy: 911, 352 + xy: 617, 322 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 space-cliff-edge rotate: false - xy: 931, 352 + xy: 607, 302 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 space-cliff-edge-1 rotate: false - xy: 941, 352 + xy: 617, 312 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 space-cliff-edge-2 rotate: false - xy: 951, 352 + xy: 627, 322 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 space-cliff-side rotate: false - xy: 961, 352 + xy: 617, 302 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 unit-icon-dagger rotate: false - xy: 166, 119 + xy: 455, 227 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 unit-icon-titan rotate: false - xy: 650, 398 + xy: 573, 362 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-biomatter rotate: false - xy: 306, 162 + xy: 135, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-blast-compound rotate: false - xy: 306, 152 + xy: 135, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-coal rotate: false - xy: 284, 142 + xy: 127, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-copper rotate: false - xy: 294, 142 + xy: 137, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-dense-alloy rotate: false - xy: 304, 142 + xy: 144, 61 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead rotate: false - xy: 286, 132 + xy: 144, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-phase-matter rotate: false - xy: 286, 122 + xy: 154, 61 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-plastanium rotate: false - xy: 296, 132 + xy: 144, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-pyratite rotate: false - xy: 296, 122 + xy: 154, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-sand rotate: false - xy: 306, 132 + xy: 154, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 306, 122 + xy: 164, 61 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-stone rotate: false - xy: 286, 112 + xy: 164, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 296, 112 + xy: 164, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 306, 112 + xy: 469, 295 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 317, 182 + xy: 469, 285 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquid-icon rotate: false - xy: 326, 132 + xy: 479, 285 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 alpha-mech rotate: false - xy: 489, 390 + xy: 363, 429 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 alpha-mech-base rotate: false - xy: 363, 429 + xy: 163, 175 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 alpha-mech-leg rotate: false - xy: 163, 175 + xy: 332, 331 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 delta-mech rotate: false - xy: 887, 386 + xy: 299, 248 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 delta-mech-leg rotate: false - xy: 887, 372 + xy: 313, 252 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 omega-mech rotate: false - xy: 839, 384 + xy: 849, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 omega-mech-armor rotate: false - xy: 839, 368 + xy: 865, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 omega-mech-base rotate: false - xy: 855, 384 + xy: 881, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 omega-mech-leg rotate: false - xy: 855, 368 + xy: 897, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 tau-mech rotate: false - xy: 871, 368 + xy: 929, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 tau-mech-base rotate: false - xy: 307, 206 + xy: 455, 255 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 tau-mech-leg rotate: false - xy: 307, 192 + xy: 455, 241 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 dart-ship rotate: false - xy: 978, 420 + xy: 285, 248 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 glaive-ship rotate: false - xy: 539, 382 + xy: 564, 398 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 mech-icon-glaive-ship rotate: false - xy: 539, 382 + xy: 564, 398 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 javelin-ship rotate: false - xy: 957, 372 + xy: 307, 220 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mech-icon-javelin-ship rotate: false - xy: 957, 372 + xy: 307, 220 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 javelin-ship-shield rotate: false - xy: 285, 248 + xy: 307, 206 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -5293,14 +5300,14 @@ check-over index: -1 clear rotate: false - xy: 194, 123 + xy: 455, 201 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 cursor rotate: false - xy: 327, 260 + xy: 495, 398 size: 4, 4 orig: 4, 4 offset: 0, 0 @@ -5321,28 +5328,28 @@ discord-banner-over index: -1 controller-cursor rotate: false - xy: 68, 49 + xy: 61, 13 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-about rotate: false - xy: 564, 398 + xy: 580, 398 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-add rotate: false - xy: 580, 398 + xy: 591, 364 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-admin rotate: false - xy: 663, 382 + xy: 609, 382 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -5363,14 +5370,14 @@ icon-areaDelete index: -1 icon-arrow rotate: false - xy: 423, 205 + xy: 555, 361 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-arrow-16 rotate: false - xy: 423, 205 + xy: 555, 361 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -5405,28 +5412,28 @@ icon-arrow-up index: -1 icon-back rotate: false - xy: 561, 432 + xy: 519, 324 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-ban rotate: false - xy: 686, 400 + xy: 632, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-break rotate: false - xy: 579, 434 + xy: 537, 342 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-cancel rotate: false - xy: 597, 434 + xy: 555, 343 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -5440,7 +5447,7 @@ icon-chat index: -1 icon-check rotate: false - xy: 615, 434 + xy: 537, 324 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -5454,140 +5461,140 @@ icon-crafting index: -1 icon-cursor rotate: false - xy: 445, 305 + xy: 321, 240 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-defense rotate: false - xy: 444, 293 + xy: 333, 247 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-dev-builds rotate: false - xy: 645, 346 + xy: 591, 348 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-discord rotate: false - xy: 663, 366 + xy: 648, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-distribution rotate: false - xy: 441, 281 + xy: 321, 228 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-donate rotate: false - xy: 702, 400 + xy: 591, 332 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-dots rotate: false - xy: 718, 400 + xy: 664, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-editor rotate: false - xy: 734, 400 + xy: 591, 316 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-egg rotate: false - xy: 750, 400 + xy: 680, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-elevation rotate: false - xy: 633, 434 + xy: 555, 325 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-eraser rotate: false - xy: 651, 434 + xy: 465, 305 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-exit rotate: false - xy: 766, 400 + xy: 696, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-file rotate: false - xy: 669, 434 + xy: 483, 306 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-file-image rotate: false - xy: 687, 434 + xy: 501, 306 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-file-text rotate: false - xy: 782, 400 + xy: 712, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-fill rotate: false - xy: 705, 434 + xy: 519, 306 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-floppy rotate: false - xy: 798, 400 + xy: 728, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-floppy-16 rotate: false - xy: 723, 434 + xy: 537, 306 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-folder rotate: false - xy: 814, 400 + xy: 744, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-folder-parent rotate: false - xy: 830, 400 + xy: 760, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -5601,441 +5608,441 @@ icon-generated index: -1 icon-github rotate: false - xy: 846, 400 + xy: 776, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-google-play rotate: false - xy: 862, 400 + xy: 792, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-grid rotate: false - xy: 741, 434 + xy: 555, 307 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-hold rotate: false - xy: 441, 269 + xy: 321, 216 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-holdDelete rotate: false - xy: 441, 257 + xy: 333, 235 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-home rotate: false - xy: 878, 400 + xy: 808, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-host rotate: false - xy: 894, 400 + xy: 824, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-info rotate: false - xy: 441, 245 + xy: 321, 204 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-itch.io rotate: false - xy: 910, 400 + xy: 840, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-item rotate: false - xy: 441, 233 + xy: 333, 223 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-items-none rotate: false - xy: 296, 162 + xy: 125, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-line rotate: false - xy: 759, 434 + xy: 561, 432 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-link rotate: false - xy: 926, 400 + xy: 856, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-liquid rotate: false - xy: 441, 221 + xy: 321, 192 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-load rotate: false - xy: 942, 400 + xy: 872, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-load-image rotate: false - xy: 777, 434 + xy: 579, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-load-map rotate: false - xy: 795, 434 + xy: 597, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-loading rotate: false - xy: 813, 434 + xy: 615, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-locked rotate: false - xy: 831, 434 + xy: 633, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-logic rotate: false - xy: 441, 209 + xy: 333, 211 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-map rotate: false - xy: 958, 400 + xy: 888, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-menu rotate: false - xy: 505, 350 + xy: 333, 199 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu-large rotate: false - xy: 849, 434 + xy: 651, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-missing rotate: false - xy: 517, 350 + xy: 333, 187 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-none rotate: false - xy: 529, 350 + xy: 345, 230 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-nullitem rotate: false - xy: 296, 152 + xy: 117, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-pause rotate: false - xy: 504, 338 + xy: 357, 230 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pencil rotate: false - xy: 867, 434 + xy: 669, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-pencil-small rotate: false - xy: 679, 382 + xy: 904, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-pick rotate: false - xy: 885, 434 + xy: 687, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-play rotate: false - xy: 516, 338 + xy: 345, 218 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-play-2 rotate: false - xy: 679, 366 + xy: 920, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-players rotate: false - xy: 528, 338 + xy: 357, 218 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-power rotate: false - xy: 501, 326 + xy: 345, 206 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-production rotate: false - xy: 501, 314 + xy: 345, 194 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-quit rotate: false - xy: 695, 384 + xy: 936, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-redo rotate: false - xy: 903, 434 + xy: 705, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-refresh rotate: false - xy: 695, 368 + xy: 952, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rename rotate: false - xy: 711, 384 + xy: 968, 400 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-resize rotate: false - xy: 921, 434 + xy: 723, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-rotate rotate: false - xy: 711, 368 + xy: 591, 300 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-arrow rotate: false - xy: 727, 384 + xy: 625, 382 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-left rotate: false - xy: 727, 368 + xy: 641, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-right rotate: false - xy: 743, 384 + xy: 657, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save rotate: false - xy: 743, 368 + xy: 673, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save-image rotate: false - xy: 939, 434 + xy: 741, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-save-map rotate: false - xy: 957, 434 + xy: 759, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-settings rotate: false - xy: 513, 326 + xy: 357, 206 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-terrain rotate: false - xy: 975, 434 + xy: 777, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-tools rotate: false - xy: 759, 384 + xy: 689, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-touch rotate: false - xy: 513, 314 + xy: 369, 216 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-touchDelete rotate: false - xy: 525, 326 + xy: 357, 194 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-trash rotate: false - xy: 759, 368 + xy: 705, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-trash-16 rotate: false - xy: 1007, 424 + xy: 795, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-trello rotate: false - xy: 775, 384 + xy: 721, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-tutorial rotate: false - xy: 775, 368 + xy: 737, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-undo rotate: false - xy: 564, 414 + xy: 813, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-units rotate: false - xy: 525, 314 + xy: 369, 204 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-unlocks rotate: false - xy: 791, 384 + xy: 753, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-weapon rotate: false - xy: 501, 302 + xy: 369, 192 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-wiki rotate: false - xy: 791, 368 + xy: 769, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-zoom rotate: false - xy: 582, 416 + xy: 831, 434 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-zoom-small rotate: false - xy: 807, 384 + xy: 785, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -6121,7 +6128,7 @@ scroll-knob-vertical-black index: -1 selection rotate: false - xy: 281, 259 + xy: 561, 429 size: 1, 1 orig: 1, 1 offset: 0, 0 @@ -6237,42 +6244,42 @@ unit-icon-alpha-drone index: -1 dagger rotate: false - xy: 541, 354 + xy: 945, 386 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 dagger-base rotate: false - xy: 993, 438 + xy: 959, 386 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 delta-mech-base rotate: false - xy: 993, 438 + xy: 959, 386 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 dagger-leg rotate: false - xy: 993, 424 + xy: 973, 386 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 drone rotate: false - xy: 901, 372 + xy: 279, 220 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 unit-icon-drone rotate: false - xy: 901, 372 + xy: 279, 220 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -6293,119 +6300,119 @@ unit-icon-fabricator index: -1 interceptor rotate: false - xy: 957, 386 + xy: 307, 234 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 unit-icon-interceptor rotate: false - xy: 957, 386 + xy: 307, 234 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 monsoon rotate: false - xy: 445, 317 + xy: 495, 378 size: 18, 18 orig: 18, 18 offset: 0, 0 index: -1 unit-icon-monsoon rotate: false - xy: 445, 317 + xy: 495, 378 size: 18, 18 orig: 18, 18 offset: 0, 0 index: -1 power-cell rotate: false - xy: 871, 384 + xy: 913, 384 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 titan rotate: false - xy: 632, 398 + xy: 924, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 titan-base rotate: false - xy: 591, 344 + xy: 942, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 titan-leg rotate: false - xy: 609, 362 + xy: 960, 416 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 blaster-equip rotate: false - xy: 369, 318 + xy: 993, 438 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 bomber-equip rotate: false - xy: 489, 376 + xy: 993, 424 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 missiles-equip rotate: false - xy: 489, 376 + xy: 993, 424 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 chain-blaster-equip rotate: false - xy: 541, 368 + xy: 978, 420 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 flakgun-equip rotate: false - xy: 915, 372 + xy: 279, 206 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 flamethrower-equip rotate: false - xy: 929, 386 + xy: 293, 220 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 heal-blaster-equip rotate: false - xy: 943, 386 + xy: 279, 192 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 293, 206 + xy: 441, 229 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 swarmer-equip rotate: false - xy: 307, 220 + xy: 455, 269 size: 12, 12 orig: 12, 12 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 037c6190a1..7e7fa00885 100644 Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index aa49b6903e..07e954cf9c 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -17,6 +17,7 @@ import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.game.Version; import io.anuke.mindustry.net.Net; +import io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity; import io.anuke.ucore.entities.Entities; import io.anuke.ucore.entities.EntityGroup; import io.anuke.ucore.entities.impl.EffectEntity; @@ -129,7 +130,7 @@ public class Vars{ public static EntityGroup effectGroup; public static EntityGroup groundEffectGroup; public static EntityGroup itemGroup; - + public static EntityGroup shieldGroup; public static EntityGroup puddleGroup; public static EntityGroup fireGroup; public static EntityGroup[] unitGroups; @@ -163,6 +164,7 @@ public class Vars{ groundEffectGroup = Entities.addGroup(DrawTrait.class, false); puddleGroup = Entities.addGroup(Puddle.class, false).enableMapping(); itemGroup = Entities.addGroup(ItemDrop.class).enableMapping(); + shieldGroup = Entities.addGroup(ShieldEntity.class); fireGroup = Entities.addGroup(Fire.class, false).enableMapping(); unitGroups = new EntityGroup[Team.all.length]; diff --git a/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java b/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java index 2642045ddd..001ab1d461 100644 --- a/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java @@ -77,13 +77,13 @@ public class DefenseBlocks extends BlockList implements ContentList{ }}; overdriveProjector = new OverdriveProjector("overdrive-projector"){{ - consumes.power(0.25f); + consumes.power(0.35f); size = 2; consumes.item(Items.phasematter).optional(true); }}; forceProjector = new ForceProjector("force-projector"){{ - consumes.power(0.25f); + consumes.power(0.2f); size = 3; consumes.item(Items.phasematter).optional(true); }}; diff --git a/core/src/io/anuke/mindustry/content/fx/BlockFx.java b/core/src/io/anuke/mindustry/content/fx/BlockFx.java index b902cd74c7..269d1c94d8 100644 --- a/core/src/io/anuke/mindustry/content/fx/BlockFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BlockFx.java @@ -19,7 +19,8 @@ public class BlockFx extends FxList implements ContentList{ public static Effect reactorsmoke, nuclearsmoke, nuclearcloud, redgeneratespark, generatespark, fuelburn, plasticburn, pulverize, pulverizeRed, pulverizeRedder, pulverizeSmall, pulverizeMedium, producesmoke, smeltsmoke, formsmoke, blastsmoke, lava, dooropen, doorclose, dooropenlarge, doorcloselarge, purify, purifyoil, purifystone, generate, mine, mineBig, mineHuge, - smelt, teleportActivate, teleport, teleportOut, ripple, bubble, commandSend, healBlock, healBlockFull, healWaveMend, overdriveWave, overdriveBlockFull; + smelt, teleportActivate, teleport, teleportOut, ripple, bubble, commandSend, healBlock, healBlockFull, healWaveMend, overdriveWave, + overdriveBlockFull, shieldBreak; @Override public void load(){ @@ -315,9 +316,16 @@ public class BlockFx extends FxList implements ContentList{ overdriveBlockFull = new Effect(60, e -> { Draw.color(e.color); - Draw.alpha(e.fslope() * 0.5f); + Draw.alpha(e.fslope() * 0.4f); Fill.square(e.x, e.y, e.rotation * tilesize); Draw.color(); }); + + shieldBreak = new Effect(40, e -> { + Draw.color(Color.WHITE); + Lines.stroke(3f * e.fout()); + Lines.poly(e.x, e.y, 6, e.rotation, 90); + Draw.reset(); + }); } } diff --git a/core/src/io/anuke/mindustry/core/Logic.java b/core/src/io/anuke/mindustry/core/Logic.java index 57dd7b1644..454563b67f 100644 --- a/core/src/io/anuke/mindustry/core/Logic.java +++ b/core/src/io/anuke/mindustry/core/Logic.java @@ -136,6 +136,7 @@ public class Logic extends Module{ } Entities.update(puddleGroup); Entities.update(tileGroup); + Entities.update(shieldGroup); Entities.update(bulletGroup); Entities.update(fireGroup); Entities.update(playerGroup); diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index eb5a8bb080..b759620e71 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -20,8 +20,12 @@ import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.ucore.core.*; +import io.anuke.ucore.core.Core; +import io.anuke.ucore.core.Effects; +import io.anuke.ucore.core.Graphics; +import io.anuke.ucore.core.Settings; import io.anuke.ucore.entities.EntityDraw; import io.anuke.ucore.entities.EntityGroup; import io.anuke.ucore.entities.impl.EffectEntity; @@ -269,6 +273,13 @@ public class Renderer extends RendererModule{ drawAndInterpolate(playerGroup, p -> true, Player::drawBuildRequests); overlays.drawTop(); + Shaders.shield.color.set(Palette.accent); + + Graphics.beginShaders(Shaders.shield); + EntityDraw.draw(shieldGroup); + EntityDraw.drawWith(shieldGroup, shield -> true, shield -> ((ShieldEntity)shield).drawOver()); + Graphics.endShaders(); + if(showPaths && debug) drawDebug(); Graphics.flushSurface(); diff --git a/core/src/io/anuke/mindustry/entities/TileEntity.java b/core/src/io/anuke/mindustry/entities/TileEntity.java index 53e55dbc5b..be42b41258 100644 --- a/core/src/io/anuke/mindustry/entities/TileEntity.java +++ b/core/src/io/anuke/mindustry/entities/TileEntity.java @@ -260,7 +260,7 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{ } timeScaleDuration -= Timers.delta(); - if(timeScaleDuration <= 0f){ + if(timeScaleDuration <= 0f || !tile.block().canOverdrive){ timeScale = 1f; } diff --git a/core/src/io/anuke/mindustry/graphics/Shaders.java b/core/src/io/anuke/mindustry/graphics/Shaders.java index 022119aab3..69be1a9008 100644 --- a/core/src/io/anuke/mindustry/graphics/Shaders.java +++ b/core/src/io/anuke/mindustry/graphics/Shaders.java @@ -170,7 +170,7 @@ public class Shaders{ public static class Shield extends Shader{ public static final int MAX_HITS = 3 * 64; public Color color = new Color(); - public FloatArray hits; + public FloatArray hits = new FloatArray(); public Shield(){ super("shield", "default"); diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 9fff4ea1e8..d6ab983e94 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -103,6 +103,8 @@ public class Block extends BaseBlock { public boolean turretIcon = false; /**Whether units target this block.*/ public boolean targetable = true; + /**Whether the overdrive core has any effect on this block.*/ + public boolean canOverdrive = true; protected Array tempTiles = new Array<>(); protected Color tempColor = new Color(); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java index 229a7d8e5b..f1406dd5ae 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java @@ -1,29 +1,64 @@ package io.anuke.mindustry.world.blocks.defense; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.mindustry.content.fx.BlockFx; +import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.entities.TileEntity; +import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.entities.traits.SyncTrait; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; +import io.anuke.mindustry.world.meta.BlockStat; +import io.anuke.mindustry.world.meta.StatUnit; +import io.anuke.ucore.core.Effects; +import io.anuke.ucore.core.Graphics; +import io.anuke.ucore.core.Timers; import io.anuke.ucore.entities.EntityGroup; +import io.anuke.ucore.entities.EntityPhysics; import io.anuke.ucore.entities.impl.BaseEntity; import io.anuke.ucore.entities.trait.DrawTrait; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Fill; +import io.anuke.ucore.util.Mathf; -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; +import java.io.*; -import static io.anuke.mindustry.Vars.bulletGroup; +import static io.anuke.mindustry.Vars.*; public class ForceProjector extends Block { + protected float radius = 100f; + protected float breakage = 500f; + protected float cooldownNormal = 1.5f; + protected float cooldownLiquid = 1.5f; + protected float cooldownBrokenBase = 0.3f; + protected float powerDamage = 0.1f; + protected TextureRegion topRegion; public ForceProjector(String name) { super(name); update = true; solid = true; hasPower = true; + canOverdrive = false; + hasLiquids = true; + powerCapacity = 60f; + consumes.add(new ConsumeLiquidFilter(liquid -> liquid.temperature <= 0.5f && liquid.flammability < 0.1f, 0.1f)).optional(true).update(false); + } + + @Override + public void load(){ + super.load(); + topRegion = Draw.region(name + "-top"); + } + + @Override + public void setStats(){ + super.setStats(); + + stats.add(BlockStat.powerDamage, powerDamage, StatUnit.powerUnits); } @Override @@ -34,6 +69,83 @@ public class ForceProjector extends Block { entity.shield = new ShieldEntity(tile); entity.shield.add(); } + + entity.radscl = Mathf.lerpDelta(entity.radscl, entity.broken ? 0f : 1f, 0.05f); + + if(Mathf.chance(Timers.delta() * entity.buildup / breakage * 0.1f)){ + Effects.effect(BlockFx.reactorsmoke, tile.drawx() + Mathf.range(tilesize/2f), tile.drawy() + Mathf.range(tilesize/2f)); + } + + if(!entity.cons.valid()){ + entity.warmup = Mathf.lerpDelta(entity.warmup, 0f, 0.1f); + if(entity.warmup <= 0.09f){ + entity.broken = true; + } + }else{ + entity.warmup = Mathf.lerpDelta(entity.warmup, 1f, 0.1f); + float powerUse = Math.min(powerDamage * entity.delta() * (1f + entity.buildup / breakage), powerCapacity); + entity.power.amount -= powerUse; + } + + if(entity.buildup > 0){ + float scale = !entity.broken ? cooldownNormal : cooldownBrokenBase; + if(consumes.get(ConsumeLiquidFilter.class).valid(this, entity)){ + consumes.get(ConsumeLiquidFilter.class).update(this, entity); + scale *= (cooldownLiquid * (1f+(entity.liquids.current().heatCapacity-0.4f)*0.9f)); + } + + entity.buildup -= Timers.delta()*scale; + } + + if(entity.broken && entity.buildup <= 0 && entity.warmup >= 0.9f){ + entity.broken = false; + } + + if(entity.buildup >= breakage && !entity.broken){ + entity.broken = true; + entity.buildup = breakage; + Effects.effect(BlockFx.shieldBreak, tile.drawy(), tile.drawy(), radius); + } + + if(entity.hit > 0f){ + entity.hit -= 1f/5f * Timers.delta(); + } + + if(!entity.broken){ + EntityPhysics.getNearby(bulletGroup, tile.drawx(), tile.drawy(), radius * entity.radscl*2f, bullet -> { + if(bullet instanceof Bullet && ((Bullet) bullet).getTeam() != tile.getTeam() && isInsideHexagon(bullet.getX(), bullet.getY(), radius * 2f * entity.radscl, tile.drawx(), tile.drawy())){ + ((Bullet) bullet).absorb(); + Effects.effect(BulletFx.absorb, bullet); + float hit = ((Bullet) bullet).getDamage()*powerDamage; + entity.hit = 1f; + entity.power.amount -= Math.min(hit, entity.power.amount); + entity.buildup += ((Bullet) bullet).getDamage() * entity.warmup; + } + }); + } + } + + boolean isInsideHexagon(float x0, float y0, float d, float x, float y) { + float dx = Math.abs(x - x0)/d; + float dy = Math.abs(y - y0)/d; + float a = 0.25f * Mathf.sqrt3; + return (dy <= a) && (a*dx + 0.25*dy <= 0.5*a); + } + + @Override + public void draw(Tile tile){ + super.draw(tile); + + ForceEntity entity = tile.entity(); + + if(entity.buildup <= 0f) return; + Draw.alpha(entity.buildup / breakage * 0.75f/* * Mathf.absin(Timers.time(), 10f - (entity.buildup/breakage)*6f, 1f)*/); + + Graphics.setAdditiveBlending(); + Draw.rect(topRegion, tile.drawx(), tile.drawy()); + Graphics.setNormalBlending(); + + Draw.reset(); } @Override @@ -43,41 +155,68 @@ public class ForceProjector extends Block { class ForceEntity extends TileEntity{ ShieldEntity shield; + boolean broken = true; + float buildup = 0f; + float radscl = 0f; + float hit; + float warmup; + + @Override + public void write(DataOutputStream stream) throws IOException{ + stream.writeBoolean(broken); + stream.writeFloat(buildup); + stream.writeFloat(radscl); + stream.writeFloat(warmup); + } + + @Override + public void read(DataInputStream stream) throws IOException{ + broken = stream.readBoolean(); + buildup = stream.readFloat(); + radscl = stream.readFloat(); + warmup = stream.readFloat(); + } } - class ShieldEntity extends BaseEntity implements DrawTrait, SyncTrait{ - final Tile tile; - final ForceProjector block; + public class ShieldEntity extends BaseEntity implements DrawTrait, SyncTrait{ + final ForceEntity entity; public ShieldEntity(Tile tile){ - this.tile = tile; - this.block = (ForceProjector)tile.block(); + this.entity = tile.entity(); set(tile.drawx(), tile.drawy()); } + @Override + public void update(){ + if(entity.isDead() || !entity.isAdded()){ + remove(); + } + } + + @Override + public float drawSize(){ + return radius*2f+2f*entity.radscl; + } + @Override public void draw(){ Draw.color(Palette.accent); - Draw.alpha(0.5f); + Fill.polyTri(x, y, 6, radius*entity.radscl); + Draw.color(); + } - int range = 3; - float rad = 12f; - float space = rad*2-2f; - for (int y = -range; y <= range; y++) { - for (int x = -range; x <= range; x++) { - //if(Mathf.dst(x, y) > range) continue; - float wx = tile.drawx() + x * space + ((y + range) % 2)*space/2f; - float wy = tile.drawy() + y * (space-1); - Fill.poly(wx, wy, 6, rad); - } - } + public void drawOver(){ + if(entity.hit <= 0f) return; + Draw.color(Color.WHITE); + Draw.alpha(entity.hit); + Fill.polyTri(x, y, 6, radius*entity.radscl); Draw.color(); } @Override public EntityGroup targetGroup(){ - return bulletGroup; + return shieldGroup; } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java index 2170302e33..506354c8e2 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java @@ -52,7 +52,7 @@ public class MendProjector extends Block{ public void update(Tile tile){ MendEntity entity = tile.entity(); entity.heat = Mathf.lerpDelta(entity.heat, entity.cons.valid() ? 1f : 0f, 0.08f); - entity.charge += entity.heat * Timers.delta(); + entity.charge += entity.heat * entity.delta(); entity.phaseHeat = Mathf.lerpDelta(entity.phaseHeat, (float)entity.items.get(consumes.item()) / itemCapacity, 0.1f); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java index d8073d5897..631d48ad0d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java @@ -27,9 +27,9 @@ public class OverdriveProjector extends Block{ protected int timerUse = timers ++; protected TextureRegion topRegion; - protected float reload = 250f; + protected float reload = 260f; protected float range = 80f; - protected float speedBoost = 2f; + protected float speedBoost = 1.5f; protected float speedBoostPhase = 0.5f; protected float useTime = 300f; @@ -39,6 +39,7 @@ public class OverdriveProjector extends Block{ update = true; hasPower = true; hasItems = true; + canOverdrive = false; itemCapacity = 10; } @@ -67,28 +68,26 @@ public class OverdriveProjector extends Block{ Effects.effect(BlockFx.overdriveWave, Hue.mix(color, phase, entity.phaseHeat), tile.drawx(), tile.drawy(), realRange); entity.charge = 0f; - Timers.run(10f, () -> { - int tileRange = (int)(realRange / tilesize); - healed.clear(); + int tileRange = (int)(realRange / tilesize); + healed.clear(); - for(int x = -tileRange + tile.x; x <= tileRange + tile.x; x++){ - for(int y = -tileRange + tile.y; y <= tileRange + tile.y; y++){ - if(Vector2.dst(x, y, tile.x, tile.y) > realRange) continue; + for(int x = -tileRange + tile.x; x <= tileRange + tile.x; x++){ + for(int y = -tileRange + tile.y; y <= tileRange + tile.y; y++){ + if(Vector2.dst(x, y, tile.x, tile.y) > realRange) continue; - Tile other = world.tile(x, y); + Tile other = world.tile(x, y); - if(other == null) continue; - other = other.target(); + if(other == null) continue; + other = other.target(); - if(other.getTeamID() == tile.getTeamID() && !healed.contains(other.packedPosition()) && other.entity != null){ - other.entity.timeScaleDuration = Math.max(other.entity.timeScaleDuration, reload + 1f); - other.entity.timeScale = Math.max(other.entity.timeScale, realBoost); - Effects.effect(BlockFx.overdriveBlockFull, Hue.mix(color, phase, entity.phaseHeat), other.drawx(), other.drawy(), other.block().size); - healed.add(other.packedPosition()); - } + if(other.getTeamID() == tile.getTeamID() && !healed.contains(other.packedPosition()) && other.entity != null){ + other.entity.timeScaleDuration = Math.max(other.entity.timeScaleDuration, reload + 1f); + other.entity.timeScale = Math.max(other.entity.timeScale, realBoost); + Effects.effect(BlockFx.overdriveBlockFull, Hue.mix(color, phase, entity.phaseHeat), other.drawx(), other.drawy(), other.block().size); + healed.add(other.packedPosition()); } } - }); + } } } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java index bbf23b4459..72f8756517 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java @@ -99,7 +99,7 @@ public class Conveyor extends Block{ ConveyorEntity entity = tile.entity(); byte rotation = tile.getRotation(); - int frame = entity.clogHeat <= 0.5f ? (int) ((Timers.time() / 4f) % 4) : 0; + int frame = entity.clogHeat <= 0.5f ? (int) (((Timers.time() * speed * 8f * entity.timeScale)) % 4) : 0; Draw.rect(regions[Mathf.clamp(entity.blendbits, 0, regions.length - 1)][Mathf.clamp(frame, 0, regions[0].length - 1)], tile.drawx(), tile.drawy(), tilesize * entity.blendsclx, tilesize * entity.blendscly, rotation*90); } diff --git a/core/src/io/anuke/mindustry/world/meta/BlockStat.java b/core/src/io/anuke/mindustry/world/meta/BlockStat.java index b454c3d2f2..ac93bacfad 100644 --- a/core/src/io/anuke/mindustry/world/meta/BlockStat.java +++ b/core/src/io/anuke/mindustry/world/meta/BlockStat.java @@ -23,6 +23,7 @@ public enum BlockStat{ powerCapacity(StatCategory.power), powerUse(StatCategory.power), + powerDamage(StatCategory.power), powerRange(StatCategory.power), powerTransferSpeed(StatCategory.power), maxPowerGeneration(StatCategory.power),