diff --git a/core/assets-raw/sprites/units/crawler-base.png b/core/assets-raw/sprites/units/crawler-base.png index 509f802a94..bb890e32b6 100644 Binary files a/core/assets-raw/sprites/units/crawler-base.png and b/core/assets-raw/sprites/units/crawler-base.png differ diff --git a/core/assets-raw/sprites/units/crawler-cell.png b/core/assets-raw/sprites/units/crawler-cell.png index f70380120d..c77471dc6b 100644 Binary files a/core/assets-raw/sprites/units/crawler-cell.png and b/core/assets-raw/sprites/units/crawler-cell.png differ diff --git a/core/assets-raw/sprites/units/crawler-leg.png b/core/assets-raw/sprites/units/crawler-leg.png index a3c3fffbc6..a641e7f743 100644 Binary files a/core/assets-raw/sprites/units/crawler-leg.png and b/core/assets-raw/sprites/units/crawler-leg.png differ diff --git a/core/assets-raw/sprites/units/crawler.png b/core/assets-raw/sprites/units/crawler.png index 88f81e6476..5a60b1de27 100644 Binary files a/core/assets-raw/sprites/units/crawler.png and b/core/assets-raw/sprites/units/crawler.png differ diff --git a/core/assets-raw/sprites/weapons/artillery-equip.png b/core/assets-raw/sprites/weapons/artillery-equip.png index 38f11655f8..935938e3a3 100644 Binary files a/core/assets-raw/sprites/weapons/artillery-equip.png and b/core/assets-raw/sprites/weapons/artillery-equip.png differ diff --git a/core/assets-raw/sprites/weapons/bomber-equip.png b/core/assets-raw/sprites/weapons/bomber-equip.png deleted file mode 100644 index b5a0872660..0000000000 Binary files a/core/assets-raw/sprites/weapons/bomber-equip.png and /dev/null differ diff --git a/core/assets-raw/sprites/weapons/eruption-equip.png b/core/assets-raw/sprites/weapons/eruption-equip.png deleted file mode 100644 index fb63f47a8f..0000000000 Binary files a/core/assets-raw/sprites/weapons/eruption-equip.png and /dev/null differ diff --git a/core/assets-raw/sprites/weapons/flamethrower-equip.png b/core/assets-raw/sprites/weapons/flamethrower-equip.png deleted file mode 100644 index b7ce3aaeee..0000000000 Binary files a/core/assets-raw/sprites/weapons/flamethrower-equip.png and /dev/null differ diff --git a/core/assets-raw/sprites/weapons/missiles-equip.png b/core/assets-raw/sprites/weapons/missiles-equip.png deleted file mode 100644 index b5a0872660..0000000000 Binary files a/core/assets-raw/sprites/weapons/missiles-equip.png and /dev/null differ diff --git a/core/assets/sprites/block_colors.png b/core/assets/sprites/block_colors.png index a3b7f62c10..ce5294d49b 100644 Binary files a/core/assets/sprites/block_colors.png and b/core/assets/sprites/block_colors.png differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 61450ee5c2..44df846899 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -6,665 +6,665 @@ filter: Nearest,Nearest repeat: none force-projector rotate: false - xy: 489, 190 + xy: 489, 486 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 force-projector-top rotate: false - xy: 587, 584 + xy: 489, 388 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mend-projector rotate: false - xy: 1339, 873 + xy: 1611, 1069 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mend-projector-top rotate: false - xy: 1405, 873 + xy: 1677, 1135 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mender rotate: false - xy: 1905, 977 + xy: 1429, 665 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mender-top rotate: false - xy: 1905, 943 + xy: 1429, 631 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 overdrive-projector rotate: false - xy: 1471, 831 + xy: 1611, 1003 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 overdrive-projector-top rotate: false - xy: 1009, 807 + xy: 1677, 1003 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 shock-mine rotate: false - xy: 1935, 875 + xy: 1497, 223 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-arrow rotate: false - xy: 1603, 697 + xy: 1191, 109 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor rotate: false - xy: 1739, 714 + xy: 1259, 695 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-bridge rotate: false - xy: 1773, 714 + xy: 1293, 729 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-end rotate: false - xy: 1739, 680 + xy: 1225, 627 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 center rotate: false - xy: 1773, 680 + xy: 1259, 661 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-0-0 rotate: false - xy: 257, 848 + xy: 219, 848 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-armored-conveyor-full rotate: false - xy: 257, 848 + xy: 219, 848 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-0-1 rotate: false - xy: 1761, 850 + xy: 616, 1241 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-0-2 rotate: false - xy: 1547, 1759 + xy: 2011, 1353 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-0-3 rotate: false - xy: 1662, 1629 + xy: 1547, 1759 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-1-0 rotate: false - xy: 1761, 816 + xy: 1662, 1629 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-1-1 rotate: false - xy: 1581, 1759 + xy: 253, 848 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-1-2 rotate: false - xy: 645, 158 + xy: 287, 848 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-1-3 rotate: false - xy: 645, 124 + xy: 2011, 1319 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-2-0 rotate: false - xy: 679, 128 + xy: 1581, 1759 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-2-1 rotate: false - xy: 713, 128 + xy: 616, 1207 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-2-2 rotate: false - xy: 1761, 782 + xy: 1031, 63 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-2-3 rotate: false - xy: 991, 181 + xy: 1177, 755 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-3-0 rotate: false - xy: 1719, 757 + xy: 1211, 763 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-3-1 rotate: false - xy: 883, 102 + xy: 1245, 763 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-3-2 rotate: false - xy: 917, 102 + xy: 1279, 763 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-3-3 rotate: false - xy: 1753, 748 + xy: 1313, 763 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-4-0 rotate: false - xy: 1091, 331 + xy: 1347, 763 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-4-1 rotate: false - xy: 1341, 589 + xy: 1065, 63 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-4-2 rotate: false - xy: 1083, 297 + xy: 1123, 705 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 armored-conveyor-4-3 rotate: false - xy: 1333, 555 + xy: 1123, 671 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-1 rotate: false - xy: 1519, 629 + xy: 1327, 627 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-2 rotate: false - xy: 1587, 663 + xy: 1361, 661 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-3 rotate: false - xy: 1519, 595 + xy: 1225, 491 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-0 rotate: false - xy: 1553, 629 + xy: 1259, 525 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-1 rotate: false - xy: 1621, 663 + xy: 1293, 559 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-2 rotate: false - xy: 1553, 595 + xy: 1327, 593 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-3 rotate: false - xy: 1587, 629 + xy: 1361, 627 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-0 rotate: false - xy: 1587, 595 + xy: 1225, 457 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-1 rotate: false - xy: 1621, 629 + xy: 1259, 491 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-2 rotate: false - xy: 1621, 595 + xy: 1293, 525 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-3 rotate: false - xy: 1655, 633 + xy: 1327, 559 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-0 rotate: false - xy: 1655, 599 + xy: 1361, 593 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-1 rotate: false - xy: 1689, 621 + xy: 1225, 423 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-2 rotate: false - xy: 1689, 587 + xy: 1259, 457 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-3 rotate: false - xy: 1723, 612 + xy: 1293, 491 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-0 rotate: false - xy: 1757, 612 + xy: 1327, 525 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-1 rotate: false - xy: 1723, 578 + xy: 1361, 559 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-2 rotate: false - xy: 1757, 578 + xy: 1225, 389 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-3 rotate: false - xy: 1655, 565 + xy: 1259, 423 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor rotate: false - xy: 1841, 705 + xy: 1429, 223 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-0 rotate: false - xy: 1875, 739 + xy: 1429, 189 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-1 rotate: false - xy: 1841, 671 + xy: 1429, 155 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-2 rotate: false - xy: 1875, 705 + xy: 1429, 121 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-edge rotate: false - xy: 1875, 671 + xy: 1463, 733 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-stack rotate: false - xy: 1909, 739 + xy: 1463, 699 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-1 rotate: false - xy: 937, 156 + xy: 1327, 83 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-2 rotate: false - xy: 971, 147 + xy: 1361, 83 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-3 rotate: false - xy: 1005, 147 + xy: 1395, 83 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-0 rotate: false - xy: 1969, 875 + xy: 1429, 87 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-1 rotate: false - xy: 1965, 841 + xy: 1463, 87 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-2 rotate: false - xy: 1965, 807 + xy: 1497, 87 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-3 rotate: false - xy: 1991, 773 + xy: 1191, 41 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-0 rotate: false - xy: 2011, 739 + xy: 1225, 49 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-1 rotate: false - xy: 2011, 705 + xy: 1259, 49 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-2 rotate: false - xy: 2011, 671 + xy: 1293, 49 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-3 rotate: false - xy: 1999, 841 + xy: 1327, 49 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-0 rotate: false - xy: 1999, 807 + xy: 1361, 49 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-1 rotate: false - xy: 951, 113 + xy: 1395, 49 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-2 rotate: false - xy: 985, 113 + xy: 1429, 53 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-3 rotate: false - xy: 1019, 113 + xy: 1463, 53 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-0 rotate: false - xy: 1053, 127 + xy: 1497, 53 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-1 rotate: false - xy: 1087, 127 + xy: 1225, 15 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-2 rotate: false - xy: 1121, 127 + xy: 1259, 15 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-3 rotate: false - xy: 1155, 127 + xy: 1293, 15 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cross rotate: false - xy: 1825, 612 + xy: 1259, 355 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 distributor rotate: false - xy: 1273, 939 + xy: 1149, 1037 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 inverted-sorter rotate: false - xy: 1235, 329 + xy: 1259, 287 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 junction rotate: false - xy: 1871, 977 + xy: 1395, 695 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mass-conveyor rotate: false - xy: 1297, 1399 + xy: 587, 92 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mass-conveyor-edge rotate: false - xy: 1395, 1399 + xy: 615, 778 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mass-conveyor-top rotate: false - xy: 1493, 1399 + xy: 619, 876 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mass-driver-base rotate: false - xy: 1003, 1301 + xy: 685, 582 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 overflow-gate rotate: false - xy: 1901, 875 + xy: 1429, 563 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor rotate: false - xy: 2014, 1153 + xy: 1429, 393 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-arrow rotate: false - xy: 1821, 773 + xy: 1429, 359 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-bridge rotate: false - xy: 1855, 773 + xy: 1429, 325 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-end rotate: false - xy: 1889, 773 + xy: 1429, 291 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 router rotate: false - xy: 1961, 603 + xy: 1497, 597 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sorter rotate: false - xy: 1931, 807 + xy: 1497, 155 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 underflow-gate rotate: false - xy: 1087, 93 + xy: 1395, 15 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -699,707 +699,707 @@ blast-drill-top index: -1 drill-top rotate: false - xy: 1405, 1005 + xy: 1281, 1037 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-liquid rotate: false - xy: 1405, 1005 + xy: 1281, 1037 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 laser-drill rotate: false - xy: 383, 92 + xy: 489, 94 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 laser-drill-rim rotate: false - xy: 481, 92 + xy: 285, 26 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 laser-drill-rotator rotate: false - xy: 807, 1376 + xy: 383, 10 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 laser-drill-top rotate: false - xy: 786, 1278 + xy: 587, 680 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mechanical-drill rotate: false - xy: 1141, 873 + xy: 1653, 1201 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mechanical-drill-rotator rotate: false - xy: 1207, 873 + xy: 1681, 1333 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 mechanical-drill-top rotate: false - xy: 1273, 873 + xy: 1611, 1135 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 oil-extractor rotate: false - xy: 1297, 1301 + xy: 685, 288 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-liquid rotate: false - xy: 1395, 1301 + xy: 685, 190 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-rotator rotate: false - xy: 1493, 1301 + xy: 685, 92 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-top rotate: false - xy: 1591, 1301 + xy: 713, 778 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 pneumatic-drill rotate: false - xy: 685, 756 + xy: 1719, 1201 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pneumatic-drill-rotator rotate: false - xy: 685, 690 + xy: 1743, 1135 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pneumatic-drill-top rotate: false - xy: 685, 624 + xy: 1743, 1069 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor rotate: false - xy: 1603, 1029 + xy: 1347, 905 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor-liquid rotate: false - xy: 1603, 963 + xy: 1413, 905 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor-rotator rotate: false - xy: 1603, 897 + xy: 1479, 905 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 water-extractor-top rotate: false - xy: 1603, 831 + xy: 1545, 905 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-border rotate: false - xy: 1383, 673 + xy: 1123, 501 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-middle rotate: false - xy: 1367, 555 + xy: 1157, 543 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-select rotate: false - xy: 1093, 195 + xy: 1191, 517 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 1451, 655 + xy: 1225, 559 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 message rotate: false - xy: 1905, 909 + xy: 1429, 597 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 place-arrow rotate: false - xy: 1787, 1337 + xy: 783, 582 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 bridge-conduit rotate: false - xy: 1637, 697 + xy: 1225, 729 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-arrow rotate: false - xy: 1671, 701 + xy: 1225, 695 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-arrow rotate: false - xy: 1671, 701 + xy: 1225, 695 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-bridge rotate: false - xy: 1705, 723 + xy: 1259, 729 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-end rotate: false - xy: 1705, 689 + xy: 1225, 661 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 1671, 667 + xy: 1225, 593 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-0 rotate: false - xy: 1705, 655 + xy: 1259, 627 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-1 rotate: false - xy: 1739, 646 + xy: 1293, 661 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-2 rotate: false - xy: 1773, 646 + xy: 1327, 695 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-3 rotate: false - xy: 1773, 646 + xy: 1327, 695 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-4 rotate: false - xy: 1773, 646 + xy: 1327, 695 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-6 rotate: false - xy: 1773, 646 + xy: 1327, 695 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-5 rotate: false - xy: 1417, 587 + xy: 1361, 729 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-0 rotate: false - xy: 1451, 621 + xy: 1259, 593 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-1 rotate: false - xy: 1451, 587 + xy: 1293, 627 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-2 rotate: false - xy: 1485, 663 + xy: 1327, 661 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-3 rotate: false - xy: 1519, 663 + xy: 1361, 695 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-3 rotate: false - xy: 1519, 663 + xy: 1361, 695 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-4 rotate: false - xy: 1485, 629 + xy: 1225, 525 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-5 rotate: false - xy: 1553, 663 + xy: 1259, 559 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-6 rotate: false - xy: 1485, 595 + xy: 1293, 593 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-junction rotate: false - xy: 1803, 909 + xy: 1395, 593 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-overflow-gate rotate: false - xy: 1799, 875 + xy: 1395, 491 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-overflow-gate-top rotate: false - xy: 1833, 875 + xy: 1395, 457 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-bottom rotate: false - xy: 1867, 875 + xy: 1395, 423 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-liquid rotate: false - xy: 1795, 841 + xy: 1395, 389 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-top rotate: false - xy: 1795, 807 + xy: 1395, 355 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-tank-bottom rotate: false - xy: 1003, 1399 + xy: 587, 386 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 liquid-tank-liquid rotate: false - xy: 1101, 1399 + xy: 587, 288 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 liquid-tank-top rotate: false - xy: 1199, 1399 + xy: 587, 190 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mechanical-pump rotate: false - xy: 1905, 1079 + xy: 1395, 117 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mechanical-pump-liquid rotate: false - xy: 1905, 1045 + xy: 1429, 733 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rotary-pump-liquid rotate: false - xy: 1905, 1045 + xy: 1429, 733 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thermal-pump-liquid rotate: false - xy: 1905, 1045 + xy: 1429, 733 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit rotate: false - xy: 1897, 841 + xy: 1429, 529 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-arrow rotate: false - xy: 1897, 807 + xy: 1429, 495 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-bridge rotate: false - xy: 1946, 1151 + xy: 1429, 461 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-end rotate: false - xy: 1980, 1153 + xy: 1429, 427 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-cap rotate: false - xy: 1909, 671 + xy: 1463, 631 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-0 rotate: false - xy: 1923, 773 + xy: 1463, 597 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-1 rotate: false - xy: 1943, 739 + xy: 1463, 563 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-2 rotate: false - xy: 1943, 705 + xy: 1463, 529 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-3 rotate: false - xy: 1943, 671 + xy: 1463, 495 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-4 rotate: false - xy: 1859, 637 + xy: 1463, 461 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-5 rotate: false - xy: 1859, 603 + xy: 1463, 427 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-6 rotate: false - xy: 1893, 637 + xy: 1463, 393 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-0 rotate: false - xy: 1859, 535 + xy: 1463, 257 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-1 rotate: false - xy: 1893, 569 + xy: 1463, 223 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-2 rotate: false - xy: 1927, 603 + xy: 1463, 189 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-4 rotate: false - xy: 1893, 535 + xy: 1463, 155 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-5 rotate: false - xy: 1927, 569 + xy: 1463, 121 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-6 rotate: false - xy: 1927, 535 + xy: 1483, 767 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rotary-pump rotate: false - xy: 685, 360 + xy: 1917, 1237 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thermal-pump rotate: false - xy: 893, 1180 + xy: 1003, 1301 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 alpha-mech-pad rotate: false - xy: 69, 1 + xy: 795, 1138 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 dart-ship-pad rotate: false - xy: 1339, 1071 + xy: 1083, 1037 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 delta-mech-pad rotate: false - xy: 1405, 1137 + xy: 1149, 1103 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 glaive-ship-pad rotate: false - xy: 587, 192 + xy: 293, 124 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 javelin-ship-pad rotate: false - xy: 1471, 1029 + xy: 1479, 1037 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 omega-mech-pad rotate: false - xy: 1689, 1337 + xy: 783, 680 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 tau-mech-pad rotate: false - xy: 817, 182 + xy: 819, 940 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 trident-ship-pad rotate: false - xy: 1537, 765 + xy: 1083, 905 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 battery rotate: false - xy: 135, 27 + xy: 1123, 637 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 battery-large rotate: false - xy: 697, 1100 + xy: 623, 986 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 battery-large-top rotate: false - xy: 517, 974 + xy: 721, 1002 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 battery-top rotate: false - xy: 169, 27 + xy: 1123, 603 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 combustion-generator rotate: false - xy: 1417, 655 + xy: 1293, 695 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 combustion-generator-top rotate: false - xy: 1417, 621 + xy: 1327, 729 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 differential-generator rotate: false - xy: 489, 288 + xy: 391, 500 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 differential-generator-liquid rotate: false - xy: 293, 190 + xy: 391, 402 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 differential-generator-top rotate: false - xy: 391, 190 + xy: 391, 304 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 diode rotate: false - xy: 1825, 578 + xy: 1293, 389 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 diode-arrow rotate: false - xy: 1825, 544 + xy: 1327, 423 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 illuminator rotate: false - xy: 1201, 363 + xy: 1327, 389 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 illuminator-top rotate: false - xy: 1201, 329 + xy: 1361, 423 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1455,469 +1455,469 @@ impact-reactor-plasma-3 index: -1 power-node rotate: false - xy: 1859, 569 + xy: 1463, 359 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-node-large rotate: false - xy: 685, 558 + xy: 1743, 1003 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 power-source rotate: false - xy: 1893, 603 + xy: 1463, 325 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-void rotate: false - xy: 1927, 637 + xy: 1463, 291 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rtg-generator rotate: false - xy: 685, 294 + xy: 1983, 1237 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rtg-generator-top rotate: false - xy: 1961, 569 + xy: 1497, 563 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 solar-panel rotate: false - xy: 1931, 841 + xy: 1497, 189 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 solar-panel-large rotate: false - xy: 795, 1180 + xy: 783, 92 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 surge-tower rotate: false - xy: 817, 248 + xy: 1545, 971 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thermal-generator rotate: false - xy: 751, 112 + xy: 1611, 937 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thorium-reactor rotate: false - xy: 991, 1203 + xy: 1101, 1301 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 thorium-reactor-center rotate: false - xy: 1089, 1203 + xy: 1199, 1301 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 thorium-reactor-lights rotate: false - xy: 1187, 1203 + xy: 1297, 1301 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 turbine-generator rotate: false - xy: 1547, 1161 + xy: 1149, 905 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 turbine-generator-top rotate: false - xy: 1613, 1169 + xy: 1215, 905 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 alloy-smelter rotate: false - xy: 321, 876 + xy: 525, 974 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 alloy-smelter-top rotate: false - xy: 419, 876 + xy: 521, 876 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 blast-mixer rotate: false - xy: 1983, 1369 + xy: 861, 1138 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-forge rotate: false - xy: 713, 1002 + xy: 807, 1376 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-launcher rotate: false - xy: 1913, 1435 + xy: 1003, 1399 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 coal-centrifuge rotate: false - xy: 943, 916 + xy: 986, 1235 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-bottom rotate: false - xy: 1273, 1137 + xy: 1323, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-liquid rotate: false - xy: 1141, 939 + xy: 1389, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-top rotate: false - xy: 1207, 1005 + xy: 1455, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator rotate: false - xy: 1273, 1071 + xy: 1521, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator-middle rotate: false - xy: 1339, 1137 + xy: 1017, 1103 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cultivator-top rotate: false - xy: 1207, 939 + xy: 1017, 1037 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 graphite-press rotate: false - xy: 1471, 1095 + xy: 1479, 1103 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 incinerator rotate: false - xy: 1235, 363 + xy: 1225, 253 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-source rotate: false - xy: 1837, 1079 + xy: 1293, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-void rotate: false - xy: 1837, 977 + xy: 1395, 729 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 kiln rotate: false - xy: 1471, 963 + xy: 1545, 1103 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 kiln-top rotate: false - xy: 1471, 897 + xy: 1545, 1037 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 silicon-smelter-top rotate: false - xy: 1471, 897 + xy: 1545, 1037 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 liquid-source rotate: false - xy: 1829, 807 + xy: 1395, 253 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-void rotate: false - xy: 1863, 807 + xy: 1395, 219 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 melter rotate: false - xy: 1905, 1011 + xy: 1429, 699 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 multi-press rotate: false - xy: 1101, 1301 + xy: 685, 484 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 phase-weaver rotate: false - xy: 1207, 807 + xy: 1879, 1369 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phase-weaver-bottom rotate: false - xy: 1273, 807 + xy: 1945, 1369 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phase-weaver-weave rotate: false - xy: 1339, 807 + xy: 1747, 1303 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 plastanium-compressor rotate: false - xy: 1405, 807 + xy: 1813, 1303 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 plastanium-compressor-top rotate: false - xy: 1471, 765 + xy: 1879, 1303 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 1859, 501 + xy: 1497, 733 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 1893, 501 + xy: 1497, 699 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pyratite-mixer rotate: false - xy: 685, 492 + xy: 1785, 1237 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 separator rotate: false - xy: 751, 310 + xy: 1809, 973 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 751, 244 + xy: 1875, 973 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 separator-spinner rotate: false - xy: 817, 842 + xy: 1941, 973 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 silicon-smelter rotate: false - xy: 817, 776 + xy: 1017, 971 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press rotate: false - xy: 817, 644 + xy: 1149, 971 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-frame0 rotate: false - xy: 817, 578 + xy: 1215, 971 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-frame1 rotate: false - xy: 817, 512 + xy: 1281, 971 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-frame2 rotate: false - xy: 817, 446 + xy: 1347, 971 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-liquid rotate: false - xy: 817, 380 + xy: 1413, 971 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spore-press-top rotate: false - xy: 817, 314 + xy: 1479, 971 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rock1 rotate: false - xy: 1191, 607 + xy: 981, 274 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 rock2 rotate: false - xy: 1241, 657 + xy: 981, 224 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 sand-boulder1 rotate: false - xy: 1961, 535 + xy: 1497, 529 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sand-boulder2 rotate: false - xy: 1961, 501 + xy: 1497, 495 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-boulder1 rotate: false - xy: 1939, 943 + xy: 1497, 291 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-boulder2 rotate: false - xy: 1939, 909 + xy: 1497, 257 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 snowrock1 rotate: false - xy: 991, 349 + xy: 981, 124 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 snowrock2 rotate: false - xy: 1391, 757 + xy: 981, 74 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spore-cluster1 rotate: false - xy: 1761, 1006 + xy: 1081, 151 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 spore-cluster2 rotate: false - xy: 1761, 964 + xy: 1081, 109 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 spore-cluster3 rotate: false - xy: 1761, 922 + xy: 2000, 859 size: 40, 40 orig: 40, 40 offset: 0, 0 @@ -1938,7 +1938,7 @@ white-tree-dead index: -1 container rotate: false - xy: 1009, 1071 + xy: 1118, 1235 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -1959,14 +1959,14 @@ core-nucleus index: -1 core-shard rotate: false - xy: 391, 582 + xy: 419, 794 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 launch-pad rotate: false - xy: 905, 1376 + xy: 587, 582 size: 96, 96 orig: 96, 96 offset: 0, 0 @@ -1980,35 +1980,35 @@ launch-pad-large index: -1 launch-pad-light rotate: false - xy: 884, 1278 + xy: 587, 484 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 launchpod rotate: false - xy: 1, 1 + xy: 918, 1212 size: 66, 64 orig: 66, 64 offset: 0, 0 index: -1 unloader rotate: false - xy: 1121, 93 + xy: 1429, 19 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 unloader-center rotate: false - xy: 1155, 93 + xy: 1463, 19 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 vault rotate: false - xy: 1383, 1203 + xy: 1493, 1301 size: 96, 96 orig: 96, 96 offset: 0, 0 @@ -2022,21 +2022,21 @@ arc-heat index: -1 block-1 rotate: false - xy: 203, 27 + xy: 1123, 569 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-2 rotate: false - xy: 1983, 1303 + xy: 927, 1146 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-3 rotate: false - xy: 517, 876 + xy: 1717, 1435 size: 96, 96 orig: 96, 96 offset: 0, 0 @@ -2050,14 +2050,14 @@ block-4 index: -1 hail-heat rotate: false - xy: 1391, 715 + xy: 2007, 1153 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 lancer-heat rotate: false - xy: 1075, 873 + xy: 1657, 1267 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -2071,210 +2071,217 @@ meltdown-heat index: -1 ripple-heat rotate: false - xy: 1689, 1239 + xy: 783, 386 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 salvo-heat rotate: false - xy: 751, 838 + xy: 1809, 1105 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 salvo-panel-left rotate: false - xy: 751, 772 + xy: 1875, 1171 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 salvo-panel-right rotate: false - xy: 751, 706 + xy: 1809, 1039 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scorch-heat rotate: false - xy: 1939, 1079 + xy: 1497, 427 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 +swarmer + rotate: false + xy: 885, 940 + size: 64, 64 + orig: 64, 64 + offset: 0, 0 + index: -1 wave-liquid rotate: false - xy: 579, 124 + xy: 885, 874 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 air-factory rotate: false - xy: 321, 974 + xy: 423, 892 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 air-factory-top rotate: false - xy: 419, 974 + xy: 697, 1100 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 fortress-factory-top rotate: false - xy: 419, 974 + xy: 697, 1100 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 ghoul-factory-top rotate: false - xy: 419, 974 + xy: 697, 1100 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 ground-factory-top rotate: false - xy: 419, 974 + xy: 697, 1100 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 naval-factory-top rotate: false - xy: 419, 974 + xy: 697, 1100 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 titan-factory-top rotate: false - xy: 419, 974 + xy: 697, 1100 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 command-center rotate: false - xy: 1009, 1137 + xy: 1052, 1235 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 crawler-factory rotate: false - xy: 1141, 1005 + xy: 1191, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 dagger-factory rotate: false - xy: 1141, 1005 + xy: 1191, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 draug-factory rotate: false - xy: 1141, 1005 + xy: 1191, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 phantom-factory rotate: false - xy: 1141, 1005 + xy: 1191, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 spirit-factory rotate: false - xy: 1141, 1005 + xy: 1191, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 wraith-factory rotate: false - xy: 1141, 1005 + xy: 1191, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 crawler-factory-top rotate: false - xy: 1207, 1071 + xy: 1257, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 dagger-factory-top rotate: false - xy: 1273, 1005 + xy: 1083, 1103 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 draug-factory-top rotate: false - xy: 1339, 939 + xy: 1281, 1103 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 fortress-factory rotate: false - xy: 587, 486 + xy: 489, 290 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 ghoul-factory rotate: false - xy: 587, 290 + xy: 489, 192 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 ground-factory rotate: false - xy: 285, 92 + xy: 391, 108 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 naval-factory rotate: false - xy: 1199, 1301 + xy: 685, 386 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 phantom-factory-top rotate: false - xy: 1075, 807 + xy: 1747, 1369 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 rally-point rotate: false - xy: 685, 426 + xy: 1851, 1237 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 repair-point-base rotate: false - xy: 1961, 637 + xy: 1497, 631 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2295,91 +2302,91 @@ revenant-factory-top index: -1 spirit-factory-top rotate: false - xy: 817, 710 + xy: 1083, 971 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 titan-factory rotate: false - xy: 1285, 1203 + xy: 1395, 1301 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 wraith-factory-top rotate: false - xy: 1679, 1169 + xy: 1611, 871 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 copper-wall rotate: false - xy: 1689, 553 + xy: 1293, 457 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 copper-wall-large rotate: false - xy: 1075, 1137 + xy: 1184, 1235 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door rotate: false - xy: 1217, 397 + xy: 1361, 457 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 door-large rotate: false - xy: 1339, 1005 + xy: 1215, 1103 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door-large-open rotate: false - xy: 1405, 1071 + xy: 1215, 1037 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 door-open rotate: false - xy: 1251, 439 + xy: 1225, 287 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall rotate: false - xy: 1841, 739 + xy: 1429, 257 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall-large rotate: false - xy: 1141, 807 + xy: 1813, 1369 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 plastanium-wall rotate: false - xy: 1909, 705 + xy: 1463, 665 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-wall-large rotate: false - xy: 685, 822 + xy: 1945, 1303 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -2393,98 +2400,98 @@ scrap-wall-gigantic index: -1 scrap-wall-huge2 rotate: false - xy: 1787, 1239 + xy: 783, 288 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 scrap-wall-huge3 rotate: false - xy: 1885, 1239 + xy: 783, 190 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 scrap-wall-large1 rotate: false - xy: 751, 574 + xy: 1941, 1171 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-large2 rotate: false - xy: 751, 508 + xy: 1875, 1039 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-large3 rotate: false - xy: 751, 442 + xy: 1941, 1105 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall-large4 rotate: false - xy: 751, 376 + xy: 1941, 1039 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scrap-wall2 rotate: false - xy: 1939, 1045 + xy: 1497, 393 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall3 rotate: false - xy: 1939, 1011 + xy: 1497, 359 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall4 rotate: false - xy: 1939, 977 + xy: 1497, 325 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall5 rotate: false - xy: 1939, 977 + xy: 1497, 325 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall rotate: false - xy: 781, 78 + xy: 1259, 83 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall-large rotate: false - xy: 685, 162 + xy: 951, 948 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 thorium-wall rotate: false - xy: 817, 82 + xy: 1293, 83 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thorium-wall-large rotate: false - xy: 817, 116 + xy: 1677, 937 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -2498,35 +2505,35 @@ thruster index: -1 titanium-wall rotate: false - xy: 1189, 127 + xy: 1327, 15 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-wall-large rotate: false - xy: 1537, 831 + xy: 1017, 905 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 bullet rotate: false - xy: 1926, 1185 + xy: 1391, 851 size: 52, 52 orig: 52, 52 offset: 0, 0 index: -1 bullet-back rotate: false - xy: 883, 136 + xy: 1445, 851 size: 52, 52 orig: 52, 52 offset: 0, 0 index: -1 casing rotate: false - xy: 1471, 1185 + xy: 801, 908 size: 8, 16 orig: 8, 16 offset: 0, 0 @@ -2540,7 +2547,7 @@ circle-end index: -1 circle-mid rotate: false - xy: 1973, 950 + xy: 2033, 1722 size: 1, 199 orig: 1, 199 offset: 0, 0 @@ -2554,7 +2561,7 @@ circle-shadow index: -1 error rotate: false - xy: 991, 707 + xy: 881, 566 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -2568,21 +2575,21 @@ laser index: -1 laser-end rotate: false - xy: 1481, 1227 + xy: 770, 1204 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 minelaser rotate: false - xy: 848, 1757 + xy: 813, 952 size: 4, 48 orig: 4, 48 offset: 0, 0 index: -1 minelaser-end rotate: false - xy: 869, 1106 + xy: 844, 1204 size: 72, 72 orig: 72, 72 offset: 0, 0 @@ -2603,49 +2610,49 @@ missile-back index: -1 particle rotate: false - xy: 1761, 1048 + xy: 1081, 193 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 scale_marker rotate: false - xy: 795, 1100 + xy: 149, 61 size: 4, 4 orig: 4, 4 offset: 0, 0 index: -1 shell rotate: false - xy: 219, 844 + xy: 2011, 1425 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 shell-back rotate: false - xy: 1761, 884 + xy: 2011, 1387 size: 36, 36 orig: 36, 36 offset: 0, 0 index: -1 transfer rotate: false - xy: 854, 1757 + xy: 848, 1757 size: 4, 48 orig: 4, 48 offset: 0, 0 index: -1 transfer-arrow rotate: false - xy: 1053, 93 + xy: 1361, 15 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 white rotate: false - xy: 1745, 1169 + xy: 848, 1604 size: 3, 3 orig: 3, 3 offset: 0, 0 @@ -2659,14 +2666,14 @@ arc index: -1 block-air-factory-full rotate: false - xy: 615, 986 + xy: 1815, 1435 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-arc-full rotate: false - xy: 237, 27 + xy: 1123, 535 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2680,161 +2687,161 @@ block-blast-drill-full index: -1 block-char-full rotate: false - xy: 1383, 639 + xy: 1123, 467 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-cliffs-full rotate: false - xy: 1383, 605 + xy: 1123, 433 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-conduit-full rotate: false - xy: 1133, 373 + xy: 1123, 399 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-conveyor-full rotate: false - xy: 1183, 423 + xy: 1123, 365 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-0 rotate: false - xy: 1183, 423 + xy: 1123, 365 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-craters-full rotate: false - xy: 1233, 473 + xy: 1123, 331 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-cryofluidmixer-full rotate: false - xy: 1983, 1237 + xy: 1977, 1597 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-cultivator-full rotate: false - xy: 526, 1209 + xy: 555, 26 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-cyclone-full rotate: false - xy: 615, 888 + xy: 1913, 1435 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-dark-metal-full rotate: false - xy: 1025, 181 + xy: 1123, 297 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-darksand-full rotate: false - xy: 1433, 723 + xy: 1123, 263 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-dunerocks-full rotate: false - xy: 1467, 731 + xy: 1123, 229 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-duo-full rotate: false - xy: 1501, 731 + xy: 1123, 195 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-fuse-full rotate: false - xy: 713, 904 + xy: 786, 1278 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-grass-full rotate: false - xy: 1535, 731 + xy: 1123, 161 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ground-factory-full rotate: false - xy: 1717, 1435 + xy: 905, 1376 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-hail-full rotate: false - xy: 1569, 731 + xy: 1123, 127 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-holostone-full rotate: false - xy: 1603, 731 + xy: 1123, 93 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-hotrock-full rotate: false - xy: 1637, 731 + xy: 1381, 763 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ice-full rotate: false - xy: 1671, 735 + xy: 1415, 767 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ice-snow-full rotate: false - xy: 1787, 748 + xy: 1449, 767 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-icerocks-full rotate: false - xy: 1125, 331 + xy: 1157, 713 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ignarock-full rotate: false - xy: 1117, 297 + xy: 1157, 679 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2848,63 +2855,63 @@ block-impact-reactor-full index: -1 block-lancer-full rotate: false - xy: 1555, 1235 + xy: 621, 26 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-laser-drill-full rotate: false - xy: 1815, 1435 + xy: 884, 1278 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-liquid-router-full rotate: false - xy: 1283, 523 + xy: 1157, 645 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-liquid-tank-full rotate: false - xy: 293, 778 + xy: 1101, 1399 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-magmarock-full rotate: false - xy: 1317, 521 + xy: 1157, 611 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-mass-conveyor-full rotate: false - xy: 293, 680 + xy: 1199, 1399 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 mass-conveyor-icon rotate: false - xy: 293, 680 + xy: 1199, 1399 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-mass-driver-full rotate: false - xy: 391, 778 + xy: 1297, 1399 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-mechanical-drill-full rotate: false - xy: 1621, 1235 + xy: 687, 26 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -2918,273 +2925,273 @@ block-meltdown-full index: -1 block-metal-floor-damaged-full rotate: false - xy: 1351, 521 + xy: 1157, 577 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-moss-full rotate: false - xy: 1385, 521 + xy: 1157, 509 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-naval-factory-full rotate: false - xy: 293, 582 + xy: 1395, 1399 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-oil-extractor-full rotate: false - xy: 391, 680 + xy: 1493, 1399 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-ore-coal-full rotate: false - xy: 1283, 489 + xy: 1157, 475 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-copper-full rotate: false - xy: 1317, 487 + xy: 1157, 441 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-lead-full rotate: false - xy: 1351, 487 + xy: 1157, 407 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-scrap-full rotate: false - xy: 1385, 487 + xy: 1157, 373 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-thorium-full rotate: false - xy: 1167, 381 + xy: 1157, 339 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ore-titanium-full rotate: false - xy: 1217, 431 + xy: 1157, 305 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-pebbles-full rotate: false - xy: 1033, 265 + xy: 1157, 271 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-phase-weaver-full rotate: false - xy: 811, 1040 + xy: 753, 26 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-plated-conduit-full rotate: false - xy: 1033, 231 + xy: 1157, 237 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-pneumatic-drill-full rotate: false - xy: 811, 974 + xy: 819, 26 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-pulse-conduit-full rotate: false - xy: 1067, 263 + xy: 1157, 203 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-pulverizer-full rotate: false - xy: 1101, 263 + xy: 1157, 169 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-repair-point-full rotate: false - xy: 1067, 229 + xy: 1157, 135 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-ripple-full rotate: false - xy: 489, 778 + xy: 1591, 1399 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-rock-full rotate: false - xy: 941, 542 + xy: 1243, 797 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 block-rocks-full rotate: false - xy: 1101, 229 + xy: 1157, 101 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-saltrocks-full rotate: false - xy: 1135, 263 + xy: 1191, 721 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-salvo-full rotate: false - xy: 877, 1040 + xy: 1591, 1267 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-sand-boulder-full rotate: false - xy: 1135, 229 + xy: 1191, 687 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-sand-full rotate: false - xy: 1151, 297 + xy: 1191, 653 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-sandrocks-full rotate: false - xy: 1169, 263 + xy: 1191, 619 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-scatter-full rotate: false - xy: 811, 908 + xy: 819, 1072 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-scorch-full rotate: false - xy: 1169, 229 + xy: 1191, 585 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-scrap-wall-full rotate: false - xy: 1059, 195 + xy: 1191, 551 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall1 rotate: false - xy: 1059, 195 + xy: 1191, 551 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-scrap-wall-huge-full rotate: false - xy: 293, 484 + xy: 321, 810 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 scrap-wall-huge1 rotate: false - xy: 293, 484 + xy: 321, 810 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 block-scrap-wall-large-full rotate: false - xy: 877, 974 + xy: 819, 1006 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-shale-boulder-full rotate: false - xy: 1127, 195 + xy: 1191, 483 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-shale-full rotate: false - xy: 1161, 195 + xy: 1191, 449 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-shalerocks-full rotate: false - xy: 1059, 161 + xy: 1191, 415 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-shrubs-full rotate: false - xy: 1093, 161 + xy: 1191, 381 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-snow-full rotate: false - xy: 1127, 161 + xy: 1191, 347 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-snowrock-full rotate: false - xy: 941, 492 + xy: 1293, 797 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 block-snowrocks-full rotate: false - xy: 1161, 161 + xy: 1191, 313 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3198,245 +3205,245 @@ block-spectre-full index: -1 block-spore-cluster-full rotate: false - xy: 1341, 665 + xy: 2007, 1195 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 block-spore-moss-full rotate: false - xy: 1433, 689 + xy: 1191, 279 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-spore-press-full rotate: false - xy: 877, 908 + xy: 885, 1072 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-sporerocks-full rotate: false - xy: 1467, 697 + xy: 1191, 245 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-stone-full rotate: false - xy: 1501, 697 + xy: 1191, 211 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-swarmer-full rotate: false - xy: 943, 1114 + xy: 885, 1006 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-tendrils-full rotate: false - xy: 1535, 697 + xy: 1191, 177 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-titanium-conveyor-full rotate: false - xy: 1569, 697 + xy: 1191, 143 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-0 rotate: false - xy: 1569, 697 + xy: 1191, 143 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-water-extractor-full rotate: false - xy: 943, 1048 + xy: 951, 1080 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 block-wave-full rotate: false - xy: 943, 982 + xy: 951, 1014 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-1-0 rotate: false - xy: 1723, 544 + xy: 1327, 491 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-1 rotate: false - xy: 1757, 544 + xy: 1361, 525 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-2 rotate: false - xy: 1791, 612 + xy: 1225, 355 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-3 rotate: false - xy: 1791, 578 + xy: 1259, 389 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-4 rotate: false - xy: 1791, 544 + xy: 1293, 423 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-5 rotate: false - xy: 1807, 714 + xy: 1327, 457 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-6 rotate: false - xy: 1807, 680 + xy: 1361, 491 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-7 rotate: false - xy: 1807, 646 + xy: 1225, 321 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-2-0 rotate: false - xy: 1009, 1005 + xy: 1250, 1235 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-1 rotate: false - xy: 1075, 1071 + xy: 1316, 1235 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-2 rotate: false - xy: 1141, 1137 + xy: 1382, 1235 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-3 rotate: false - xy: 1009, 939 + xy: 1448, 1235 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-4 rotate: false - xy: 1075, 1005 + xy: 1514, 1235 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-5 rotate: false - xy: 1141, 1071 + xy: 993, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-6 rotate: false - xy: 1207, 1137 + xy: 1059, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-2-7 rotate: false - xy: 1075, 939 + xy: 1125, 1169 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 cracks-3-0 rotate: false - xy: 489, 680 + xy: 517, 778 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-1 rotate: false - xy: 293, 386 + xy: 293, 712 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-2 rotate: false - xy: 391, 484 + xy: 293, 614 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-3 rotate: false - xy: 489, 582 + xy: 293, 516 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-4 rotate: false - xy: 293, 288 + xy: 293, 418 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-5 rotate: false - xy: 391, 386 + xy: 293, 320 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-6 rotate: false - xy: 489, 484 + xy: 293, 222 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 cracks-3-7 rotate: false - xy: 391, 288 + xy: 391, 696 size: 96, 96 orig: 96, 96 offset: 0, 0 @@ -3555,294 +3562,294 @@ cracks-5-7 index: -1 cyclone rotate: false - xy: 489, 386 + xy: 391, 598 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 duo rotate: false - xy: 1251, 405 + xy: 1259, 321 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 fuse rotate: false - xy: 587, 388 + xy: 391, 206 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 hail rotate: false - xy: 1167, 347 + xy: 1293, 355 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-blast-compound-large rotate: false - xy: 991, 257 + xy: 2007, 1111 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-blast-compound-medium rotate: false - xy: 1195, 161 + xy: 1327, 355 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-blast-compound-small rotate: false - xy: 135, 1 + xy: 717, 876 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-blast-compound-tiny rotate: false - xy: 991, 1185 + xy: 1429, 1 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-blast-compound-xlarge rotate: false - xy: 1141, 757 + xy: 931, 500 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-coal-large rotate: false - xy: 1041, 307 + xy: 2007, 1069 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-coal-medium rotate: false - xy: 1519, 561 + xy: 1225, 219 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-coal-small rotate: false - xy: 161, 1 + xy: 2023, 1949 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-coal-tiny rotate: false - xy: 991, 832 + xy: 1447, 1 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-coal-xlarge rotate: false - xy: 1041, 649 + xy: 881, 416 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-copper-large rotate: false - xy: 1091, 365 + xy: 2007, 1027 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-copper-medium rotate: false - xy: 1587, 561 + xy: 1293, 287 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-copper-small rotate: false - xy: 187, 1 + xy: 2023, 1923 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-copper-tiny rotate: false - xy: 1841, 653 + xy: 1465, 1 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-copper-xlarge rotate: false - xy: 1091, 707 + xy: 931, 450 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-graphite-large rotate: false - xy: 1141, 415 + xy: 2007, 985 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-graphite-medium rotate: false - xy: 1655, 531 + xy: 1361, 355 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-graphite-small rotate: false - xy: 213, 1 + xy: 1689, 1471 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-graphite-tiny rotate: false - xy: 991, 814 + xy: 848, 1609 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-graphite-xlarge rotate: false - xy: 991, 549 + xy: 881, 366 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-lead-large rotate: false - xy: 1191, 465 + xy: 2007, 943 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-lead-medium rotate: false - xy: 1723, 510 + xy: 1259, 219 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-lead-small rotate: false - xy: 239, 1 + xy: 1757, 1277 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-lead-tiny rotate: false - xy: 848, 1609 + xy: 786, 1424 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-lead-xlarge rotate: false - xy: 1191, 757 + xy: 931, 400 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-metaglass-large rotate: false - xy: 1241, 515 + xy: 2007, 901 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-metaglass-medium rotate: false - xy: 1791, 510 + xy: 1327, 287 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-metaglass-small rotate: false - xy: 2023, 1949 + xy: 953, 74 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-metaglass-tiny rotate: false - xy: 786, 1424 + xy: 937, 1479 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-metaglass-xlarge rotate: false - xy: 1041, 599 + xy: 881, 316 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-phase-fabric-large rotate: false - xy: 1291, 565 + xy: 771, 960 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-phase-fabric-medium rotate: false - xy: 1269, 371 + xy: 1225, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-phase-fabric-small rotate: false - xy: 2023, 1923 + xy: 953, 48 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-phase-fabric-tiny rotate: false - xy: 937, 1479 + xy: 795, 1120 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-phase-fabric-xlarge rotate: false - xy: 1091, 657 + xy: 931, 350 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-plastanium-large rotate: false - xy: 1341, 623 + xy: 1135, 747 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-plastanium-medium rotate: false - xy: 1269, 303 + xy: 1293, 219 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-plastanium-small rotate: false - xy: 1689, 1471 + xy: 1497, 27 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -3856,441 +3863,441 @@ item-plastanium-tiny index: -1 item-plastanium-xlarge rotate: false - xy: 1141, 707 + xy: 881, 266 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-pyratite-large rotate: false - xy: 991, 215 + xy: 1081, 697 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-pyratite-medium rotate: false - xy: 1844, 1147 + xy: 1361, 287 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-pyratite-small rotate: false - xy: 2011, 1437 + xy: 1497, 1 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-pyratite-tiny rotate: false - xy: 1696, 1645 + xy: 993, 1151 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-pyratite-xlarge rotate: false - xy: 991, 499 + xy: 931, 300 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-sand-large rotate: false - xy: 1719, 1127 + xy: 1081, 655 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-sand-medium rotate: false - xy: 1803, 1113 + xy: 1259, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-sand-small rotate: false - xy: 1441, 781 + xy: 1689, 1445 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-sand-tiny rotate: false - xy: 1696, 1627 + xy: 1587, 1183 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-sand-xlarge rotate: false - xy: 1241, 757 + xy: 881, 216 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-scrap-large rotate: false - xy: 1719, 1085 + xy: 1081, 613 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-scrap-medium rotate: false - xy: 1837, 1113 + xy: 1327, 219 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-scrap-small rotate: false - xy: 579, 98 + xy: 1689, 1419 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-scrap-tiny rotate: false - xy: 2030, 1219 + xy: 1785, 1219 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-scrap-xlarge rotate: false - xy: 1041, 549 + xy: 931, 250 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-silicon-large rotate: false - xy: 1719, 1043 + xy: 1081, 571 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-silicon-medium rotate: false - xy: 1871, 1113 + xy: 1259, 117 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-silicon-small rotate: false - xy: 851, 90 + xy: 979, 48 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-silicon-tiny rotate: false - xy: 1795, 789 + xy: 1785, 1201 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-silicon-xlarge rotate: false - xy: 1091, 607 + xy: 881, 166 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-spore-pod-large rotate: false - xy: 1719, 1001 + xy: 1081, 529 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-spore-pod-medium rotate: false - xy: 1871, 1079 + xy: 1361, 219 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-spore-pod-small rotate: false - xy: 1189, 101 + xy: 1005, 48 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-spore-pod-tiny rotate: false - xy: 1821, 755 + xy: 265, 43 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-spore-pod-xlarge rotate: false - xy: 1141, 657 + xy: 931, 200 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-surge-alloy-large rotate: false - xy: 1719, 959 + xy: 1081, 487 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-surge-alloy-medium rotate: false - xy: 1803, 977 + xy: 1327, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-surge-alloy-small rotate: false - xy: 1689, 1445 + xy: 293, 822 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-surge-alloy-tiny rotate: false - xy: 1039, 163 + xy: 1017, 887 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-surge-alloy-xlarge rotate: false - xy: 1191, 707 + xy: 881, 116 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-thorium-large rotate: false - xy: 1719, 917 + xy: 1081, 445 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-thorium-medium rotate: false - xy: 1837, 1011 + xy: 1327, 117 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-thorium-small rotate: false - xy: 605, 98 + xy: 919, 6 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-thorium-tiny rotate: false - xy: 1441, 763 + xy: 811, 784 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-thorium-xlarge rotate: false - xy: 991, 449 + xy: 931, 150 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 item-titanium-large rotate: false - xy: 1719, 875 + xy: 1081, 403 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 item-titanium-medium rotate: false - xy: 1871, 1011 + xy: 1361, 117 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-titanium-small rotate: false - xy: 631, 98 + xy: 953, 22 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-titanium-tiny rotate: false - xy: 657, 106 + xy: 1696, 1645 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 item-titanium-xlarge rotate: false - xy: 1291, 757 + xy: 931, 100 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 lancer rotate: false - xy: 1009, 873 + xy: 1587, 1201 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 liquid-cryofluid-large rotate: false - xy: 1719, 833 + xy: 1081, 361 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 liquid-cryofluid-medium rotate: false - xy: 1871, 943 + xy: 1395, 627 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-cryofluid-small rotate: false - xy: 615, 72 + xy: 979, 22 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-cryofluid-tiny rotate: false - xy: 641, 54 + xy: 1696, 1627 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 liquid-cryofluid-xlarge rotate: false - xy: 1241, 707 + xy: 981, 574 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 liquid-oil-large rotate: false - xy: 1719, 791 + xy: 1081, 319 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 liquid-oil-medium rotate: false - xy: 1871, 909 + xy: 1395, 525 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-oil-small rotate: false - xy: 615, 46 + xy: 1005, 22 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-oil-tiny rotate: false - xy: 866, 1609 + xy: 1723, 1315 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 liquid-oil-xlarge rotate: false - xy: 991, 399 + xy: 981, 524 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 liquid-slag-large rotate: false - xy: 1761, 1132 + xy: 1081, 277 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 liquid-slag-medium rotate: false - xy: 1863, 841 + xy: 1395, 287 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-slag-small rotate: false - xy: 615, 20 + xy: 1031, 37 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-slag-tiny rotate: false - xy: 786, 1406 + xy: 743, 884 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 liquid-slag-xlarge rotate: false - xy: 1341, 757 + xy: 981, 474 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 liquid-water-large rotate: false - xy: 1761, 1090 + xy: 1081, 235 size: 40, 40 orig: 40, 40 offset: 0, 0 index: -1 liquid-water-medium rotate: false - xy: 1905, 1113 + xy: 1395, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-water-small rotate: false - xy: 641, 72 + xy: 1057, 37 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-water-tiny rotate: false - xy: 955, 1479 + xy: 1689, 1401 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 liquid-water-xlarge rotate: false - xy: 1041, 449 + xy: 981, 424 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 mass-driver rotate: false - xy: 1591, 1399 + xy: 685, 680 size: 96, 96 orig: 96, 96 offset: 0, 0 @@ -4304,35 +4311,35 @@ meltdown index: -1 repair-point rotate: false - xy: 1927, 501 + xy: 1497, 665 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 ripple rotate: false - xy: 1885, 1337 + xy: 783, 484 size: 96, 96 orig: 96, 96 offset: 0, 0 index: -1 salvo rotate: false - xy: 685, 228 + xy: 1809, 1171 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scatter rotate: false - xy: 751, 640 + xy: 1875, 1105 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 scorch rotate: false - xy: 1939, 1113 + xy: 1497, 461 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4346,112 +4353,133 @@ spectre index: -1 splash-0 rotate: false - xy: 1957, 773 + xy: 1497, 121 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-1 rotate: false - xy: 1977, 739 + xy: 1723, 1269 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-10 rotate: false - xy: 713, 94 + xy: 1191, 75 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-11 rotate: false - xy: 747, 78 + xy: 1225, 83 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-2 rotate: false - xy: 1977, 705 + xy: 885, 82 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-3 rotate: false - xy: 1977, 671 + xy: 885, 48 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-4 rotate: false - xy: 1995, 637 + xy: 919, 66 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-5 rotate: false - xy: 1995, 603 + xy: 885, 14 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-6 rotate: false - xy: 1995, 569 + xy: 919, 32 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-7 rotate: false - xy: 1995, 535 + xy: 771, 926 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-8 rotate: false - xy: 1995, 501 + xy: 767, 892 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-9 rotate: false - xy: 679, 94 + xy: 1157, 67 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 swarmer rotate: false - xy: 751, 178 - size: 64, 64 - orig: 64, 64 + xy: 1031, 647 + size: 48, 48 + orig: 48, 48 + offset: 0, 0 + index: -1 +unit-crawler-full + rotate: false + xy: 1031, 497 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 unit-dagger-full rotate: false - xy: 1291, 657 + xy: 1031, 447 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unit-draug-full rotate: false - xy: 1341, 707 + xy: 1031, 397 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 +unit-eruptor-full + rotate: false + xy: 1591, 1333 + size: 88, 64 + orig: 88, 64 + offset: 0, 0 + index: -1 +unit-fortress-full + rotate: false + xy: 423, 990 + size: 100, 80 + orig: 100, 80 + offset: 0, 0 + index: -1 unit-phantom-full rotate: false - xy: 883, 190 + xy: 1333, 847 size: 56, 56 orig: 56, 56 offset: 0, 0 @@ -4465,182 +4493,182 @@ unit-reaper-full index: -1 unit-spirit-full rotate: false - xy: 991, 299 + xy: 1031, 347 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unit-titan-full rotate: false - xy: 1603, 1095 + xy: 1281, 905 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 unit-vanguard-full rotate: false - xy: 1041, 349 + xy: 1031, 297 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 unit-wraith-full rotate: false - xy: 1091, 407 + xy: 1031, 247 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 wave rotate: false - xy: 1603, 765 + xy: 951, 882 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 item-blast-compound rotate: false - xy: 1195, 195 + xy: 1293, 321 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-coal rotate: false - xy: 1485, 561 + xy: 1361, 389 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-copper rotate: false - xy: 1553, 561 + xy: 1259, 253 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-graphite rotate: false - xy: 1621, 561 + xy: 1327, 321 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-lead rotate: false - xy: 1689, 519 + xy: 1225, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-metaglass rotate: false - xy: 1757, 510 + xy: 1293, 253 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-phase-fabric rotate: false - xy: 1825, 510 + xy: 1361, 321 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-plastanium rotate: false - xy: 1269, 337 + xy: 1259, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-pyratite rotate: false - xy: 1810, 1147 + xy: 1327, 253 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-sand rotate: false - xy: 1878, 1147 + xy: 1225, 117 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-scrap rotate: false - xy: 1803, 1079 + xy: 1293, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 1803, 1045 + xy: 1361, 253 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-spore-pod rotate: false - xy: 1803, 1011 + xy: 1327, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 1837, 1045 + xy: 1293, 117 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 1871, 1045 + xy: 1361, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 1803, 943 + xy: 1361, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-cryofluid rotate: false - xy: 1837, 943 + xy: 1395, 661 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-oil rotate: false - xy: 1837, 909 + xy: 1395, 559 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-slag rotate: false - xy: 1829, 841 + xy: 1395, 321 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-water rotate: false - xy: 1912, 1147 + xy: 1395, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 blank rotate: false - xy: 219, 841 + xy: 804, 1439 size: 1, 1 orig: 1, 1 offset: 0, 0 @@ -4654,7 +4682,7 @@ circle index: -1 shape-3 rotate: false - xy: 1745, 1174 + xy: 1677, 872 size: 63, 63 orig: 63, 63 offset: 0, 0 @@ -4668,21 +4696,21 @@ alpha index: -1 alpha-base rotate: false - xy: 941, 800 + xy: 1499, 855 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 alpha-cell rotate: false - xy: 941, 750 + xy: 1549, 855 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 alpha-leg rotate: false - xy: 941, 700 + xy: 1043, 797 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -4717,105 +4745,105 @@ chaos-array-leg index: -1 crawler rotate: false - xy: 941, 342 + xy: 1393, 801 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-base rotate: false - xy: 941, 292 + xy: 1443, 801 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-cell rotate: false - xy: 941, 242 + xy: 1800, 857 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 crawler-leg rotate: false - xy: 941, 192 + xy: 1850, 857 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger rotate: false - xy: 1980, 1187 + xy: 1900, 857 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger-base rotate: false - xy: 1669, 1119 + xy: 1950, 857 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dagger-leg rotate: false - xy: 1669, 1069 + xy: 721, 952 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dart rotate: false - xy: 1669, 1019 + xy: 717, 902 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 dart-cell rotate: false - xy: 1669, 969 + xy: 881, 766 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 delta rotate: false - xy: 1669, 919 + xy: 931, 766 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 delta-base rotate: false - xy: 1669, 869 + xy: 881, 716 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 delta-cell rotate: false - xy: 1669, 819 + xy: 881, 666 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 delta-leg rotate: false - xy: 1669, 769 + xy: 931, 716 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 draug rotate: false - xy: 991, 757 + xy: 881, 616 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 draug-cell rotate: false - xy: 1041, 757 + xy: 931, 666 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -4850,56 +4878,56 @@ eradicator-leg index: -1 eruptor rotate: false - xy: 1405, 939 - size: 64, 64 - orig: 64, 64 + xy: 1, 1 + size: 88, 64 + orig: 88, 64 offset: 0, 0 index: -1 eruptor-base rotate: false - xy: 1977, 1597 + xy: 1347, 1103 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 eruptor-cell rotate: false - xy: 285, 26 - size: 64, 64 - orig: 64, 64 + xy: 526, 1209 + size: 88, 64 + orig: 88, 64 offset: 0, 0 index: -1 eruptor-leg rotate: false - xy: 351, 26 + xy: 1347, 1037 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 fortress rotate: false - xy: 417, 26 - size: 64, 64 - orig: 64, 64 + xy: 321, 990 + size: 100, 80 + orig: 100, 80 offset: 0, 0 index: -1 fortress-base rotate: false - xy: 483, 26 + xy: 1413, 1103 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 fortress-cell rotate: false - xy: 549, 26 - size: 64, 64 - orig: 64, 64 + xy: 321, 908 + size: 100, 80 + orig: 100, 80 offset: 0, 0 index: -1 fortress-leg rotate: false - xy: 1481, 1161 + xy: 1413, 1037 size: 64, 64 orig: 64, 64 offset: 0, 0 @@ -4913,14 +4941,14 @@ ghoul index: -1 ghoul-cell rotate: false - xy: 795, 1106 + xy: 481, 20 size: 72, 72 orig: 72, 72 offset: 0, 0 index: -1 glaive rotate: false - xy: 592, 1217 + xy: 91, 9 size: 56, 56 orig: 56, 56 offset: 0, 0 @@ -4934,21 +4962,21 @@ glaive-cell index: -1 javelin rotate: false - xy: 1041, 499 + xy: 985, 774 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 javelin-cell rotate: false - xy: 1091, 557 + xy: 981, 724 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 javelin-shield rotate: false - xy: 1141, 607 + xy: 981, 674 size: 48, 48 orig: 48, 48 offset: 0, 0 @@ -4969,56 +4997,56 @@ lich-cell index: -1 omega rotate: false - xy: 1810, 1181 + xy: 1742, 879 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 omega-armor rotate: false - xy: 943, 850 + xy: 1677, 1069 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 omega-base rotate: false - xy: 883, 712 + xy: 149, 3 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 omega-cell rotate: false - xy: 1868, 1181 + xy: 207, 3 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 omega-leg rotate: false - xy: 883, 654 + xy: 869, 816 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 phantom rotate: false - xy: 883, 596 + xy: 927, 816 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 phantom-cell rotate: false - xy: 883, 538 + xy: 985, 824 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 power-cell rotate: false - xy: 883, 480 + xy: 1043, 847 size: 56, 56 orig: 56, 56 offset: 0, 0 @@ -5053,224 +5081,210 @@ revenant-cell index: -1 spirit rotate: false - xy: 1041, 399 + xy: 1035, 747 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 spirit-cell rotate: false - xy: 1091, 457 + xy: 1031, 697 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 tau rotate: false - xy: 883, 422 + xy: 1101, 847 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 tau-base rotate: false - xy: 1191, 557 + xy: 1031, 597 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 tau-cell rotate: false - xy: 883, 364 + xy: 1159, 847 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 tau-leg rotate: false - xy: 1241, 607 + xy: 1031, 547 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 titan rotate: false - xy: 1537, 1095 + xy: 1743, 937 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 titan-base rotate: false - xy: 1537, 1029 + xy: 1809, 907 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 titan-cell rotate: false - xy: 1537, 963 + xy: 1875, 907 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 titan-leg rotate: false - xy: 1537, 897 + xy: 1941, 907 size: 64, 64 orig: 64, 64 offset: 0, 0 index: -1 trident rotate: false - xy: 883, 306 + xy: 1217, 847 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 trident-cell rotate: false - xy: 883, 248 + xy: 1275, 847 size: 56, 56 orig: 56, 56 offset: 0, 0 index: -1 vanguard rotate: false - xy: 1141, 457 + xy: 1031, 197 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 vanguard-cell rotate: false - xy: 1241, 557 + xy: 1031, 97 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 wraith rotate: false - xy: 1291, 607 + xy: 1085, 739 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 +artillery + rotate: false + xy: 1093, 789 + size: 48, 56 + orig: 48, 56 + offset: 0, 0 + index: -1 artillery-equip rotate: false - xy: 941, 642 + xy: 1143, 789 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 -blaster-equip +blaster rotate: false - xy: 941, 592 + xy: 1193, 797 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 -bomber-equip +chain-blaster rotate: false - xy: 941, 442 + xy: 1343, 797 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 -missiles-equip +chaos rotate: false - xy: 941, 442 - size: 48, 48 - orig: 48, 48 - offset: 0, 0 - index: -1 -chain-blaster-equip - rotate: false - xy: 941, 392 - size: 48, 48 - orig: 48, 48 - offset: 0, 0 - index: -1 -chaos-equip - rotate: false - xy: 883, 770 + xy: 811, 802 size: 56, 136 orig: 56, 136 offset: 0, 0 index: -1 -eradication-equip +eradication rotate: false - xy: 587, 682 + xy: 489, 584 size: 96, 192 orig: 96, 192 offset: 0, 0 index: -1 -eruption-equip +eruption rotate: false - xy: 991, 649 + xy: 931, 608 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 -flakgun-equip +flakgun rotate: false - xy: 1091, 757 + xy: 881, 516 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 -flamethrower-equip +flamethrower rotate: false - xy: 1041, 699 + xy: 931, 550 size: 48, 56 orig: 48, 56 offset: 0, 0 index: -1 -heal-blaster-equip +heal-blaster rotate: false - xy: 991, 599 + xy: 881, 466 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 -lich-missiles-equip +lich-missiles rotate: false - xy: 1191, 657 + xy: 981, 624 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 -reaper-gun-equip +reaper-gun rotate: false - xy: 1091, 507 + xy: 981, 374 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 -revenant-missiles-equip +revenant-missiles rotate: false - xy: 1141, 557 + xy: 981, 324 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 -shockgun-equip +shockgun rotate: false - xy: 1291, 707 + xy: 981, 174 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 -swarmer-equip +vanguard-blaster rotate: false - xy: 1141, 507 - size: 48, 48 - orig: 48, 48 - offset: 0, 0 - index: -1 -vanguard-blaster-equip - rotate: false - xy: 1191, 507 + xy: 1031, 147 size: 48, 48 orig: 48, 48 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index c438349642..8af6469367 100644 Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ diff --git a/core/assets/sprites/sprites2.png b/core/assets/sprites/sprites2.png index 0d8970e586..e09e9bb1c4 100644 Binary files a/core/assets/sprites/sprites2.png and b/core/assets/sprites/sprites2.png differ diff --git a/core/assets/sprites/sprites4.png b/core/assets/sprites/sprites4.png index e99c8c073f..f7a5cc08b7 100644 Binary files a/core/assets/sprites/sprites4.png and b/core/assets/sprites/sprites4.png differ diff --git a/core/assets/sprites/sprites6.png b/core/assets/sprites/sprites6.png index 9c4ac9af5d..8f48ba6991 100644 Binary files a/core/assets/sprites/sprites6.png and b/core/assets/sprites/sprites6.png differ diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 76ed8ee08e..3dc304304e 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1233,7 +1233,7 @@ public class Blocks implements ContentList{ waterExtractor = new SolidPump("water-extractor"){{ requirements(Category.production, ItemStack.with(Items.copper, 25, Items.graphite, 25, Items.lead, 20)); result = Liquids.water; - pumpAmount = 0.13f; + pumpAmount = 0.11f; size = 2; liquidCapacity = 30f; rotateSpeed = 1.4f; diff --git a/core/src/mindustry/content/Bullets.java b/core/src/mindustry/content/Bullets.java index 449a40d027..a3f9a4b313 100644 --- a/core/src/mindustry/content/Bullets.java +++ b/core/src/mindustry/content/Bullets.java @@ -563,6 +563,7 @@ public class Bullets implements ContentList{ damage = 2; speed = 2.1f; drag = 0.02f; + shootEffect = Fx.shootSmall; }}; oilShot = new LiquidBulletType(Liquids.oil){{ diff --git a/core/src/mindustry/content/SectorPresets.java b/core/src/mindustry/content/SectorPresets.java index b885b3a49e..050a5b0bc9 100644 --- a/core/src/mindustry/content/SectorPresets.java +++ b/core/src/mindustry/content/SectorPresets.java @@ -33,7 +33,7 @@ public class SectorPresets implements ContentList{ conditionWave = 10; launchPeriod = 5; requirements = with( - new ZoneWave(groundZero, 60), + new SectorWave(groundZero, 60), //new Unlock(Blocks.daggerFactory), //new Unlock(Blocks.draugFactory), new Unlock(Blocks.door), @@ -46,7 +46,7 @@ public class SectorPresets implements ContentList{ startingItems = list(copper, 250); conditionWave = 10; requirements = with( - new ZoneWave(groundZero, 10), + new SectorWave(groundZero, 10), new Unlock(Blocks.junction), new Unlock(Blocks.router) ); @@ -56,7 +56,7 @@ public class SectorPresets implements ContentList{ startingItems = list(copper, 100); conditionWave = 10; requirements = with( - new ZoneWave(frozenForest, 10), + new SectorWave(frozenForest, 10), new Unlock(Blocks.mender), new Unlock(Blocks.combustionGenerator) ); @@ -68,8 +68,8 @@ public class SectorPresets implements ContentList{ conditionWave = 20; launchPeriod = 20; requirements = with( - new ZoneWave(groundZero, 20), - new ZoneWave(craters, 15), + new SectorWave(groundZero, 20), + new SectorWave(craters, 15), new Unlock(Blocks.graphitePress), new Unlock(Blocks.combustionGenerator), new Unlock(Blocks.kiln), @@ -83,7 +83,7 @@ public class SectorPresets implements ContentList{ conditionWave = 10; launchPeriod = 10; requirements = with( - new ZoneWave(frozenForest, 15), + new SectorWave(frozenForest, 15), new Unlock(Blocks.pneumaticDrill), new Unlock(Blocks.powerNode), new Unlock(Blocks.turbineGenerator) @@ -93,7 +93,7 @@ public class SectorPresets implements ContentList{ fungalPass = new SectorPreset("fungalPass", starter, 21){{ startingItems = list(copper, 250, lead, 250, Items.metaglass, 100, Items.graphite, 100); requirements = with( - new ZoneWave(stainedMountains, 15), + new SectorWave(stainedMountains, 15), //new Unlock(Blocks.daggerFactory), //new Unlock(Blocks.crawlerFactory), new Unlock(Blocks.door), @@ -107,7 +107,7 @@ public class SectorPresets implements ContentList{ launchPeriod = 4; loadout = Loadouts.basicNucleus; requirements = with( - new ZoneWave(craters, 40), + new SectorWave(craters, 40), new Launched(fungalPass), new Unlock(Blocks.cultivator), new Unlock(Blocks.sporePress) @@ -122,7 +122,7 @@ public class SectorPresets implements ContentList{ conditionWave = 15; launchPeriod = 10; requirements = with( - new ZoneWave(ruinousShores, 20), + new SectorWave(ruinousShores, 20), new Unlock(Blocks.coalCentrifuge), new Unlock(Blocks.conduit), new Unlock(Blocks.wave) @@ -135,7 +135,7 @@ public class SectorPresets implements ContentList{ conditionWave = 3; launchPeriod = 2; requirements = with( - new ZoneWave(tarFields, 20), + new SectorWave(tarFields, 20), new Unlock(Blocks.thermalGenerator), new Unlock(Blocks.thoriumReactor) ); diff --git a/core/src/mindustry/content/TechTree.java b/core/src/mindustry/content/TechTree.java index ad9205cc3f..a0d54fc49d 100644 --- a/core/src/mindustry/content/TechTree.java +++ b/core/src/mindustry/content/TechTree.java @@ -3,6 +3,7 @@ package mindustry.content; import arc.math.*; import arc.struct.*; import mindustry.ctype.*; +import mindustry.game.Objectives.*; import mindustry.type.*; import mindustry.world.*; @@ -336,7 +337,7 @@ public class TechTree implements ContentList{ requirements = new ItemStack[block.requirements.length]; for(int i = 0; i < requirements.length; i++){ - requirements[i] = new ItemStack(block.requirements[i].item, 40 + Mathf.round(Mathf.pow(block.requirements[i].amount, 1.25f) * 6, 10)); + requirements[i] = new ItemStack(block.requirements[i].item, 40 + Mathf.round(Mathf.pow(block.requirements[i].amount, 1.25f) * 20, 10)); } }else{ requirements = ItemStack.empty; @@ -355,11 +356,20 @@ public class TechTree implements ContentList{ } public static class TechNode{ - static TechNode context; + private static TechNode context; + /** Requirement node. */ public TechNode parent; - public final UnlockableContent content; - public final ItemStack[] requirements; + /** Content to be researched. */ + public UnlockableContent content; + /** Item requirements for this content. */ + public ItemStack[] requirements; + /** Extra objectives needed to research this. TODO implement */ + public Objective[] objectives = {}; + /** Turns required to research this content. */ + //TODO keep track of turns that have been used so far + public int turns = 1; + /** Nodes that depend on this node. */ public final Array children = new Array<>(); TechNode(TechNode ccontext, UnlockableContent content, ItemStack[] requirements, Runnable children){ diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 5f18d656ab..f7228c2c96 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -3,6 +3,7 @@ package mindustry.content; import arc.struct.*; import mindustry.annotations.Annotations.*; import mindustry.ctype.*; +import mindustry.entities.bullet.*; import mindustry.gen.*; import mindustry.type.*; @@ -63,6 +64,72 @@ public class UnitTypes implements ContentList{ }}; + crawler = new UnitType("crawler"){{ + speed = 0.65f; + drag = 0.3f; + hitsize = 8f; + mass = 1.75f; + health = 120; + weapons.add(new Weapon(){{ + reload = 12f; + shootCone = 180f; + ejectEffect = Fx.none; + shootSound = Sounds.explosion; + bullet = new BombBulletType(2f, 3f, "clear"){{ + hitEffect = Fx.pulverize; + lifetime = 30f; + speed = 1.1f; + splashDamageRadius = 55f; + instantDisappear = true; + splashDamage = 30f; + killShooter = true; + }}; + }}); + }}; + + fortress = new UnitType("fortress"){{ + speed = 0.38f; + speed = 0.15f; + drag = 0.4f; + mass = 5f; + hitsize = 10f; + rotateSpeed = 3f; + targetAir = false; + health = 750; + weapons.add(new Weapon("artillery"){{ + y = 1f; + x = 9f; + reload = 60f; + alternate = true; + recoil = 4f; + shake = 2f; + ejectEffect = Fx.shellEjectMedium; + bullet = Bullets.artilleryUnit; + shootSound = Sounds.artillery; + }}); + }}; + + eruptor = new UnitType("eruptor"){{ + speed = 0.4f; + drag = 0.4f; + mass = 5f; + hitsize = 9f; + rotateSpeed = 3f; + targetAir = false; + health = 600; + immunities = ObjectSet.with(StatusEffects.burning, StatusEffects.melting); + weapons.add(new Weapon("eruption"){{ + shootY = 3f; + reload = 10f; + alternate = true; + ejectEffect = Fx.none; + bullet = Bullets.eruptorShot; + recoil = 1f; + x = 7f; + shootSound = Sounds.flame; + }}); + }}; + wraith = new UnitType("wraith"){{ speed = 3f; accel = 0.08f; @@ -152,6 +219,7 @@ public class UnitTypes implements ContentList{ recoil = 2f; bullet = Bullets.healBulletBig; shootSound = Sounds.pew; + }}); }}; @@ -171,49 +239,6 @@ public class UnitTypes implements ContentList{ }}; /* - crawler = new UnitType("crawler", GroundUnit::new){{ - maxVelocity = 1.27f; - speed = 0.285f; - drag = 0.4f; - hitsize = 8f; - mass = 1.75f; - health = 120; - weapons.add(new Weapon(){{ - reload = 12f; - ejectEffect = Fx.none; - shootSound = Sounds.explosion; - bullet = new BombBulletType(2f, 3f, "clear"){{ - hitEffect = Fx.pulverize; - lifetime = 30f; - speed = 1.1f; - splashDamageRadius = 55f; - instantDisappear = true; - splashDamage = 30f; - killShooter = true; - }}; - }}); - }}; - - titan = new UnitType("titan", GroundUnit::new){{ - maxVelocity = 0.8f; - speed = 0.22f; - drag = 0.4f; - mass = 3.5f; - hitsize = 9f; - range = 10f; - rotatespeed = 0.1f; - health = 460; - immunities.add(StatusEffects.burning); - weapons.add(new Weapon("flamethrower"){{ - shootSound = Sounds.flame; - length = 1f; - reload = 14f; - alternate = true; - recoil = 1f; - ejectEffect = Fx.none; - bullet = Bullets.basicFlame; - }}); - }}; fortress = new UnitType("fortress", GroundUnit::new){{ maxVelocity = 0.78f; diff --git a/core/src/mindustry/core/Control.java b/core/src/mindustry/core/Control.java index 1d4353b33f..c5c1427eda 100644 --- a/core/src/mindustry/core/Control.java +++ b/core/src/mindustry/core/Control.java @@ -175,12 +175,6 @@ public class Control implements ApplicationListener, Loadable{ Effects.shake(5f, 5f, core); }); }); - - Events.on(UnitDestroyEvent.class, e -> { - if(state.isCampaign()){ - data.unlockContent(e.unit.type()); - } - }); } @Override diff --git a/core/src/mindustry/core/GameState.java b/core/src/mindustry/core/GameState.java index d715ce653d..7d750faeae 100644 --- a/core/src/mindustry/core/GameState.java +++ b/core/src/mindustry/core/GameState.java @@ -30,6 +30,7 @@ public class GameState{ /** Current game state. */ private State state = State.menu; + //TODO optimize public Unitc boss(){ return Groups.unit.find(u -> u.isBoss() && u.team() == rules.waveTeam); } diff --git a/core/src/mindustry/core/Logic.java b/core/src/mindustry/core/Logic.java index 9b01512338..de8d3be828 100644 --- a/core/src/mindustry/core/Logic.java +++ b/core/src/mindustry/core/Logic.java @@ -111,6 +111,15 @@ public class Logic implements ApplicationListener{ universe.runTurn(); } }); + + //disable new waves after the boss spawns + Events.on(WaveEvent.class, e -> { + //only works for preset sectors so far + if(state.isCampaign() && state.boss() != null && state.rules.sector.preset != null){ + state.rules.waitEnemies = true; + } + }); + } /** Handles the event of content being used by either the player or some block. */ @@ -123,7 +132,8 @@ public class Logic implements ApplicationListener{ /** Adds starting items, resets wave time, and sets state to playing. */ public void play(){ state.set(State.playing); - state.wavetime = state.rules.waveSpacing * 2; //grace period of 2x wave time before game starts + //grace period of 2x wave time before game starts + state.wavetime = state.rules.waveSpacing * 2; Events.fire(new PlayEvent()); //add starting items @@ -160,7 +170,7 @@ public class Logic implements ApplicationListener{ Events.fire(new WaveEvent()); } - private void checkGameOver(){ + private void checkGameState(){ //campaign maps do not have a 'win' state! if(state.isCampaign()){ //gameover only when cores are dead @@ -174,6 +184,22 @@ public class Logic implements ApplicationListener{ //if yes, waves get disabled state.rules.waves = false; } + + //check if there is a boss present + Unitc boss = state.boss(); + //if this was a boss wave and there is no boss anymore, then it's a victory + if(state.rules.sector.preset != null && boss == null && state.rules.waves && state.rules.waitEnemies){ + //the sector has been conquered - waves get disabled + state.rules.waves = false; + + //fire capture event + Events.fire(new SectorCaptureEvent(state.rules.sector)); + + //save, just in case + if(!headless){ + control.saves.saveSector(state.rules.sector); + } + } }else{ if(!state.rules.attackMode && state.teams.playerCores().size == 0 && !state.gameOver){ state.gameOver = true; @@ -233,7 +259,7 @@ public class Logic implements ApplicationListener{ Sector sector = state.rules.sector; - //TODO what about containers, do they get launched too? + //TODO containers must be launched too Time.runTask(30f, () -> { for(Tilec entity : state.teams.playerCores()){ for(Item item : content.items()){ @@ -252,7 +278,7 @@ public class Logic implements ApplicationListener{ //run a turn, since launching takes up a turn universe.runTurn(); //TODO needs extra damage to prevent player from landing immediately afterwards - sector.setTurnsPassed(sector.getTurnsPassed() + 1); + sector.setTurnsPassed(sector.getTurnsPassed() + 3); Events.fire(new LaunchEvent()); //manually fire game over event now @@ -291,7 +317,7 @@ public class Logic implements ApplicationListener{ } if(state.rules.waves && state.rules.waveTimer && !state.gameOver){ - if(!state.rules.waitForWaveToEnd || state.enemies == 0){ + if(!state.rules.waitEnemies || state.enemies == 0){ state.wavetime = Math.max(state.wavetime - Time.delta(), 0); } } @@ -304,7 +330,7 @@ public class Logic implements ApplicationListener{ } if(!net.client() && !world.isInvalidMap() && !state.isEditor() && state.rules.canGameOver){ - checkGameOver(); + checkGameState(); } } } diff --git a/core/src/mindustry/core/World.java b/core/src/mindustry/core/World.java index ed2e594c9a..5d5fb17b8b 100644 --- a/core/src/mindustry/core/World.java +++ b/core/src/mindustry/core/World.java @@ -222,6 +222,9 @@ public class World{ } }); + //reset rules + setSectorRules(sector); + if(state.rules.defaultTeam.core() != null){ sector.setSpawnPosition(state.rules.defaultTeam.core().pos()); } @@ -231,6 +234,8 @@ public class World{ state.map = new Map(StringMap.of("name", sector.planet.localizedName + "; Sector " + sector.id)); state.rules.sector = sector; + state.rules.weather.clear(); + if(sector.is(SectorAttribute.rainy)){ state.rules.weather.add(new WeatherEntry(Weathers.rain)); } diff --git a/core/src/mindustry/editor/WaveInfoDialog.java b/core/src/mindustry/editor/WaveInfoDialog.java index 5dcd6d284b..5aa5881828 100644 --- a/core/src/mindustry/editor/WaveInfoDialog.java +++ b/core/src/mindustry/editor/WaveInfoDialog.java @@ -99,7 +99,7 @@ public class WaveInfoDialog extends FloatingDialog{ }}).width(390f).growY(); cont.table(Tex.clear, m -> { - m.add("$waves.preview").color(Color.lightGray).growX().center().get().setAlignment(Align.center, Align.center); + m.add("$waves.preview").color(Color.lightGray).wrap().growX().center().get().setAlignment(Align.center, Align.center); m.row(); m.button("-", () -> { }).update(t -> { diff --git a/core/src/mindustry/entities/def/LegsComp.java b/core/src/mindustry/entities/def/LegsComp.java index 22d5acb64f..089b678aa3 100644 --- a/core/src/mindustry/entities/def/LegsComp.java +++ b/core/src/mindustry/entities/def/LegsComp.java @@ -16,6 +16,6 @@ abstract class LegsComp implements Posc, Flyingc, Hitboxc, Unitc, Legsc, Elevati public void update(){ float len = vel().len(); baseRotation = Angles.moveToward(baseRotation, vel().angle(), type().baseRotateSpeed * Mathf.clamp(len / type().speed)); - walkTime += Time.delta()*len/1f; + walkTime += Time.delta()*len*2f; } } diff --git a/core/src/mindustry/entities/def/WeaponsComp.java b/core/src/mindustry/entities/def/WeaponsComp.java index 3393c9d96e..a2555094c4 100644 --- a/core/src/mindustry/entities/def/WeaponsComp.java +++ b/core/src/mindustry/entities/def/WeaponsComp.java @@ -97,7 +97,7 @@ abstract class WeaponsComp implements Teamc, Posc, Rotc{ float rotation = this.rotation - 90; //shoot if applicable - if(mount.reload <= 0.0001f && Angles.within(weapon.rotate ? mount.rotation : this.rotation, mount.targetRotation, 1.5f)){ + if(mount.reload <= 0.0001f && Angles.within(weapon.rotate ? mount.rotation : this.rotation, mount.targetRotation, mount.weapon.shootCone)){ for(int i : (weapon.mirror && !weapon.alternate ? Mathf.signs : Mathf.one)){ i *= Mathf.sign(weapon.flipped) * (mount.weapon.mirror ? Mathf.sign(mount.side) : 1); diff --git a/core/src/mindustry/game/EventType.java b/core/src/mindustry/game/EventType.java index 953545bfd8..86d4d58992 100644 --- a/core/src/mindustry/game/EventType.java +++ b/core/src/mindustry/game/EventType.java @@ -110,6 +110,15 @@ public class EventType{ } } + /** Called when a sector is conquered, e.g. a boss or base is defeated. */ + public static class SectorCaptureEvent{ + public final Sector sector; + + public SectorCaptureEvent(Sector sector){ + this.sector = sector; + } + } + /** Called when the player withdraws items from a block. */ public static class WithdrawEvent{ public final Tilec tile; diff --git a/core/src/mindustry/game/Objectives.java b/core/src/mindustry/game/Objectives.java index 6bd904e34c..e01e003d12 100644 --- a/core/src/mindustry/game/Objectives.java +++ b/core/src/mindustry/game/Objectives.java @@ -51,15 +51,15 @@ public class Objectives{ } } - public static class ZoneWave extends ZoneObjective{ + public static class SectorWave extends SectorObjective{ public int wave; - public ZoneWave(SectorPreset zone, int wave){ + public SectorWave(SectorPreset zone, int wave){ this.preset = zone; this.wave = wave; } - protected ZoneWave(){} + protected SectorWave(){} @Override public boolean complete(){ @@ -72,7 +72,7 @@ public class Objectives{ } } - public static class Launched extends ZoneObjective{ + public static class Launched extends SectorObjective{ public Launched(SectorPreset zone){ this.preset = zone; @@ -91,7 +91,7 @@ public class Objectives{ } } - public abstract static class ZoneObjective implements Objective{ + public abstract static class SectorObjective implements Objective{ public @NonNull SectorPreset preset; } @@ -112,7 +112,7 @@ public class Objectives{ } default SectorPreset zone(){ - return this instanceof ZoneObjective ? ((ZoneObjective)this).preset : null; + return this instanceof SectorObjective ? ((SectorObjective)this).preset : null; } } } diff --git a/core/src/mindustry/game/Rules.java b/core/src/mindustry/game/Rules.java index d45d52390e..82aa255a9d 100644 --- a/core/src/mindustry/game/Rules.java +++ b/core/src/mindustry/game/Rules.java @@ -1,9 +1,8 @@ package mindustry.game; -import arc.util.ArcAnnotate.*; -import mindustry.annotations.Annotations.*; -import arc.struct.*; import arc.graphics.*; +import arc.struct.*; +import arc.util.ArcAnnotate.*; import mindustry.content.*; import mindustry.io.*; import mindustry.type.*; @@ -67,8 +66,8 @@ public class Rules{ public boolean limitedRespawns = false; /** How many times player can respawn during one wave. */ public int respawns = 5; - /** Hold wave timer until all enemies are destroyed. */ - public boolean waitForWaveToEnd = false; + /** Whether to pause the wave timer until all enemies are destroyed. */ + public boolean waitEnemies = false; /** Determinates if gamemode is attack mode */ public boolean attackMode = false; /** Whether this is the editor gamemode. */ diff --git a/core/src/mindustry/maps/generators/FileMapGenerator.java b/core/src/mindustry/maps/generators/FileMapGenerator.java index ee3018c519..76a297756a 100644 --- a/core/src/mindustry/maps/generators/FileMapGenerator.java +++ b/core/src/mindustry/maps/generators/FileMapGenerator.java @@ -60,9 +60,9 @@ public class FileMapGenerator implements WorldGenerator{ } //add random decoration - if(Mathf.chance(0.015) && !tile.floor().isLiquid && tile.block() == Blocks.air){ - tile.setBlock(tile.floor().decoration); - } + //if(Mathf.chance(0.015) && !tile.floor().isLiquid && tile.block() == Blocks.air){ + // tile.setBlock(tile.floor().decoration); + //} } if(!anyCores){ diff --git a/core/src/mindustry/mod/ContentParser.java b/core/src/mindustry/mod/ContentParser.java index 021ca3f97f..2d09b45353 100644 --- a/core/src/mindustry/mod/ContentParser.java +++ b/core/src/mindustry/mod/ContentParser.java @@ -87,7 +87,7 @@ public class ContentParser{ return sound; }); put(Objectives.Objective.class, (type, data) -> { - Class oc = data.has("type") ? resolve(data.getString("type"), "mindustry.game.Objectives") : ZoneWave.class; + Class oc = data.has("type") ? resolve(data.getString("type"), "mindustry.game.Objectives") : SectorWave.class; data.remove("type"); Objectives.Objective obj = make(oc); readFields(obj, data); diff --git a/core/src/mindustry/type/SectorPreset.java b/core/src/mindustry/type/SectorPreset.java index 7ac342e121..2ca9a74353 100644 --- a/core/src/mindustry/type/SectorPreset.java +++ b/core/src/mindustry/type/SectorPreset.java @@ -18,7 +18,7 @@ public class SectorPreset extends UnlockableContent{ public @NonNull FileMapGenerator generator; public @NonNull Planet planet; public @NonNull Sector sector; - public Array requirements = new Array<>(); + public Array requirements = new Array<>(); public Cons rules = rules -> {}; public boolean alwaysUnlocked; @@ -91,13 +91,13 @@ public class SectorPreset extends UnlockableContent{ } public void updateObjectives(Runnable closure){ - Array incomplete = content.zones() + Array incomplete = content.zones() .flatMap(z -> z.requirements) .select(o -> o.zone() == this && !o.complete()) - .as(ZoneObjective.class); + .as(SectorObjective.class); closure.run(); - for(ZoneObjective objective : incomplete){ + for(SectorObjective objective : incomplete){ if(objective.complete()){ Events.fire(new ZoneRequireCompleteEvent(objective.preset, content.zones().find(z -> z.requirements.contains(objective)), objective)); } diff --git a/core/src/mindustry/type/Weapon.java b/core/src/mindustry/type/Weapon.java index f5b9d1e1e1..d35ebca515 100644 --- a/core/src/mindustry/type/Weapon.java +++ b/core/src/mindustry/type/Weapon.java @@ -48,6 +48,8 @@ public class Weapon{ public float lengthRand = 0f; /** delay in ticks between shots */ public float shotDelay = 0; + /** The half-radius of the cone in which shooting will start. */ + public float shootCone = 1.5f; /** whether shooter rotation is ignored when shooting. */ public boolean ignoreRotation = false; /** if turnCursor is false for a mech, how far away will the weapon target. */ @@ -66,7 +68,7 @@ public class Weapon{ } public void load(){ - region = Core.atlas.find(name + "-equip", Core.atlas.find(name, Core.atlas.find("clear"))); + region = Core.atlas.find(name, Core.atlas.find("clear")); } } diff --git a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java index ccea37565f..9e39b3e510 100644 --- a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java +++ b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java @@ -130,7 +130,7 @@ public class CustomRulesDialog extends FloatingDialog{ title("$rules.title.waves"); check("$rules.waves", b -> rules.waves = b, () -> rules.waves); check("$rules.wavetimer", b -> rules.waveTimer = b, () -> rules.waveTimer); - check("$rules.waitForWaveToEnd", b -> rules.waitForWaveToEnd = b, () -> rules.waitForWaveToEnd); + check("$rules.waitForWaveToEnd", b -> rules.waitEnemies = b, () -> rules.waitEnemies); number("$rules.wavespacing", false, f -> rules.waveSpacing = f * 60f, () -> rules.waveSpacing / 60f, () -> true); number("$rules.dropzoneradius", false, f -> rules.dropZoneRadius = f * tilesize, () -> rules.dropZoneRadius / tilesize, () -> true); diff --git a/core/src/mindustry/ui/dialogs/PlanetDialog.java b/core/src/mindustry/ui/dialogs/PlanetDialog.java index 111562cac5..8dfb169af7 100644 --- a/core/src/mindustry/ui/dialogs/PlanetDialog.java +++ b/core/src/mindustry/ui/dialogs/PlanetDialog.java @@ -283,13 +283,14 @@ public class PlanetDialog extends FloatingDialog{ if(selectAlpha > 0.01f){ if(sec.unlocked()){ - float stroke = 0.026f; - if(sec.hasBase()){ - drawSelection(sec, Tmp.c1.set(Team.sharded.color).mul(0.8f).a(selectAlpha), stroke, -0.005f); - }else if(sec.preset != null){ - drawSelection(sec, Tmp.c1.set(Team.derelict.color).mul(0.8f).a(selectAlpha), stroke, -0.005f); - }else if(sec.hasEnemyBase()){ - drawSelection(sec, Tmp.c1.set(Team.crux.color).mul(0.8f).a(selectAlpha), stroke, -0.005f); + Color color = + sec.hasBase() ? Team.sharded.color : + sec.preset != null ? Team.derelict.color : + sec.hasEnemyBase() ? Team.crux.color : + null; + + if(color != null){ + drawSelection(sec, Tmp.c1.set(color).mul(0.8f).a(selectAlpha), 0.026f, -0.001f); } }else{ draw(sec, Tmp.c1.set(shadowColor).mul(1, 1, 1, selectAlpha), -0.001f); @@ -312,12 +313,9 @@ public class PlanetDialog extends FloatingDialog{ //render arcs if(selected != null && selected.preset != null){ for(Objective o : selected.preset.requirements){ - if(o instanceof ZoneObjective){ - SectorPreset preset = ((ZoneObjective)o).preset; - - if(true){ - drawArc(planet, selected.tile.v, preset.sector.tile.v); - } + if(o instanceof SectorObjective){ + SectorPreset preset = ((SectorObjective)o).preset; + drawArc(planet, selected.tile.v, preset.sector.tile.v); } } } diff --git a/core/src/mindustry/ui/fragments/HudFragment.java b/core/src/mindustry/ui/fragments/HudFragment.java index 7c9e0340aa..634c97e785 100644 --- a/core/src/mindustry/ui/fragments/HudFragment.java +++ b/core/src/mindustry/ui/fragments/HudFragment.java @@ -49,6 +49,11 @@ public class HudFragment extends Fragment{ showToast("New turn: [accent]" + universe.getTurn() + "[]" + (attacked > 0 ? "\n[scarlet]" + Iconc.warning + " " + attacked + " sectors attacked!": "")); }); + //TODO details and stuff + Events.on(SectorCaptureEvent.class, e ->{ + showToast("Sector[accent] captured[]!"); + }); + //TODO tear this all down //menu at top left parent.fill(cont -> { @@ -625,7 +630,7 @@ public class HudFragment extends Fragment{ } if(state.rules.waveTimer){ - builder.append((state.rules.waitForWaveToEnd && state.enemies > 0 ? Core.bundle.get("wave.waveInProgress") : ( waitingf.get((int)(state.wavetime/60))))); + builder.append((state.rules.waitEnemies && state.enemies > 0 ? Core.bundle.get("wave.waveInProgress") : ( waitingf.get((int)(state.wavetime/60))))); }else if(state.enemies == 0){ builder.append(Core.bundle.get("waiting")); } diff --git a/tools/src/mindustry/tools/Generators.java b/tools/src/mindustry/tools/Generators.java index c8c15b5a12..3d7aa27d67 100644 --- a/tools/src/mindustry/tools/Generators.java +++ b/tools/src/mindustry/tools/Generators.java @@ -246,9 +246,9 @@ public class Generators{ Image image = ImagePacker.get(type.region); if(type.constructor.get() instanceof Legsc){ - image.draw(type.baseRegion); - image.draw(type.legRegion); - image.draw(type.legRegion, true, false); + image.drawCenter(type.baseRegion); + image.drawCenter(type.legRegion); + image.drawCenter(type.legRegion, true, false); } image.draw(type.region); diff --git a/tools/src/mindustry/tools/Image.java b/tools/src/mindustry/tools/Image.java index 0050d4350c..8fc7c500e5 100644 --- a/tools/src/mindustry/tools/Image.java +++ b/tools/src/mindustry/tools/Image.java @@ -68,6 +68,7 @@ class Image{ graphics.fillRect(x, y, 1, 1); } + /** Draws a region at the top left corner. */ void draw(TextureRegion region){ draw(region, 0, 0, false, false);