diff --git a/core/assets-raw/sprites/blocks/production/weaponfactory.png b/core/assets-raw/sprites/blocks/production/weaponfactory.png deleted file mode 100644 index d3159244c5..0000000000 Binary files a/core/assets-raw/sprites/blocks/production/weaponfactory.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/units/mech-factory.png b/core/assets-raw/sprites/blocks/units/mech-factory.png new file mode 100644 index 0000000000..5d7b07b3b7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/mech-factory.png differ diff --git a/core/assets-raw/sprites/blocks/units/ship-factory.png b/core/assets-raw/sprites/blocks/units/ship-factory.png new file mode 100644 index 0000000000..5d7b07b3b7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/ship-factory.png differ diff --git a/core/assets-raw/sprites/mechs/standard-mech-base.png b/core/assets-raw/sprites/mechs/mechs/alpha-mech-base.png similarity index 100% rename from core/assets-raw/sprites/mechs/standard-mech-base.png rename to core/assets-raw/sprites/mechs/mechs/alpha-mech-base.png diff --git a/core/assets-raw/sprites/mechs/standard-mech-leg.png b/core/assets-raw/sprites/mechs/mechs/alpha-mech-leg.png similarity index 100% rename from core/assets-raw/sprites/mechs/standard-mech-leg.png rename to core/assets-raw/sprites/mechs/mechs/alpha-mech-leg.png diff --git a/core/assets-raw/sprites/mechs/standard-mech.png b/core/assets-raw/sprites/mechs/mechs/alpha-mech.png similarity index 100% rename from core/assets-raw/sprites/mechs/standard-mech.png rename to core/assets-raw/sprites/mechs/mechs/alpha-mech.png diff --git a/core/assets-raw/sprites/mechs/mechs/delta-mech-base.png b/core/assets-raw/sprites/mechs/mechs/delta-mech-base.png new file mode 100644 index 0000000000..50cd656428 Binary files /dev/null and b/core/assets-raw/sprites/mechs/mechs/delta-mech-base.png differ diff --git a/core/assets-raw/sprites/mechs/mechs/delta-mech-leg.png b/core/assets-raw/sprites/mechs/mechs/delta-mech-leg.png new file mode 100644 index 0000000000..7204dda0a7 Binary files /dev/null and b/core/assets-raw/sprites/mechs/mechs/delta-mech-leg.png differ diff --git a/core/assets-raw/sprites/mechs/mechs/delta-mech.png b/core/assets-raw/sprites/mechs/mechs/delta-mech.png new file mode 100644 index 0000000000..c982a0893b Binary files /dev/null and b/core/assets-raw/sprites/mechs/mechs/delta-mech.png differ diff --git a/core/assets-raw/sprites/mechs/mechs/omega-mech-base.png b/core/assets-raw/sprites/mechs/mechs/omega-mech-base.png new file mode 100644 index 0000000000..50cd656428 Binary files /dev/null and b/core/assets-raw/sprites/mechs/mechs/omega-mech-base.png differ diff --git a/core/assets-raw/sprites/mechs/mechs/omega-mech-leg.png b/core/assets-raw/sprites/mechs/mechs/omega-mech-leg.png new file mode 100644 index 0000000000..7204dda0a7 Binary files /dev/null and b/core/assets-raw/sprites/mechs/mechs/omega-mech-leg.png differ diff --git a/core/assets-raw/sprites/mechs/mechs/omega-mech.png b/core/assets-raw/sprites/mechs/mechs/omega-mech.png new file mode 100644 index 0000000000..c982a0893b Binary files /dev/null and b/core/assets-raw/sprites/mechs/mechs/omega-mech.png differ diff --git a/core/assets-raw/sprites/mechs/mechs/tau-mech-base.png b/core/assets-raw/sprites/mechs/mechs/tau-mech-base.png new file mode 100644 index 0000000000..50cd656428 Binary files /dev/null and b/core/assets-raw/sprites/mechs/mechs/tau-mech-base.png differ diff --git a/core/assets-raw/sprites/mechs/mechs/tau-mech-leg.png b/core/assets-raw/sprites/mechs/mechs/tau-mech-leg.png new file mode 100644 index 0000000000..7204dda0a7 Binary files /dev/null and b/core/assets-raw/sprites/mechs/mechs/tau-mech-leg.png differ diff --git a/core/assets-raw/sprites/mechs/mechs/tau-mech.png b/core/assets-raw/sprites/mechs/mechs/tau-mech.png new file mode 100644 index 0000000000..c982a0893b Binary files /dev/null and b/core/assets-raw/sprites/mechs/mechs/tau-mech.png differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 4bf0b8ee55..f570ae6bf9 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -13,168 +13,168 @@ background index: -1 conveyormove rotate: false - xy: 667, 111 + xy: 757, 308 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-arrow rotate: false - xy: 415, 11 + xy: 723, 209 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-bridge rotate: false - xy: 415, 1 + xy: 723, 199 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-end rotate: false - xy: 425, 21 + xy: 713, 189 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 mass-driver-turret rotate: false - xy: 281, 135 + xy: 307, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 ripple rotate: false - xy: 281, 135 + xy: 307, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 poweredconveyormove rotate: false - xy: 971, 430 + xy: 305, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyormove rotate: false - xy: 535, 111 + xy: 395, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 warpgate-top rotate: false - xy: 991, 447 + xy: 679, 357 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 irondrill rotate: false - xy: 325, 10 + xy: 756, 298 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-rotator rotate: false - xy: 335, 20 + xy: 756, 288 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-rotator rotate: false - xy: 335, 20 + xy: 756, 288 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-top rotate: false - xy: 335, 10 + xy: 736, 278 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserdrill rotate: false - xy: 733, 223 + xy: 279, 79 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laserdrill-rotator rotate: false - xy: 661, 215 + xy: 297, 81 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laserdrill-top rotate: false - xy: 679, 205 + xy: 315, 81 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 nucleardrill rotate: false - xy: 359, 135 + xy: 385, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nucleardrill-rim rotate: false - xy: 385, 135 + xy: 411, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nucleardrill-rotator rotate: false - xy: 411, 135 + xy: 437, 136 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nucleardrill-top rotate: false - xy: 437, 136 + xy: 587, 232 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor rotate: false - xy: 587, 232 + xy: 613, 232 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor-liquid rotate: false - xy: 613, 232 + xy: 607, 206 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor-rotator rotate: false - xy: 607, 206 + xy: 597, 180 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor-top rotate: false - xy: 597, 180 + xy: 597, 154 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -209,105 +209,105 @@ plasmadrill-top index: -1 reinforceddrill rotate: false - xy: 769, 438 + xy: 315, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-rotator rotate: false - xy: 779, 439 + xy: 325, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-top rotate: false - xy: 789, 439 + xy: 335, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill rotate: false - xy: 545, 111 + xy: 405, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-rotator rotate: false - xy: 555, 111 + xy: 395, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-top rotate: false - xy: 565, 111 + xy: 405, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill rotate: false - xy: 605, 100 + xy: 365, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-top rotate: false - xy: 615, 100 + xy: 375, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 waterextractor rotate: false - xy: 679, 169 + xy: 315, 63 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-liquid rotate: false - xy: 697, 169 + xy: 333, 63 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-rotator rotate: false - xy: 715, 169 + xy: 351, 63 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-top rotate: false - xy: 733, 169 + xy: 369, 63 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 blackrock1 rotate: false - xy: 207, 52 + xy: 695, 347 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-blackrock rotate: false - xy: 207, 52 + xy: 695, 347 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackrockshadow1 rotate: false - xy: 187, 8 + xy: 207, 52 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -328,574 +328,574 @@ block-icon-blackstone index: -1 blackstone2 rotate: false - xy: 633, 206 + xy: 187, 8 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone3 rotate: false - xy: 643, 206 + xy: 639, 232 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock1 rotate: false - xy: 639, 255 + xy: 955, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock2 rotate: false - xy: 639, 245 + xy: 955, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock3 rotate: false - xy: 639, 235 + xy: 981, 440 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneedge rotate: false - xy: 195, 124 + xy: 623, 138 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 coal2 rotate: false - xy: 661, 151 + xy: 747, 318 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 651, 140 + xy: 757, 328 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 435, 115 + xy: 767, 310 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 435, 105 + xy: 777, 320 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirtedge rotate: false - xy: 572, 244 + xy: 197, 2 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 grass2 rotate: false - xy: 725, 143 + xy: 706, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass3 rotate: false - xy: 735, 143 + xy: 716, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock1 rotate: false - xy: 757, 147 + xy: 706, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock2 rotate: false - xy: 733, 359 + xy: 716, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassedge rotate: false - xy: 747, 398 + xy: 253, 41 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 ice2 rotate: false - xy: 731, 349 + xy: 726, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice3 rotate: false - xy: 315, 33 + xy: 716, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iceedge rotate: false - xy: 291, 85 + xy: 251, 27 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 icerock2 rotate: false - xy: 315, 23 + xy: 726, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow1 rotate: false - xy: 315, 13 + xy: 726, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow1 rotate: false - xy: 315, 13 + xy: 726, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow2 rotate: false - xy: 315, 3 + xy: 736, 298 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow2 rotate: false - xy: 315, 3 + xy: 736, 298 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron2 rotate: false - xy: 325, 20 + xy: 746, 298 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron3 rotate: false - xy: 335, 30 + xy: 746, 288 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lavaedge rotate: false - xy: 305, 85 + xy: 251, 13 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 lead2 rotate: false - xy: 425, 1 + xy: 827, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead3 rotate: false - xy: 435, 31 + xy: 893, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor2 rotate: false - xy: 891, 433 + xy: 943, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor3 rotate: false - xy: 901, 433 + xy: 953, 413 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor4 rotate: false - xy: 911, 433 + xy: 963, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor5 rotate: false - xy: 921, 433 + xy: 963, 413 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor6 rotate: false - xy: 931, 433 + xy: 295, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalflooredge rotate: false - xy: 347, 85 + xy: 607, 106 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mossblock rotate: false - xy: 941, 433 + xy: 295, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oiledge rotate: false - xy: 361, 85 + xy: 621, 106 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 rock2 rotate: false - xy: 809, 439 + xy: 335, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand2 rotate: false - xy: 455, 122 + xy: 335, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand3 rotate: false - xy: 455, 112 + xy: 345, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock1 rotate: false - xy: 465, 122 + xy: 355, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock2 rotate: false - xy: 465, 112 + xy: 345, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock3 rotate: false - xy: 475, 122 + xy: 355, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandedge rotate: false - xy: 375, 85 + xy: 635, 106 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shrubshadow rotate: false - xy: 465, 102 + xy: 365, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow2 rotate: false - xy: 485, 102 + xy: 385, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow3 rotate: false - xy: 495, 111 + xy: 375, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock1 rotate: false - xy: 505, 111 + xy: 385, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock2 rotate: false - xy: 515, 111 + xy: 395, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock3 rotate: false - xy: 525, 111 + xy: 385, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowedge rotate: false - xy: 289, 71 + xy: 641, 200 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 spaceedge rotate: false - xy: 289, 57 + xy: 641, 186 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 stone-cliff-edge rotate: false - xy: 505, 101 + xy: 415, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-edge-1 rotate: false - xy: 515, 101 + xy: 415, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-edge-2 rotate: false - xy: 525, 101 + xy: 425, 35 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-side rotate: false - xy: 535, 101 + xy: 425, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 575, 111 + xy: 415, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 495, 101 + xy: 405, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock1 rotate: false - xy: 545, 101 + xy: 425, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock2 rotate: false - xy: 555, 101 + xy: 295, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock3 rotate: false - xy: 565, 101 + xy: 305, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneedge rotate: false - xy: 303, 57 + xy: 641, 158 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 thorium2 rotate: false - xy: 585, 108 + xy: 325, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium3 rotate: false - xy: 595, 108 + xy: 335, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 585, 98 + xy: 345, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 595, 98 + xy: 355, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge rotate: false - xy: 465, 92 + xy: 435, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge-1 rotate: false - xy: 475, 92 + xy: 445, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge-2 rotate: false - xy: 485, 92 + xy: 435, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-side rotate: false - xy: 495, 91 + xy: 435, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 wateredge rotate: false - xy: 317, 57 + xy: 449, 108 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 block-border rotate: false - xy: 362, 51 + xy: 667, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-elevation rotate: false - xy: 372, 51 + xy: 679, 170 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustion-generator-top rotate: false - xy: 372, 51 + xy: 679, 170 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-middle rotate: false - xy: 617, 110 + xy: 717, 329 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 617, 110 + xy: 717, 329 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-slope rotate: false - xy: 627, 110 + xy: 707, 319 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 border rotate: false - xy: 637, 110 + xy: 717, 319 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 661, 131 + xy: 737, 308 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 435, 125 + xy: 767, 320 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-2 rotate: false - xy: 309, 99 + xy: 345, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cross-3 rotate: false - xy: 229, 143 + xy: 572, 258 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -909,7 +909,7 @@ cross-4 index: -1 enemyspawn rotate: false - xy: 445, 106 + xy: 787, 310 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -923,70 +923,70 @@ nuclearreactor-shadow index: -1 place-arrow rotate: false - xy: 951, 433 + xy: 305, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 playerspawn rotate: false - xy: 961, 430 + xy: 295, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ripples rotate: false - xy: 624, 265 + xy: 667, 203 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 rubble-1-0 rotate: false - xy: 679, 187 + xy: 405, 81 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-1-1 rotate: false - xy: 697, 187 + xy: 423, 81 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-2-0 rotate: false - xy: 715, 187 + xy: 261, 55 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-2-1 rotate: false - xy: 733, 187 + xy: 279, 61 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-3-0 rotate: false - xy: 597, 154 + xy: 991, 447 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 rubble-3-1 rotate: false - xy: 597, 154 + xy: 991, 447 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 shadow-1 rotate: false - xy: 211, 4 + xy: 691, 203 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1028,7 +1028,7 @@ shadow-6 index: -1 shadow-round-1 rotate: false - xy: 431, 87 + xy: 667, 167 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1042,140 +1042,140 @@ shadow-round-2 index: -1 bridgeconduit-arrow rotate: false - xy: 647, 110 + xy: 707, 309 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-bridge rotate: false - xy: 657, 110 + xy: 717, 309 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-end rotate: false - xy: 763, 422 + xy: 727, 329 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-arrow rotate: false - xy: 763, 412 + xy: 727, 319 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-bridge rotate: false - xy: 764, 402 + xy: 727, 309 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-end rotate: false - xy: 765, 392 + xy: 737, 328 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 661, 141 + xy: 757, 318 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top rotate: false - xy: 661, 121 + xy: 747, 308 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-arrow rotate: false - xy: 405, 1 + xy: 719, 219 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-bridge rotate: false - xy: 415, 21 + xy: 713, 209 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-end rotate: false - xy: 425, 31 + xy: 713, 199 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter rotate: false - xy: 435, 21 + xy: 903, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-bottom rotate: false - xy: 435, 11 + xy: 913, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-liquid rotate: false - xy: 435, 1 + xy: 923, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-top rotate: false - xy: 437, 57 + xy: 933, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidtank-bottom rotate: false - xy: 598, 258 + xy: 229, 117 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquidtank-liquid rotate: false - xy: 229, 117 + xy: 255, 127 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquidtank-top rotate: false - xy: 255, 127 + xy: 281, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 pulseconduit-bottom rotate: false - xy: 981, 430 + xy: 315, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-top rotate: false - xy: 991, 427 + xy: 305, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1266,21 +1266,21 @@ fusion-reactor-top index: -1 nuclear-reactor-center rotate: false - xy: 307, 135 + xy: 333, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nuclear-reactor-lights rotate: false - xy: 333, 135 + xy: 359, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 rtg-generator-top rotate: false - xy: 819, 439 + xy: 345, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1315,224 +1315,217 @@ block-icon-phase-weaver index: -1 alloy-smelter rotate: false - xy: 195, 106 + xy: 705, 367 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-alloy-smelter rotate: false - xy: 195, 106 + xy: 705, 367 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 arc-smelter rotate: false - xy: 679, 365 + xy: 677, 339 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-arc-smelter rotate: false - xy: 679, 365 + xy: 677, 339 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor rotate: false - xy: 677, 347 + xy: 195, 106 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-frame0 rotate: false - xy: 679, 313 + xy: 197, 34 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-frame1 rotate: false - xy: 197, 34 + xy: 197, 16 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-frame2 rotate: false - xy: 197, 16 + xy: 255, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-liquid rotate: false - xy: 255, 109 + xy: 463, 132 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-top rotate: false - xy: 463, 132 + xy: 481, 132 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 centrifuge-liquid rotate: false - xy: 207, 62 + xy: 309, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-bottom rotate: false - xy: 399, 99 + xy: 499, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-liquid rotate: false - xy: 417, 99 + xy: 517, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-top rotate: false - xy: 713, 347 + xy: 535, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator rotate: false - xy: 715, 313 + xy: 553, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator-middle rotate: false - xy: 715, 295 + xy: 571, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator-top rotate: false - xy: 733, 313 + xy: 589, 136 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 extractor rotate: false - xy: 715, 143 + xy: 706, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lavasmelter rotate: false - xy: 425, 11 + xy: 723, 189 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 plasteel-compressor-top rotate: false - xy: 697, 205 + xy: 333, 81 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweralloysmelter-top rotate: false - xy: 715, 205 + xy: 351, 81 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powersmelter-top rotate: false - xy: 733, 205 + xy: 369, 81 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 silicon-smelter-top rotate: false - xy: 733, 205 + xy: 369, 81 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 1001, 427 + xy: 315, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 1011, 427 + xy: 325, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 475, 112 + xy: 365, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconextractor rotate: false - xy: 475, 102 + xy: 375, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -weaponfactory - rotate: false - xy: 697, 151 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 core-open rotate: false - xy: 571, 157 + xy: 229, 143 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-1 rotate: false - xy: 352, 51 + xy: 663, 217 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-2 rotate: false - xy: 481, 132 + xy: 499, 139 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-2-top rotate: false - xy: 499, 139 + xy: 517, 139 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1581,63 +1574,63 @@ arc-heat index: -1 crux rotate: false - xy: 327, 99 + xy: 363, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-heat rotate: false - xy: 345, 99 + xy: 381, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-panel-left rotate: false - xy: 363, 99 + xy: 399, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-panel-right rotate: false - xy: 381, 99 + xy: 417, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 duo rotate: false - xy: 445, 116 + xy: 787, 320 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 fuse rotate: false - xy: 572, 258 + xy: 598, 258 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 spectre rotate: false - xy: 572, 258 + xy: 598, 258 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 lancer rotate: false - xy: 649, 219 + xy: 685, 215 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 lancer-heat rotate: false - xy: 624, 277 + xy: 697, 215 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1651,119 +1644,119 @@ meltdown index: -1 scatter rotate: false - xy: 636, 277 + xy: 667, 191 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scatter-heat rotate: false - xy: 636, 265 + xy: 679, 203 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scorch rotate: false - xy: 747, 157 + xy: 667, 179 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scorch-shoot rotate: false - xy: 749, 373 + xy: 679, 191 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 swarmer rotate: false - xy: 661, 179 + xy: 297, 63 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 wave rotate: false - xy: 661, 161 + xy: 387, 63 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 wave-liquid rotate: false - xy: 679, 151 + xy: 405, 63 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 dronefactory-top rotate: false - xy: 499, 121 + xy: 607, 120 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory-top rotate: false - xy: 499, 121 + xy: 607, 120 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 dronefactory-top-open rotate: false - xy: 517, 121 + xy: 625, 120 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory-top-open rotate: false - xy: 517, 121 + xy: 625, 120 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 reconstructor-open rotate: false - xy: 661, 197 + xy: 387, 81 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 repairpoint-turret rotate: false - xy: 799, 439 + xy: 325, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door-large-open rotate: false - xy: 733, 295 + xy: 589, 118 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 door-open rotate: false - xy: 445, 126 + xy: 777, 310 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stonewall rotate: false - xy: 575, 101 + xy: 315, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumshieldwall rotate: false - xy: 625, 100 + xy: 385, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1791,14 +1784,14 @@ blank index: -1 bullet rotate: false - xy: 731, 385 + xy: 624, 258 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 bullet-back rotate: false - xy: 742, 385 + xy: 635, 258 size: 9, 9 orig: 9, 9 offset: 0, 0 @@ -1819,21 +1812,21 @@ clear index: -1 enemyarrow rotate: false - xy: 641, 152 + xy: 649, 232 size: 8, 7 orig: 8, 7 offset: 0, 0 index: -1 error rotate: false - xy: 637, 138 + xy: 1005, 433 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 laser rotate: false - xy: 761, 398 + xy: 1021, 499 size: 1, 12 orig: 1, 12 offset: 0, 0 @@ -1854,7 +1847,7 @@ laserfull index: -1 minelaser rotate: false - xy: 1021, 499 + xy: 123, 25 size: 1, 12 orig: 1, 12 offset: 0, 0 @@ -1868,35 +1861,35 @@ minelaser-end index: -1 shell rotate: false - xy: 650, 290 + xy: 646, 258 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 shell-back rotate: false - xy: 650, 279 + xy: 679, 180 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 shot rotate: false - xy: 455, 102 + xy: 375, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 transfer rotate: false - xy: 1017, 459 + xy: 126, 25 size: 1, 12 orig: 1, 12 offset: 0, 0 index: -1 transfer-arrow rotate: false - xy: 635, 100 + xy: 395, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1910,105 +1903,105 @@ transfer-end index: -1 block-icon-arc rotate: false - xy: 517, 139 + xy: 535, 139 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-biomattercompressor rotate: false - xy: 535, 139 + xy: 553, 139 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-bridgeconduit rotate: false - xy: 382, 51 + xy: 703, 205 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit rotate: false - xy: 382, 51 + xy: 703, 205 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-bridgeconveyor rotate: false - xy: 392, 51 + xy: 583, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor rotate: false - xy: 392, 51 + xy: 583, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-centrifuge rotate: false - xy: 553, 139 + xy: 571, 139 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 centrifuge rotate: false - xy: 553, 139 + xy: 571, 139 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-coal rotate: false - xy: 402, 51 + xy: 593, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal1 rotate: false - xy: 402, 51 + xy: 593, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-combustion-generator rotate: false - xy: 412, 51 + xy: 679, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustion-generator rotate: false - xy: 412, 51 + xy: 679, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-conduit rotate: false - xy: 422, 51 + xy: 297, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-conveyor rotate: false - xy: 747, 147 + xy: 307, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor rotate: false - xy: 747, 147 + xy: 307, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2029,182 +2022,182 @@ core index: -1 block-icon-cryofluidmixer rotate: false - xy: 571, 139 + xy: 623, 188 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-cultivator rotate: false - xy: 623, 188 + xy: 623, 170 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-deepwater rotate: false - xy: 749, 363 + xy: 317, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater rotate: false - xy: 749, 363 + xy: 317, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-deflector-wall rotate: false - xy: 215, 42 + xy: 327, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deflector-wall rotate: false - xy: 215, 42 + xy: 327, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 duriumwall rotate: false - xy: 215, 42 + xy: 327, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 phase-wall rotate: false - xy: 215, 42 + xy: 327, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-duriumwall rotate: false - xy: 215, 42 + xy: 327, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-phase-wall rotate: false - xy: 215, 42 + xy: 327, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-deflector-wall-large rotate: false - xy: 623, 170 + xy: 623, 152 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 deflector-wall-large rotate: false - xy: 623, 170 + xy: 623, 152 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 duriumwall-large rotate: false - xy: 623, 170 + xy: 623, 152 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 phase-wall-large rotate: false - xy: 623, 170 + xy: 623, 152 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-duriumwall-large rotate: false - xy: 623, 170 + xy: 623, 152 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-phase-wall-large rotate: false - xy: 623, 170 + xy: 623, 152 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-dirt rotate: false - xy: 215, 32 + xy: 337, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt1 rotate: false - xy: 215, 32 + xy: 337, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-door rotate: false - xy: 225, 40 + xy: 347, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door rotate: false - xy: 225, 40 + xy: 347, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-door-large rotate: false - xy: 623, 152 + xy: 705, 349 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 door-large rotate: false - xy: 623, 152 + xy: 705, 349 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-dronefactory rotate: false - xy: 697, 365 + xy: 723, 367 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-droppoint rotate: false - xy: 215, 22 + xy: 357, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 droppoint rotate: false - xy: 215, 22 + xy: 357, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-duo rotate: false - xy: 225, 30 + xy: 367, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2225,154 +2218,154 @@ block-icon-fusion-reactor index: -1 block-icon-grass rotate: false - xy: 225, 20 + xy: 377, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass1 rotate: false - xy: 225, 20 + xy: 377, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-ice rotate: false - xy: 427, 75 + xy: 387, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice1 rotate: false - xy: 427, 75 + xy: 387, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-icerock rotate: false - xy: 427, 65 + xy: 397, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerock1 rotate: false - xy: 427, 65 + xy: 397, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-incinerator rotate: false - xy: 235, 25 + xy: 407, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 incinerator rotate: false - xy: 235, 25 + xy: 407, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-iron rotate: false - xy: 245, 25 + xy: 295, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron1 rotate: false - xy: 245, 25 + xy: 295, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-irondrill rotate: false - xy: 235, 15 + xy: 305, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-ironwall rotate: false - xy: 245, 15 + xy: 315, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ironwall rotate: false - xy: 245, 15 + xy: 315, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-ironwall-large rotate: false - xy: 695, 347 + xy: 723, 349 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 ironwall-large rotate: false - xy: 695, 347 + xy: 723, 349 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-itemsource rotate: false - xy: 255, 19 + xy: 325, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemsource rotate: false - xy: 255, 19 + xy: 325, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-itemvoid rotate: false - xy: 265, 19 + xy: 335, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemvoid rotate: false - xy: 265, 19 + xy: 335, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-junction rotate: false - xy: 275, 19 + xy: 345, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 junction rotate: false - xy: 275, 19 + xy: 345, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-lancer rotate: false - xy: 715, 367 + xy: 679, 321 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2393,98 +2386,98 @@ large-solar-panel index: -1 block-icon-laserconduit rotate: false - xy: 285, 19 + xy: 355, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit rotate: false - xy: 285, 19 + xy: 355, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-laserconveyor rotate: false - xy: 295, 19 + xy: 365, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor rotate: false - xy: 295, 19 + xy: 365, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-laserdrill rotate: false - xy: 697, 313 + xy: 679, 303 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-lava rotate: false - xy: 305, 21 + xy: 375, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava rotate: false - xy: 305, 21 + xy: 375, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-lead rotate: false - xy: 437, 77 + xy: 385, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead1 rotate: false - xy: 437, 77 + xy: 385, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquidjunction rotate: false - xy: 437, 67 + xy: 395, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidjunction rotate: false - xy: 437, 67 + xy: 395, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquidrouter rotate: false - xy: 223, 10 + xy: 405, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquidsource rotate: false - xy: 255, 9 + xy: 417, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidsource rotate: false - xy: 255, 9 + xy: 417, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2517,16 +2510,44 @@ core-top orig: 24, 24 offset: 0, 0 index: -1 +block-icon-mech-factory + rotate: false + xy: 519, 183 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 +mech-factory + rotate: false + xy: 519, 183 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 +ship-factory + rotate: false + xy: 519, 183 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 +block-icon-ship-factory + rotate: false + xy: 519, 183 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 block-icon-mechanical-pump rotate: false - xy: 265, 9 + xy: 415, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 mechanical-pump rotate: false - xy: 265, 9 + xy: 415, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2540,112 +2561,112 @@ block-icon-meltdown index: -1 block-icon-melter rotate: false - xy: 275, 9 + xy: 427, 55 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 melter rotate: false - xy: 275, 9 + xy: 427, 55 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-metalfloor rotate: false - xy: 285, 9 + xy: 439, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor1 rotate: false - xy: 285, 9 + xy: 439, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-multiplexer rotate: false - xy: 679, 295 + xy: 273, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 multiplexer rotate: false - xy: 679, 295 + xy: 273, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-nuclear-reactor rotate: false - xy: 519, 183 + xy: 545, 183 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nuclear-reactor rotate: false - xy: 519, 183 + xy: 545, 183 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-icon-nucleardrill rotate: false - xy: 545, 183 + xy: 571, 183 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-icon-oil rotate: false - xy: 295, 9 + xy: 439, 61 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil rotate: false - xy: 295, 9 + xy: 439, 61 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-oilextractor rotate: false - xy: 571, 183 + xy: 467, 150 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-icon-oilrefinery rotate: false - xy: 305, 11 + xy: 437, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oilrefinery rotate: false - xy: 305, 11 + xy: 437, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-overflowgate rotate: false - xy: 305, 1 + xy: 427, 45 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 overflowgate rotate: false - xy: 305, 1 + xy: 427, 45 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2659,868 +2680,980 @@ block-icon-plasmadrill index: -1 block-icon-plasteel-compressor rotate: false - xy: 697, 295 + xy: 291, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 plasteel-compressor rotate: false - xy: 697, 295 + xy: 291, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-power-node rotate: false - xy: 761, 376 + xy: 437, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 power-node rotate: false - xy: 761, 376 + xy: 437, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-power-node-large rotate: false - xy: 273, 109 + xy: 309, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 power-node-large rotate: false - xy: 273, 109 + xy: 309, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-poweredconveyor rotate: false - xy: 329, 40 + xy: 705, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyor rotate: false - xy: 329, 40 + xy: 705, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-powerinfinite rotate: false - xy: 233, 5 + xy: 715, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powerinfinite rotate: false - xy: 233, 5 + xy: 715, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-powervoid rotate: false - xy: 243, 5 + xy: 725, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powervoid rotate: false - xy: 243, 5 + xy: 725, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-pulseconduit rotate: false - xy: 761, 366 + xy: 843, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-pulverizer rotate: false - xy: 339, 40 + xy: 853, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-reconstructor rotate: false - xy: 291, 117 + xy: 327, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 dronefactory rotate: false - xy: 291, 117 + xy: 327, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 reconstructor rotate: false - xy: 291, 117 + xy: 327, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory rotate: false - xy: 291, 117 + xy: 327, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-reinforceddrill rotate: false - xy: 349, 41 + xy: 863, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-repairpoint rotate: false - xy: 359, 41 + xy: 873, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 repairpoint rotate: false - xy: 359, 41 + xy: 873, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-resupplypoint rotate: false - xy: 369, 41 + xy: 883, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 resupplypoint rotate: false - xy: 369, 41 + xy: 883, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-ripple rotate: false - xy: 467, 150 + xy: 493, 157 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-icon-rock rotate: false - xy: 379, 41 + xy: 893, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock1 rotate: false - xy: 379, 41 + xy: 893, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-rotary-pump rotate: false - xy: 309, 117 + xy: 345, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rotary-pump rotate: false - xy: 309, 117 + xy: 345, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-router rotate: false - xy: 389, 41 + xy: 903, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 389, 41 + xy: 903, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-rtg-generator rotate: false - xy: 399, 41 + xy: 913, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtg-generator rotate: false - xy: 399, 41 + xy: 913, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-sand rotate: false - xy: 409, 41 + xy: 923, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand1 rotate: false - xy: 409, 41 + xy: 923, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-scatter rotate: false - xy: 419, 41 + xy: 933, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-scorch rotate: false - xy: 429, 41 + xy: 943, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-separator rotate: false - xy: 831, 441 + xy: 953, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator rotate: false - xy: 831, 441 + xy: 953, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-shrub rotate: false - xy: 841, 441 + xy: 773, 330 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shrub rotate: false - xy: 841, 441 + xy: 773, 330 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-silicon-smelter rotate: false - xy: 327, 117 + xy: 363, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 silicon-smelter rotate: false - xy: 327, 117 + xy: 363, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-smelter rotate: false - xy: 851, 441 + xy: 783, 330 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 smelter rotate: false - xy: 851, 441 + xy: 783, 330 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-snow rotate: false - xy: 861, 441 + xy: 265, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow1 rotate: false - xy: 861, 441 + xy: 265, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-solar-panel rotate: false - xy: 871, 441 + xy: 265, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 solar-panel rotate: false - xy: 871, 441 + xy: 265, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-sortedunloader rotate: false - xy: 881, 441 + xy: 703, 245 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sortedunloader rotate: false - xy: 881, 441 + xy: 703, 245 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-sorter rotate: false - xy: 891, 443 + xy: 703, 195 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sorter rotate: false - xy: 891, 443 + xy: 703, 195 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-space rotate: false - xy: 901, 443 + xy: 279, 35 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 space rotate: false - xy: 901, 443 + xy: 279, 35 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-splitter rotate: false - xy: 911, 443 + xy: 275, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 splitter rotate: false - xy: 911, 443 + xy: 275, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-steelconveyor rotate: false - xy: 921, 443 + xy: 275, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyor rotate: false - xy: 921, 443 + xy: 275, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-steeldrill rotate: false - xy: 931, 443 + xy: 275, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-steelwall rotate: false - xy: 941, 443 + xy: 285, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall rotate: false - xy: 941, 443 + xy: 285, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-steelwall-large rotate: false - xy: 345, 117 + xy: 381, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 steelwall-large rotate: false - xy: 345, 117 + xy: 381, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-stone rotate: false - xy: 951, 443 + xy: 285, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone1 rotate: false - xy: 951, 443 + xy: 285, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-stoneformer rotate: false - xy: 961, 440 + xy: 285, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneformer rotate: false - xy: 961, 440 + xy: 285, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-swarmer rotate: false - xy: 363, 117 + xy: 399, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-thermal-generator rotate: false - xy: 381, 117 + xy: 417, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 thermal-generator rotate: false - xy: 381, 117 + xy: 417, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-thermal-pump rotate: false - xy: 399, 117 + xy: 213, 98 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 thermal-pump rotate: false - xy: 399, 117 + xy: 213, 98 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-thorium rotate: false - xy: 971, 440 + xy: 447, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium1 rotate: false - xy: 971, 440 + xy: 447, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-titanium rotate: false - xy: 981, 440 + xy: 447, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium1 rotate: false - xy: 981, 440 + xy: 447, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-titaniumdrill rotate: false - xy: 991, 437 + xy: 697, 329 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-titaniumwall rotate: false - xy: 1001, 437 + xy: 697, 319 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall rotate: false - xy: 1001, 437 + xy: 697, 319 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-titaniumwall-large rotate: false - xy: 417, 117 + xy: 231, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 titaniumwall-large rotate: false - xy: 417, 117 + xy: 231, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-turbine-generator rotate: false - xy: 213, 98 + xy: 207, 80 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 turbine-generator rotate: false - xy: 213, 98 + xy: 207, 80 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-unloader rotate: false - xy: 1011, 437 + xy: 707, 329 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 unloader rotate: false - xy: 1011, 437 + xy: 707, 329 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-vault rotate: false - xy: 493, 157 + xy: 519, 157 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 vault rotate: false - xy: 493, 157 + xy: 519, 157 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-icon-warpgate rotate: false - xy: 519, 157 + xy: 545, 157 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 warpgate rotate: false - xy: 519, 157 + xy: 545, 157 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-icon-water rotate: false - xy: 607, 110 + xy: 697, 309 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water rotate: false - xy: 607, 110 + xy: 697, 309 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-waterextractor rotate: false - xy: 231, 99 + xy: 207, 62 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-wave rotate: false - xy: 207, 80 + xy: 291, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 -mech-icon-standard-mech +mech-icon-alpha-mech rotate: false - xy: 319, 85 + xy: 991, 419 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +mech-icon-delta-mech + rotate: false + xy: 991, 419 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +mech-icon-omega-mech + rotate: false + xy: 991, 419 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +mech-icon-tau-mech + rotate: false + xy: 991, 419 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mech-icon-standard-ship rotate: false - xy: 333, 85 + xy: 1005, 419 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 item-armor-piercing-bullet rotate: false - xy: 345, 30 + xy: 746, 278 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-composite-flak rotate: false - xy: 355, 21 + xy: 726, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-explosive-shell rotate: false - xy: 365, 31 + xy: 705, 259 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-frag-shell rotate: false - xy: 355, 11 + xy: 715, 259 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-homing-bullet rotate: false - xy: 355, 1 + xy: 725, 259 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-incendiary-mortar-shell rotate: false - xy: 365, 21 + xy: 736, 268 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead-bullet rotate: false - xy: 365, 1 + xy: 735, 258 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-scythe-missile rotate: false - xy: 375, 1 + xy: 723, 249 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-mortar-shell rotate: false - xy: 395, 21 + xy: 723, 239 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-swarm-missile rotate: false - xy: 405, 31 + xy: 733, 238 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium-shell rotate: false - xy: 405, 21 + xy: 707, 229 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-tracer-bullet rotate: false - xy: 405, 11 + xy: 709, 219 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-biomatter rotate: false - xy: 345, 20 + xy: 756, 278 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-blast-compound rotate: false - xy: 345, 10 + xy: 706, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-coal rotate: false - xy: 355, 31 + xy: 716, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-iron rotate: false - xy: 375, 31 + xy: 746, 268 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead rotate: false - xy: 365, 11 + xy: 756, 268 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-phase-matter rotate: false - xy: 375, 21 + xy: 745, 258 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-plasteel rotate: false - xy: 385, 31 + xy: 755, 258 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-sand rotate: false - xy: 375, 11 + xy: 713, 249 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 385, 21 + xy: 733, 248 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-steel rotate: false - xy: 395, 31 + xy: 743, 248 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-stone rotate: false - xy: 385, 11 + xy: 753, 248 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 385, 1 + xy: 713, 239 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thermite rotate: false - xy: 395, 11 + xy: 743, 238 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 395, 1 + xy: 753, 238 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 415, 31 + xy: 717, 229 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -standard-mech +alpha-mech rotate: false - xy: 303, 71 + xy: 195, 124 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +delta-mech + rotate: false + xy: 195, 124 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +omega-mech + rotate: false + xy: 195, 124 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +tau-mech + rotate: false + xy: 195, 124 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +alpha-mech-base + rotate: false + xy: 612, 296 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +delta-mech-base + rotate: false + xy: 612, 296 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +omega-mech-base + rotate: false + xy: 612, 296 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +tau-mech-base + rotate: false + xy: 612, 296 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +scout-base + rotate: false + xy: 612, 296 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +alpha-mech-leg + rotate: false + xy: 572, 244 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +delta-mech-leg + rotate: false + xy: 572, 244 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +omega-mech-leg + rotate: false + xy: 572, 244 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +tau-mech-leg + rotate: false + xy: 572, 244 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +scout-leg + rotate: false + xy: 572, 244 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-ship rotate: false - xy: 289, 43 + xy: 641, 172 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -3633,7 +3766,7 @@ button-map-over index: -1 button-select rotate: false - xy: 545, 157 + xy: 571, 157 size: 24, 24 split: 4, 4, 4, 4 orig: 24, 24 @@ -3669,7 +3802,7 @@ check-over index: -1 clear rotate: false - xy: 331, 73 + xy: 279, 97 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -3697,7 +3830,7 @@ discord-banner-over index: -1 controller-cursor rotate: false - xy: 291, 99 + xy: 327, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -3732,637 +3865,637 @@ icon-admin-small index: -1 icon-areaDelete rotate: false - xy: 303, 31 + xy: 267, 43 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow rotate: false - xy: 535, 121 + xy: 643, 120 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-arrow-16 rotate: false - xy: 535, 121 + xy: 643, 120 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-arrow-down rotate: false - xy: 317, 45 + xy: 251, 1 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-left rotate: false - xy: 331, 61 + xy: 263, 1 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-right rotate: false - xy: 343, 73 + xy: 463, 120 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-up rotate: false - xy: 343, 61 + xy: 475, 120 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-back rotate: false - xy: 553, 121 + xy: 633, 214 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-ban rotate: false - xy: 677, 331 + xy: 123, 2 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-break rotate: false - xy: 571, 121 + xy: 737, 426 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-cancel rotate: false - xy: 589, 136 + xy: 755, 430 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-chat rotate: false - xy: 355, 73 + xy: 487, 120 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-check rotate: false - xy: 589, 118 + xy: 773, 431 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-crafting rotate: false - xy: 355, 61 + xy: 463, 108 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-cursor rotate: false - xy: 367, 73 + xy: 475, 108 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-defense rotate: false - xy: 367, 61 + xy: 487, 108 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-dev-builds rotate: false - xy: 693, 331 + xy: 139, 2 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-discord rotate: false - xy: 123, 2 + xy: 155, 2 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-distribution rotate: false - xy: 379, 73 + xy: 499, 109 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-donate rotate: false - xy: 139, 2 + xy: 171, 2 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-dots rotate: false - xy: 155, 2 + xy: 607, 138 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-editor rotate: false - xy: 171, 2 + xy: 423, 65 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-egg rotate: false - xy: 709, 331 + xy: 279, 45 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-elevation rotate: false - xy: 607, 120 + xy: 791, 431 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-eraser rotate: false - xy: 625, 120 + xy: 809, 431 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-exit rotate: false - xy: 725, 331 + xy: 741, 338 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-file rotate: false - xy: 643, 120 + xy: 731, 408 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-file-image rotate: false - xy: 661, 287 + xy: 731, 390 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-file-text rotate: false - xy: 607, 138 + xy: 757, 338 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-fill rotate: false - xy: 679, 277 + xy: 225, 80 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-floppy rotate: false - xy: 715, 153 + xy: 626, 285 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-floppy-16 rotate: false - xy: 697, 277 + xy: 225, 62 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-folder rotate: false - xy: 731, 153 + xy: 624, 269 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-folder-parent rotate: false - xy: 737, 428 + xy: 642, 285 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-github rotate: false - xy: 731, 412 + xy: 640, 269 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-google-play rotate: false - xy: 731, 396 + xy: 658, 289 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-grid rotate: false - xy: 715, 277 + xy: 217, 44 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-hold rotate: false - xy: 379, 61 + xy: 511, 109 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-holdDelete rotate: false - xy: 391, 73 + xy: 523, 109 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-home rotate: false - xy: 753, 432 + xy: 674, 287 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-host rotate: false - xy: 733, 369 + xy: 639, 242 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-info rotate: false - xy: 391, 61 + xy: 535, 109 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-itch.io rotate: false - xy: 225, 82 + xy: 690, 287 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-items-none rotate: false - xy: 325, 30 + xy: 736, 288 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-line rotate: false - xy: 733, 277 + xy: 215, 26 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-link rotate: false - xy: 225, 66 + xy: 658, 273 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-liquid rotate: false - xy: 403, 73 + xy: 547, 109 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-load rotate: false - xy: 241, 83 + xy: 674, 271 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-load-image rotate: false - xy: 661, 269 + xy: 215, 8 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-load-map rotate: false - xy: 679, 259 + xy: 235, 44 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-loading rotate: false - xy: 697, 259 + xy: 233, 26 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-logic rotate: false - xy: 403, 61 + xy: 559, 109 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu rotate: false - xy: 415, 73 + xy: 571, 109 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu-large rotate: false - xy: 715, 259 + xy: 233, 8 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-none rotate: false - xy: 415, 61 + xy: 659, 229 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pause rotate: false - xy: 753, 386 + xy: 671, 227 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pencil rotate: false - xy: 733, 259 + xy: 749, 408 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-pencil-small rotate: false - xy: 241, 67 + xy: 690, 271 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-pick rotate: false - xy: 661, 251 + xy: 749, 390 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-play rotate: false - xy: 641, 194 + xy: 683, 227 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-play-2 rotate: false - xy: 259, 93 + xy: 657, 257 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-players rotate: false - xy: 641, 182 + xy: 695, 227 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-power rotate: false - xy: 641, 170 + xy: 651, 217 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-production rotate: false - xy: 626, 289 + xy: 655, 205 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-quit rotate: false - xy: 275, 93 + xy: 655, 241 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-redo rotate: false - xy: 679, 241 + xy: 741, 372 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-refresh rotate: false - xy: 257, 77 + xy: 673, 255 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rename rotate: false - xy: 273, 77 + xy: 689, 255 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-resize rotate: false - xy: 697, 241 + xy: 741, 354 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-rotate rotate: false - xy: 257, 61 + xy: 671, 239 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-arrow rotate: false - xy: 273, 61 + xy: 687, 239 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-left rotate: false - xy: 241, 51 + xy: 827, 433 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-right rotate: false - xy: 225, 50 + xy: 843, 435 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save rotate: false - xy: 257, 45 + xy: 859, 435 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save-image rotate: false - xy: 715, 241 + xy: 759, 372 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-save-map rotate: false - xy: 733, 241 + xy: 759, 354 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-settings rotate: false - xy: 638, 289 + xy: 655, 193 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-terrain rotate: false - xy: 661, 233 + xy: 243, 81 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-tools rotate: false - xy: 273, 45 + xy: 875, 435 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-touch rotate: false - xy: 649, 267 + xy: 655, 181 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-touchDelete rotate: false - xy: 649, 255 + xy: 655, 169 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-trash rotate: false - xy: 241, 35 + xy: 891, 437 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-trash-16 rotate: false - xy: 679, 223 + xy: 243, 63 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-trello rotate: false - xy: 257, 29 + xy: 907, 437 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-tutorial rotate: false - xy: 273, 29 + xy: 923, 437 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-undo rotate: false - xy: 697, 223 + xy: 261, 91 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-units rotate: false - xy: 649, 243 + xy: 655, 157 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-weapon rotate: false - xy: 649, 231 + xy: 673, 215 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-wiki rotate: false - xy: 633, 216 + xy: 939, 437 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-zoom rotate: false - xy: 715, 223 + xy: 261, 73 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-zoom-small rotate: false - xy: 747, 412 + xy: 965, 434 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -4440,7 +4573,7 @@ selection index: -1 slider rotate: false - xy: 217, 52 + xy: 463, 152 size: 1, 8 orig: 1, 8 offset: 0, 0 @@ -4535,70 +4668,42 @@ window-empty index: -1 drone rotate: false - xy: 623, 138 + xy: 991, 433 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout rotate: false - xy: 389, 85 - size: 12, 12 - orig: 12, 12 - offset: 0, 0 - index: -1 -scout-base - rotate: false - xy: 403, 85 - size: 12, 12 - orig: 12, 12 - offset: 0, 0 - index: -1 -standard-mech-base - rotate: false - xy: 403, 85 - size: 12, 12 - orig: 12, 12 - offset: 0, 0 - index: -1 -scout-leg - rotate: false - xy: 417, 85 - size: 12, 12 - orig: 12, 12 - offset: 0, 0 - index: -1 -standard-mech-leg - rotate: false - xy: 417, 85 + xy: 649, 106 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol rotate: false - xy: 317, 71 + xy: 435, 121 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-booster-1 rotate: false - xy: 289, 29 + xy: 449, 122 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-booster-2 rotate: false - xy: 303, 43 + xy: 435, 107 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-flame rotate: false - xy: 331, 50 + xy: 691, 192 size: 9, 9 orig: 9, 9 offset: 0, 0 @@ -4612,77 +4717,77 @@ beam-equip index: -1 blaster rotate: false - xy: 342, 51 + xy: 981, 430 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster-equip rotate: false - xy: 612, 296 + xy: 637, 138 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 clustergun rotate: false - xy: 651, 160 + xy: 737, 318 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun-equip rotate: false - xy: 651, 150 + xy: 747, 328 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 generic-weapon rotate: false - xy: 197, 2 + xy: 773, 340 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shockgun rotate: false - xy: 485, 122 + xy: 355, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 485, 112 + xy: 365, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster rotate: false - xy: 645, 100 + xy: 405, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster-equip rotate: false - xy: 655, 100 + xy: 415, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan rotate: false - xy: 445, 96 + xy: 425, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan-equip rotate: false - xy: 455, 92 + xy: 435, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 09aad14a24..771fdda872 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/content/Mechs.java b/core/src/io/anuke/mindustry/content/Mechs.java index 934281d8ce..496d73e5b7 100644 --- a/core/src/io/anuke/mindustry/content/Mechs.java +++ b/core/src/io/anuke/mindustry/content/Mechs.java @@ -7,22 +7,46 @@ import io.anuke.mindustry.type.Mech; import io.anuke.mindustry.type.Upgrade; public class Mechs implements ContentList { - public static Mech standard, standardShip; + public static Mech alpha, delta, tau, omega, standardShip; + + /**These are not new mechs, just re-assignments for convenience.*/ + public static Mech starterDesktop, starterMobile; @Override public void load() { - standard = new Mech("standard-mech", false){{ - drillPower = 1; + alpha = new Mech("alpha-mech", false){{ + drillPower = 2; speed = 1.1f; maxSpeed = 1.1f; }}; + delta = new Mech("delta-mech", false){{ + drillPower = -1; + speed = 1.5f; + maxSpeed = 1.5f; + }}; + + tau = new Mech("tau-mech", false){{ + drillPower = 2; + speed = 1.1f; + maxSpeed = 1.1f; + }}; + + omega = new Mech("omega-mech", false){{ + drillPower = 1; + speed = 1.0f; + maxSpeed = 1.0f; + }}; + standardShip = new Mech("standard-ship", true){{ drillPower = 1; speed = 0.4f; maxSpeed = 3f; }}; + + starterDesktop = alpha; + starterMobile = standardShip; } @Override diff --git a/core/src/io/anuke/mindustry/content/Recipes.java b/core/src/io/anuke/mindustry/content/Recipes.java index 96ba047efe..67583cd21a 100644 --- a/core/src/io/anuke/mindustry/content/Recipes.java +++ b/core/src/io/anuke/mindustry/content/Recipes.java @@ -6,6 +6,7 @@ import io.anuke.mindustry.game.Content; import io.anuke.mindustry.type.ContentList; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Recipe; + import static io.anuke.mindustry.type.Category.*; public class Recipes implements ContentList{ @@ -126,11 +127,9 @@ public class Recipes implements ContentList{ new Recipe(units, UnitBlocks.overdriveProjector, new ItemStack(Items.iron, 1)); new Recipe(units, UnitBlocks.shieldProjector, new ItemStack(Items.iron, 1)); - - //new Recipe(units, UnitBlocks.vtolFactory, new ItemStack(Items.steel, 10)); - //new Recipe(units, UnitBlocks.droneFactory, new ItemStack(Items.steel, 10)); - //new Recipe(units, UnitBlocks.droneFactory, new ItemStack(Items.steel, 10)); - //new Recipe(units, UnitBlocks.walkerFactory, new ItemStack(Items.steel, 10)); + new Recipe(units, UpgradeBlocks.omegaFactory, new ItemStack(Items.iron, 1)); + new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.iron, 1)); + new Recipe(units, UpgradeBlocks.tauFactory, new ItemStack(Items.iron, 1)); new Recipe(units, DebugBlocks.itemSource, new ItemStack(Items.steel, 10)).setDebug(); new Recipe(units, DebugBlocks.itemVoid, new ItemStack(Items.steel, 10)).setDebug(); diff --git a/core/src/io/anuke/mindustry/content/blocks/UpgradeBlocks.java b/core/src/io/anuke/mindustry/content/blocks/UpgradeBlocks.java new file mode 100644 index 0000000000..d54d7fb877 --- /dev/null +++ b/core/src/io/anuke/mindustry/content/blocks/UpgradeBlocks.java @@ -0,0 +1,27 @@ +package io.anuke.mindustry.content.blocks; + +import io.anuke.mindustry.content.Mechs; +import io.anuke.mindustry.world.Block; +import io.anuke.mindustry.world.blocks.production.MechFactory; + +public class UpgradeBlocks extends BlockList { + public static Block deltaFactory, tauFactory, omegaFactory; + + @Override + public void load() { + deltaFactory = new MechFactory("delta-mech-factory"){{ + mech = Mechs.delta; + size = 2; + }}; + + tauFactory = new MechFactory("tau-mech-factory"){{ + mech = Mechs.tau; + size = 2; + }}; + + omegaFactory = new MechFactory("omega-mech-factory"){{ + mech = Mechs.omega; + size = 3; + }}; + } +} diff --git a/core/src/io/anuke/mindustry/core/ContentLoader.java b/core/src/io/anuke/mindustry/core/ContentLoader.java index 3e56b802c9..1474ca6353 100644 --- a/core/src/io/anuke/mindustry/core/ContentLoader.java +++ b/core/src/io/anuke/mindustry/core/ContentLoader.java @@ -82,6 +82,7 @@ public class ContentLoader { new UnitBlocks(), new PowerBlocks(), new CraftingBlocks(), + new UpgradeBlocks(), //recipes new Recipes(), diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index 3db8528fa7..6dd98745f4 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -195,7 +195,7 @@ public class Control extends Module{ Player player = new Player(); player.name = Settings.getString("name"); - player.mech = mobile ? Mechs.standardShip : Mechs.standard; + player.mech = mobile ? Mechs.starterMobile : Mechs.starterDesktop; player.color.set(Settings.getInt("color-" + index)); player.isLocal = true; player.playerIndex = index; diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index e7357665ac..71cded2a3a 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -137,7 +137,7 @@ public class NetServer extends Module{ player.usid = packet.usid; player.name = packet.name; player.uuid = uuid; - player.mech = packet.mobile ? Mechs.standardShip : Mechs.standard; + player.mech = packet.mobile ? Mechs.starterMobile : Mechs.starterDesktop; player.dead = true; player.setNet(player.x, player.y); player.color.set(packet.color); diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 2ab01756cc..fd8a1933db 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -8,7 +8,6 @@ import com.badlogic.gdx.utils.Queue; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.Vars; -import io.anuke.mindustry.content.Mechs; import io.anuke.mindustry.entities.effect.ItemDrop; import io.anuke.mindustry.entities.traits.BuilderTrait; import io.anuke.mindustry.entities.traits.CarriableTrait; @@ -62,7 +61,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait { public String uuid, usid; public boolean isAdmin, isTransferring, isShooting; public Color color = new Color(); - public Mech mech = Mechs.standard; + public Mech mech; public int clientid = -1; public int playerIndex = 0; @@ -87,7 +86,18 @@ public class Player extends Unit implements BuilderTrait, CarryTrait { //region unit and event overrides, utility methods - @Override + + @Override + public int getItemCapacity() { + return mech.itemCapacity; + } + + @Override + public int getAmmoCapacity() { + return mech.ammoCapacity; + } + + @Override public void interpolate() { super.interpolate(); @@ -122,7 +132,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait { @Override public float getBuildPower(Tile tile) { - return 1f; + return mech.buildPower; } @Override diff --git a/core/src/io/anuke/mindustry/entities/Unit.java b/core/src/io/anuke/mindustry/entities/Unit.java index f1e27f7a1d..f9714e315d 100644 --- a/core/src/io/anuke/mindustry/entities/Unit.java +++ b/core/src/io/anuke/mindustry/entities/Unit.java @@ -35,7 +35,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ /**Maximum absolute value of a velocity vector component.*/ public static final float maxAbsVelocity = 127f/velocityPercision; - public UnitInventory inventory = new UnitInventory(100, 100); + public UnitInventory inventory = new UnitInventory(this); public float rotation; protected Interpolator interpolator = new Interpolator(); @@ -259,6 +259,12 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ public void drawUnder(){} public void drawOver(){} + public boolean isInfiniteAmmo(){ + return false; + } + + public abstract int getItemCapacity(); + public abstract int getAmmoCapacity(); public abstract float getArmor(); public abstract boolean acceptsAmmo(Item item); public abstract void addAmmo(Item item); diff --git a/core/src/io/anuke/mindustry/entities/UnitInventory.java b/core/src/io/anuke/mindustry/entities/UnitInventory.java index 9d961b2ac4..1f3ea566dd 100644 --- a/core/src/io/anuke/mindustry/entities/UnitInventory.java +++ b/core/src/io/anuke/mindustry/entities/UnitInventory.java @@ -14,28 +14,21 @@ public class UnitInventory implements Saveable{ private Array ammos = new Array<>(); private int totalAmmo; private ItemStack item = new ItemStack(Items.stone, 0); - //TODO move these somewhere else so they're not variables? - private int capacity, ammoCapacity; - private boolean infiniteAmmo; - public UnitInventory(int capacity, int ammoCapacity) { - this.capacity = capacity; - this.ammoCapacity = ammoCapacity; + private final Unit unit; + + public UnitInventory(Unit unit) { + this.unit = unit; } public boolean isFull(){ - return item != null && item.amount >= capacity; - } - - public void setInfiniteAmmo(boolean infinite){ - infiniteAmmo = infinite; + return item != null && item.amount >= unit.getItemCapacity(); } @Override public void writeSave(DataOutput stream) throws IOException { stream.writeShort(item.amount); stream.writeByte(item.item.id); - stream.writeBoolean(infiniteAmmo); stream.writeShort(totalAmmo); stream.writeByte(ammos.size); for(int i = 0; i < ammos.size; i ++){ @@ -48,7 +41,6 @@ public class UnitInventory implements Saveable{ public void readSave(DataInput stream) throws IOException { short iamount = stream.readShort(); byte iid = stream.readByte(); - infiniteAmmo = stream.readBoolean(); this.totalAmmo = stream.readShort(); byte ammoa = stream.readByte(); for(int i = 0; i < ammoa; i ++){ @@ -75,7 +67,7 @@ public class UnitInventory implements Saveable{ } public void useAmmo(){ - if(infiniteAmmo) return; + if(unit.isInfiniteAmmo()) return; AmmoEntry entry = ammos.peek(); entry.amount --; if(entry.amount == 0) ammos.pop(); @@ -87,11 +79,11 @@ public class UnitInventory implements Saveable{ } public int ammoCapacity(){ - return ammoCapacity; + return unit.getAmmoCapacity(); } public boolean canAcceptAmmo(AmmoType type){ - return totalAmmo + type.quantityMultiplier <= ammoCapacity; + return totalAmmo + type.quantityMultiplier <= unit.getAmmoCapacity(); } public void addAmmo(AmmoType type){ @@ -115,7 +107,7 @@ public class UnitInventory implements Saveable{ } public int capacity(){ - return capacity; + return unit.getItemCapacity(); } public boolean isEmpty(){ @@ -124,18 +116,18 @@ public class UnitInventory implements Saveable{ public int itemCapacityUsed(Item type){ if(canAcceptItem(type)){ - return !hasItem() ? capacity : (capacity - item.amount); + return !hasItem() ? unit.getItemCapacity() : (unit.getItemCapacity() - item.amount); }else{ - return capacity; + return unit.getItemCapacity(); } } public boolean canAcceptItem(Item type){ - return !hasItem() || (item.item == type && capacity - item.amount > 0); + return !hasItem() || (item.item == type && unit.getItemCapacity() - item.amount > 0); } public boolean canAcceptItem(Item type, int amount){ - return !hasItem() || (item.item == type && item.amount + amount <= capacity); + return !hasItem() || (item.item == type && item.amount + amount <= unit.getItemCapacity()); } public void clear(){ diff --git a/core/src/io/anuke/mindustry/entities/Units.java b/core/src/io/anuke/mindustry/entities/Units.java index db9bb1bb82..3c04d3b59d 100644 --- a/core/src/io/anuke/mindustry/entities/Units.java +++ b/core/src/io/anuke/mindustry/entities/Units.java @@ -76,7 +76,7 @@ public class Units { boolean[] value = new boolean[1]; Units.getNearby(rect, unit -> { - if(value[0] || !pred.test(unit)) return; + if(value[0] || !pred.test(unit) || unit.isDead()) return; if(!unit.isFlying()){ unit.getHitbox(hitrect); diff --git a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java index afd9198351..aab6dcf8b0 100644 --- a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java @@ -53,7 +53,6 @@ public abstract class BaseUnit extends Unit{ /**Sets this to a 'wave' unit, which means it has slightly different AI and will not run out of ammo.*/ public void setWave(){ isWave = true; - inventory.setInfiniteAmmo(true); } public void rotate(float angle){ @@ -115,6 +114,21 @@ public abstract class BaseUnit extends Unit{ return null; } + @Override + public int getItemCapacity() { + return type.itemCapacity; + } + + @Override + public int getAmmoCapacity() { + return type.ammoCapacity; + } + + @Override + public boolean isInfiniteAmmo() { + return isWave; + } + @Override public void interpolate() { super.interpolate(); diff --git a/core/src/io/anuke/mindustry/entities/units/UnitType.java b/core/src/io/anuke/mindustry/entities/units/UnitType.java index 413c4cc60b..8d68575061 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitType.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitType.java @@ -31,6 +31,8 @@ public class UnitType { public float retreatPercent = 0.2f; public float armor = 0f; public float carryWeight = 1f; + public int ammoCapacity = 100; + public int itemCapacity = 100; public ObjectMap ammo = new ObjectMap<>(); public UnitType(String name, UnitCreator creator){ diff --git a/core/src/io/anuke/mindustry/type/Mech.java b/core/src/io/anuke/mindustry/type/Mech.java index 93cf31060d..22804c6236 100644 --- a/core/src/io/anuke/mindustry/type/Mech.java +++ b/core/src/io/anuke/mindustry/type/Mech.java @@ -6,14 +6,22 @@ import io.anuke.ucore.graphics.Draw; public class Mech extends Upgrade { public boolean flying; + public float speed = 1.1f; public float maxSpeed = 1.1f; public float mass = 1f; + public float armor = 1f; + public int drillPower = -1; public float carryWeight = 1f; - public float armor = 1f; + public float buildPower = 1f; + public boolean canRepair = false; + public Weapon weapon = Weapons.blaster; + public int itemCapacity = 30; + public int ammoCapacity = 100; + public TextureRegion baseRegion, legRegion, region, iconRegion; public Mech(String name, boolean flying){ diff --git a/core/src/io/anuke/mindustry/type/Upgrade.java b/core/src/io/anuke/mindustry/type/Upgrade.java index 46817cb3c4..a42c986e45 100644 --- a/core/src/io/anuke/mindustry/type/Upgrade.java +++ b/core/src/io/anuke/mindustry/type/Upgrade.java @@ -3,6 +3,8 @@ package io.anuke.mindustry.type; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.game.UnlockableContent; +import io.anuke.ucore.function.Consumer; +import io.anuke.ucore.function.Predicate; import io.anuke.ucore.util.Bundles; public abstract class Upgrade implements UnlockableContent{ @@ -45,6 +47,14 @@ public abstract class Upgrade implements UnlockableContent{ return all(); } + public static void forEach(Consumer type, Predicate pred){ + for(Upgrade u : upgrades){ + if(pred.test(u)){ + type.accept((T)u); + } + } + } + public static Array all() { return upgrades; } diff --git a/core/src/io/anuke/mindustry/world/blocks/production/MechFactory.java b/core/src/io/anuke/mindustry/world/blocks/production/MechFactory.java index 9f66c7a352..854bcaad9d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/MechFactory.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/MechFactory.java @@ -1,19 +1,18 @@ package io.anuke.mindustry.world.blocks.production; import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.Array; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; +import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.gen.CallBlocks; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.net.In; import io.anuke.mindustry.type.Mech; -import io.anuke.mindustry.type.Upgrade; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Effects; @@ -21,35 +20,49 @@ import io.anuke.ucore.core.Graphics; import io.anuke.ucore.core.Timers; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.scene.style.TextureRegionDrawable; -import io.anuke.ucore.scene.ui.ButtonGroup; -import io.anuke.ucore.scene.ui.ImageButton; -import io.anuke.ucore.scene.ui.layout.Table; import io.anuke.ucore.util.Mathf; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; +import static io.anuke.mindustry.Vars.tilesize; + public class MechFactory extends Block{ + protected float powerUse = 0.1f; + protected Mech mech; public MechFactory(String name){ super(name); - solid = true; hasItems = true; - destructible = true; - configurable = true; + hasPower = true; update = true; + consumesTap = true; + solidifes = true; + } + + @Override + public boolean isSolidFor(Tile tile) { + MechFactoryEntity entity = tile.entity(); + return !entity.open; + } + + @Override + public void tapped(Tile tile, Player player) { + + if(checkValidTap(tile, player)){ + CallBlocks.onMechFactoryBegin(player, tile); + } } @Override public void draw(Tile tile) { MechFactoryEntity entity = tile.entity(); - Draw.rect(name, tile.drawx(), tile.drawy()); + Draw.rect(entity.open ? name + "-open" : name, tile.drawx(), tile.drawy()); - if(entity.current != null) { - TextureRegion region = entity.current.region; + if(entity.player != null) { + TextureRegion region = mech.iconRegion; Shaders.build.region = region; Shaders.build.progress = entity.progress; @@ -77,136 +90,87 @@ public class MechFactory extends Block{ public void update(Tile tile) { MechFactoryEntity entity = tile.entity(); - if(entity.current != null){ - entity.heat = Mathf.lerpDelta(entity.heat, 1f, 0.1f); - entity.time += Timers.delta(); - entity.progress += 1f / Vars.respawnduration; + float used = Math.min(powerCapacity, Timers.delta() * powerUse); + + if(entity.open){ + if(!Units.anyEntities(tile)){ + entity.open = false; + }else{ + entity.heat = Mathf.lerpDelta(entity.heat, 0f, 0.1f); + } + } + + if(entity.player != null){ + if(entity.power.amount >= used || true) { + entity.heat = Mathf.lerpDelta(entity.heat, 1f, 0.1f); + entity.progress += 1f / Vars.respawnduration; + entity.power.amount -= used; + }else{ + entity.heat = Mathf.lerpDelta(entity.heat, 0f, 0.05f); + } + + entity.time += entity.heat; if(entity.progress >= 1f){ - CallBlocks.onMechFactoryDone(tile, entity.current); + CallBlocks.onMechFactoryDone(tile); } }else{ + if(Units.anyEntities(tile, 4f, unit -> unit.getTeam() == entity.getTeam() && unit instanceof Player)){ + entity.open = true; + } + entity.heat = Mathf.lerpDelta(entity.heat, 0f, 0.1f); } } - @Override - public void buildTable(Tile tile, Table table) { - MechFactoryEntity entity = tile.entity(); - - Table cont = new Table(); - - //no result to show, build weapon selection menu - if(entity.result == null) { - //show weapon to select and build - showSelect(tile, cont); - }else{ - //show weapon to withdraw - showResult(tile, cont); - } - - table.add(cont); - } - - protected void showSelect(Tile tile, Table cont){ - MechFactoryEntity entity = tile.entity(); - - Array items = Upgrade.all(); - - ButtonGroup group = new ButtonGroup<>(); - group.setMinCheckCount(0); - - int i = 0; - - for (Upgrade upgrade : items) { - if (!(upgrade instanceof Mech)) continue; - Mech mech = (Mech) upgrade; - - ImageButton button = cont.addImageButton("white", "toggle", 24, () -> CallBlocks.setMechFactory(null, tile, mech)) - .size(38, 42).padBottom(-5.1f).group(group).get(); - button.getStyle().imageUp = new TextureRegionDrawable(new TextureRegion(mech.region)); - button.setChecked(entity.current == mech); - - if (i++ % 4 == 3) { - cont.row(); - } - } - - cont.update(() -> { - //show result when done - if(entity.result != null){ - cont.clear(); - cont.update(null); - showResult(tile, cont); - } - }); - } - - protected void showResult(Tile tile, Table cont){ - MechFactoryEntity entity = tile.entity(); - - Mech mech = entity.result; - - ImageButton button = cont.addImageButton("white", "toggle", 24, () -> CallBlocks.pickupMechFactory(null, tile)) - .size(38, 42).padBottom(-5.1f).get(); - button.getStyle().imageUp = new TextureRegionDrawable(new TextureRegion(mech.region)); - button.setChecked(entity.current == mech); - - cont.update(() -> { - //show selection menu when result disappears - if(entity.result == null){ - cont.clear(); - cont.update(null); - showSelect(tile, cont); - } - }); - } - @Override public TileEntity getEntity() { return new MechFactoryEntity(); } @Remote(targets = Loc.both, called = Loc.server, in = In.blocks, forward = true) - public static void pickupMechFactory(Player player, Tile tile){ - MechFactoryEntity entity = tile.entity(); + public static void onMechFactoryBegin(Player player, Tile tile){ + if(!checkValidTap(tile, player)) return; - if(entity.current != null){ - player.mech = entity.current; - entity.current = null; - entity.progress = 0; - entity.result = null; - } - } - - @Remote(targets = Loc.both, called = Loc.server, in = In.blocks, forward = true) - public static void setMechFactory(Player player, Tile tile, Mech weapon){ MechFactoryEntity entity = tile.entity(); - entity.current = weapon; entity.progress = 0f; - entity.heat = 0f; + entity.player = player; + + player.rotation = 90f; + player.baseRotation = 90f; + player.set(entity.x, entity.y); + player.setDead(true); + player.setRespawning(true); } @Remote(called = Loc.server, in = In.blocks) - public static void onMechFactoryDone(Tile tile, Mech result){ + public static void onMechFactoryDone(Tile tile){ MechFactoryEntity entity = tile.entity(); + Effects.effect(Fx.spawn, entity); - entity.current = null; + + entity.player.mech = ((MechFactory)tile.block()).mech; entity.progress = 0; - entity.result = result; + entity.player.heal(); + entity.player.setDead(false); + entity.player = null; + } + + protected static boolean checkValidTap(Tile tile, Player player){ + MechFactoryEntity entity = tile.entity(); + return Math.abs(player.x - tile.drawx()) <= tile.block().size * tilesize / 2f && + Math.abs(player.y - tile.drawy()) <= tile.block().size * tilesize / 2f && entity.player == null; } public class MechFactoryEntity extends TileEntity{ - public Mech current; - public Mech result; + public Player player; public float progress; public float time; public float heat; + public boolean open; @Override public void write(DataOutputStream stream) throws IOException { - stream.writeByte(current == null ? -1 : current.id); - stream.writeByte(result == null ? -1 : result.id); stream.writeFloat(progress); stream.writeFloat(time); stream.writeFloat(heat); @@ -214,18 +178,9 @@ public class MechFactory extends Block{ @Override public void read(DataInputStream stream) throws IOException { - byte id = stream.readByte(), rid = stream.readByte(); progress = stream.readFloat(); time = stream.readFloat(); heat = stream.readFloat(); - - if(id != -1){ - current = Upgrade.getByID(id); - } - - if(rid != -1){ - result = Upgrade.getByID(rid); - } } } }