diff --git a/build.gradle b/build.gradle index b029469fa7..7516f22fbe 100644 --- a/build.gradle +++ b/build.gradle @@ -27,7 +27,7 @@ allprojects { gdxVersion = '1.9.8' roboVMVersion = '2.3.0' aiVersion = '1.8.1' - uCoreVersion = '88326fc' + uCoreVersion = 'a077c3a' getVersionString = { String buildVersion = getBuildVersion() diff --git a/core/assets-raw/sprites/blocks/distribution/core-open.png b/core/assets-raw/sprites/blocks/distribution/core-open.png new file mode 100644 index 0000000000..dbcc4fbebc Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/core-open.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/core-top.png b/core/assets-raw/sprites/blocks/distribution/core-top.png new file mode 100644 index 0000000000..432d616c02 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/core-top.png differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 1b6dbb647e..07c3e4e7e0 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -13,98 +13,98 @@ background index: -1 bridgeconduit rotate: false - xy: 246, 41 + xy: 698, 303 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-arrow rotate: false - xy: 256, 41 + xy: 698, 293 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-bridge rotate: false - xy: 266, 41 + xy: 698, 283 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-end rotate: false - xy: 276, 41 + xy: 658, 154 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor rotate: false - xy: 286, 41 + xy: 658, 144 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-arrow rotate: false - xy: 226, 28 + xy: 658, 134 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-bridge rotate: false - xy: 236, 31 + xy: 210, 8 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-end rotate: false - xy: 246, 31 + xy: 669, 229 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 512, 113 + xy: 461, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top rotate: false - xy: 532, 113 + xy: 451, 98 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduittunnel rotate: false - xy: 542, 113 + xy: 461, 98 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor rotate: false - xy: 685, 347 + xy: 471, 98 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyormove rotate: false - xy: 685, 337 + xy: 481, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyortunnel rotate: false - xy: 685, 327 + xy: 491, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -116,289 +116,303 @@ core orig: 24, 24 offset: 0, 0 index: -1 +core-open + rotate: false + xy: 572, 258 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 +core-top + rotate: false + xy: 598, 258 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 junction rotate: false - xy: 624, 150 + xy: 561, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit rotate: false - xy: 634, 160 + xy: 561, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-arrow rotate: false - xy: 644, 170 + xy: 561, 73 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-bridge rotate: false - xy: 614, 130 + xy: 571, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-end rotate: false - xy: 624, 140 + xy: 571, 96 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor rotate: false - xy: 634, 150 + xy: 581, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-arrow rotate: false - xy: 644, 160 + xy: 571, 86 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-bridge rotate: false - xy: 624, 130 + xy: 581, 96 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-end rotate: false - xy: 634, 140 + xy: 591, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidjunction rotate: false - xy: 664, 175 + xy: 601, 96 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter rotate: false - xy: 654, 155 + xy: 611, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-bottom rotate: false - xy: 664, 165 + xy: 591, 76 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-liquid rotate: false - xy: 654, 145 + xy: 601, 86 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-top rotate: false - xy: 664, 155 + xy: 611, 96 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidtank-bottom rotate: false - xy: 755, 407 + xy: 603, 232 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquidtank-liquid rotate: false - xy: 577, 232 + xy: 629, 232 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquidtank-top rotate: false - xy: 603, 232 + xy: 577, 206 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 multiplexer rotate: false - xy: 891, 443 + xy: 999, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 overflowgate rotate: false - xy: 674, 135 + xy: 404, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyor rotate: false - xy: 296, 37 + xy: 581, 66 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyormove rotate: false - xy: 306, 37 + xy: 591, 66 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-bottom rotate: false - xy: 316, 29 + xy: 631, 68 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-top rotate: false - xy: 326, 33 + xy: 561, 63 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 634, 120 + xy: 641, 84 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sortedunloader rotate: false - xy: 306, 17 + xy: 270, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sorter rotate: false - xy: 295, 7 + xy: 280, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 splitter rotate: false - xy: 316, 9 + xy: 300, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyor rotate: false - xy: 326, 3 + xy: 310, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyormove rotate: false - xy: 574, 110 + xy: 801, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 teleporter-top rotate: false - xy: 456, 144 + xy: 456, 118 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 unloader rotate: false - xy: 939, 399 + xy: 845, 403 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vault rotate: false - xy: 456, 118 + xy: 829, 453 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 weaponfactory rotate: false - xy: 871, 407 + xy: 608, 116 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 blackrock1 rotate: false - xy: 362, 79 + xy: 313, 89 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackrockshadow1 rotate: false - xy: 374, 91 + xy: 334, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone1 rotate: false - xy: 384, 91 + xy: 344, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone2 rotate: false - xy: 395, 109 + xy: 354, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone3 rotate: false - xy: 405, 110 + xy: 364, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock1 rotate: false - xy: 415, 110 + xy: 374, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock2 rotate: false - xy: 395, 99 + xy: 384, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock3 rotate: false - xy: 405, 100 + xy: 312, 79 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -412,49 +426,49 @@ blackstoneedge index: -1 coal1 rotate: false - xy: 276, 31 + xy: 677, 219 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal2 rotate: false - xy: 286, 31 + xy: 667, 209 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 224, 18 + xy: 677, 209 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater rotate: false - xy: 666, 185 + xy: 511, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt1 rotate: false - xy: 679, 245 + xy: 521, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 679, 235 + xy: 531, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 679, 225 + xy: 541, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -468,35 +482,35 @@ dirtedge index: -1 grass1 rotate: false - xy: 554, 185 + xy: 501, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass2 rotate: false - xy: 554, 175 + xy: 511, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass3 rotate: false - xy: 554, 165 + xy: 521, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock1 rotate: false - xy: 554, 155 + xy: 531, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock2 rotate: false - xy: 554, 145 + xy: 541, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -510,497 +524,497 @@ grassedge index: -1 ice1 rotate: false - xy: 554, 135 + xy: 441, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice2 rotate: false - xy: 554, 125 + xy: 451, 78 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice3 rotate: false - xy: 564, 187 + xy: 461, 78 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iceedge rotate: false - xy: 297, 95 + xy: 248, 47 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 icerock1 rotate: false - xy: 564, 177 + xy: 471, 78 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerock2 rotate: false - xy: 564, 167 + xy: 481, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow1 rotate: false - xy: 564, 157 + xy: 491, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow1 rotate: false - xy: 564, 157 + xy: 491, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow2 rotate: false - xy: 564, 147 + xy: 501, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow2 rotate: false - xy: 564, 147 + xy: 501, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron1 rotate: false - xy: 574, 180 + xy: 531, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron2 rotate: false - xy: 584, 180 + xy: 541, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron3 rotate: false - xy: 574, 170 + xy: 694, 273 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava rotate: false - xy: 644, 150 + xy: 571, 76 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lavaedge rotate: false - xy: 232, 79 + xy: 262, 47 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 lead1 rotate: false - xy: 644, 140 + xy: 591, 96 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead2 rotate: false - xy: 644, 130 + xy: 601, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead3 rotate: false - xy: 654, 175 + xy: 581, 76 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor1 rotate: false - xy: 664, 135 + xy: 611, 76 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor2 rotate: false - xy: 654, 125 + xy: 621, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor3 rotate: false - xy: 664, 125 + xy: 621, 96 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor4 rotate: false - xy: 326, 43 + xy: 621, 86 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor5 rotate: false - xy: 676, 185 + xy: 621, 76 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor6 rotate: false - xy: 674, 175 + xy: 631, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalflooredge rotate: false - xy: 232, 65 + xy: 276, 47 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mossblock rotate: false - xy: 674, 165 + xy: 631, 98 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil rotate: false - xy: 674, 155 + xy: 631, 88 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oiledge rotate: false - xy: 246, 79 + xy: 290, 47 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 rock1 rotate: false - xy: 614, 120 + xy: 641, 104 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock2 rotate: false - xy: 624, 120 + xy: 641, 94 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand1 rotate: false - xy: 554, 115 + xy: 641, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand2 rotate: false - xy: 654, 115 + xy: 631, 48 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand3 rotate: false - xy: 664, 115 + xy: 641, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock1 rotate: false - xy: 674, 115 + xy: 652, 124 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock2 rotate: false - xy: 236, 21 + xy: 652, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock3 rotate: false - xy: 246, 21 + xy: 651, 104 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandedge rotate: false - xy: 232, 51 + xy: 304, 47 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shrub rotate: false - xy: 245, 11 + xy: 662, 124 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shrubshadow rotate: false - xy: 245, 1 + xy: 662, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow1 rotate: false - xy: 265, 11 + xy: 661, 84 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow2 rotate: false - xy: 265, 1 + xy: 661, 74 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow3 rotate: false - xy: 275, 11 + xy: 661, 64 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock1 rotate: false - xy: 275, 1 + xy: 661, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock2 rotate: false - xy: 285, 11 + xy: 661, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock3 rotate: false - xy: 285, 1 + xy: 250, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowedge rotate: false - xy: 260, 65 + xy: 644, 150 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 space rotate: false - xy: 305, 7 + xy: 290, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 spaceedge rotate: false - xy: 274, 79 + xy: 644, 136 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 stone1 rotate: false - xy: 624, 110 + xy: 799, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 634, 110 + xy: 799, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 644, 110 + xy: 799, 413 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock1 rotate: false - xy: 564, 107 + xy: 809, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock2 rotate: false - xy: 654, 105 + xy: 809, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock3 rotate: false - xy: 664, 105 + xy: 819, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneedge rotate: false - xy: 274, 51 + xy: 668, 277 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 thorium1 rotate: false - xy: 604, 100 + xy: 819, 413 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium2 rotate: false - xy: 614, 100 + xy: 815, 403 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium3 rotate: false - xy: 624, 100 + xy: 829, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium1 rotate: false - xy: 634, 100 + xy: 839, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 644, 100 + xy: 829, 413 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 654, 95 + xy: 825, 403 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water rotate: false - xy: 969, 399 + xy: 859, 413 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 wateredge rotate: false - xy: 210, 18 + xy: 655, 235 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 block-border rotate: false - xy: 195, 4 + xy: 431, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-middle rotate: false - xy: 226, 38 + xy: 695, 323 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 226, 38 + xy: 695, 323 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 border rotate: false - xy: 236, 41 + xy: 698, 313 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 522, 113 + xy: 471, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 656, 185 + xy: 501, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-2 rotate: false - xy: 341, 101 + xy: 233, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cross-3 rotate: false - xy: 572, 258 + xy: 624, 258 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -1014,7 +1028,7 @@ cross-4 index: -1 enemyspawn rotate: false - xy: 686, 317 + xy: 471, 88 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1028,70 +1042,70 @@ nuclearreactor-shadow index: -1 place-arrow rotate: false - xy: 674, 125 + xy: 414, 86 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 playerspawn rotate: false - xy: 686, 269 + xy: 571, 66 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ripples rotate: false - xy: 338, 89 + xy: 685, 333 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 rubble-1-0 rotate: false - xy: 817, 425 + xy: 554, 125 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-1-1 rotate: false - xy: 835, 425 + xy: 576, 170 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-2-0 rotate: false - xy: 853, 425 + xy: 594, 170 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-2-1 rotate: false - xy: 871, 425 + xy: 612, 170 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-3-0 rotate: false - xy: 119, 17 + xy: 456, 144 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 rubble-3-1 rotate: false - xy: 119, 17 + xy: 456, 144 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 shadow-1 rotate: false - xy: 350, 77 + xy: 681, 251 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1126,14 +1140,14 @@ shadow-5 index: -1 shadow-round-1 rotate: false - xy: 362, 89 + xy: 681, 239 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 battery rotate: false - xy: 1015, 433 + xy: 313, 99 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1147,14 +1161,14 @@ batterylarge index: -1 combustiongenerator rotate: false - xy: 482, 113 + xy: 441, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustiongenerator-top rotate: false - xy: 492, 113 + xy: 441, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1217,56 +1231,56 @@ fusionreactor-top index: -1 largesolarpanel rotate: false - xy: 624, 258 + xy: 577, 232 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquidcombustiongenerator rotate: false - xy: 654, 165 + xy: 591, 86 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 nuclearreactor rotate: false - xy: 136, 82 + xy: 167, 104 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nuclearreactor-center rotate: false - xy: 136, 56 + xy: 193, 104 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nuclearreactor-lights rotate: false - xy: 167, 104 + xy: 162, 78 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 powerinfinite rotate: false - xy: 316, 39 + xy: 601, 66 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powernode rotate: false - xy: 296, 27 + xy: 611, 66 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powernodelarge rotate: false - xy: 981, 443 + xy: 558, 179 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1280,63 +1294,63 @@ powernodelarge-shadow index: -1 powervoid rotate: false - xy: 306, 27 + xy: 621, 66 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator rotate: false - xy: 644, 120 + xy: 641, 74 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator-top rotate: false - xy: 564, 117 + xy: 641, 64 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldgenerator rotate: false - xy: 276, 21 + xy: 651, 74 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldprojector rotate: false - xy: 889, 425 + xy: 630, 170 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 solarpanel rotate: false - xy: 296, 17 + xy: 260, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 teleporter rotate: false - xy: 456, 170 + xy: 430, 132 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 teleporter-top rotate: false - xy: 430, 132 + xy: 803, 453 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 thermalgenerator rotate: false - xy: 594, 100 + xy: 829, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1364,252 +1378,252 @@ biomattercompressor-frame0 index: -1 biomattercompressor-frame1 rotate: false - xy: 233, 109 + xy: 855, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-frame2 rotate: false - xy: 251, 109 + xy: 873, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-liquid rotate: false - xy: 269, 109 + xy: 891, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-top rotate: false - xy: 287, 109 + xy: 909, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 centrifuge rotate: false - xy: 214, 66 + xy: 963, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 centrifuge-liquid rotate: false - xy: 214, 48 + xy: 981, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-bottom rotate: false - xy: 839, 461 + xy: 214, 84 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-liquid rotate: false - xy: 857, 461 + xy: 214, 66 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-top rotate: false - xy: 875, 461 + xy: 214, 48 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator rotate: false - xy: 893, 461 + xy: 323, 101 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator-middle rotate: false - xy: 911, 461 + xy: 341, 101 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator-top rotate: false - xy: 929, 461 + xy: 359, 101 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 extractor rotate: false - xy: 686, 307 + xy: 481, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 fluxpump rotate: false - xy: 686, 297 + xy: 491, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 incinerator rotate: false - xy: 564, 127 + xy: 521, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill rotate: false - xy: 594, 180 + xy: 693, 263 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-rotator rotate: false - xy: 574, 160 + xy: 693, 253 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-rotator rotate: false - xy: 574, 160 + xy: 693, 253 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-top rotate: false - xy: 584, 170 + xy: 693, 243 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemsource rotate: false - xy: 604, 130 + xy: 551, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemvoid rotate: false - xy: 614, 140 + xy: 561, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserdrill rotate: false - xy: 837, 443 + xy: 945, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laserdrill-rotator rotate: false - xy: 855, 443 + xy: 963, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laserdrill-top rotate: false - xy: 873, 443 + xy: 981, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 lavasmelter rotate: false - xy: 634, 130 + xy: 581, 86 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidsource rotate: false - xy: 654, 135 + xy: 601, 76 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 melter rotate: false - xy: 664, 145 + xy: 611, 86 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 nucleardrill rotate: false - xy: 629, 232 + xy: 603, 206 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nucleardrill-rim rotate: false - xy: 577, 206 + xy: 629, 206 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nucleardrill-rotator rotate: false - xy: 603, 206 + xy: 136, 82 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nucleardrill-top rotate: false - xy: 629, 206 + xy: 136, 56 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor rotate: false - xy: 193, 104 + xy: 188, 78 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor-liquid rotate: false - xy: 162, 78 + xy: 162, 52 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor-rotator rotate: false - xy: 188, 78 + xy: 188, 52 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor-top rotate: false - xy: 162, 52 + xy: 119, 17 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilrefinery rotate: false - xy: 674, 145 + xy: 631, 78 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1644,224 +1658,224 @@ plasmadrill-top index: -1 plasticformer rotate: false - xy: 909, 443 + xy: 576, 188 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 plasticformer-top rotate: false - xy: 927, 443 + xy: 594, 188 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweralloysmelter rotate: false - xy: 945, 443 + xy: 612, 188 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweralloysmelter-top rotate: false - xy: 963, 443 + xy: 630, 188 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powersmelter rotate: false - xy: 999, 443 + xy: 554, 161 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powersmelter-top rotate: false - xy: 799, 425 + xy: 554, 143 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 siliconsmelter-top rotate: false - xy: 799, 425 + xy: 554, 143 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 326, 23 + xy: 571, 56 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 316, 19 + xy: 581, 56 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump rotate: false - xy: 326, 13 + xy: 591, 56 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill rotate: false - xy: 430, 122 + xy: 601, 56 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-rotator rotate: false - xy: 440, 122 + xy: 611, 56 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-top rotate: false - xy: 574, 120 + xy: 621, 56 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator rotate: false - xy: 256, 21 + xy: 651, 94 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 266, 21 + xy: 651, 84 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconextractor rotate: false - xy: 255, 11 + xy: 661, 104 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconsmelter rotate: false - xy: 907, 425 + xy: 572, 152 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 smelter rotate: false - xy: 255, 1 + xy: 661, 94 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill rotate: false - xy: 584, 110 + xy: 811, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-rotator rotate: false - xy: 594, 110 + xy: 821, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-top rotate: false - xy: 604, 110 + xy: 831, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stonedrill rotate: false - xy: 674, 105 + xy: 809, 413 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneformer rotate: false - xy: 574, 100 + xy: 805, 403 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill rotate: false - xy: 664, 95 + xy: 839, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-top rotate: false - xy: 674, 95 + xy: 839, 413 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 waterextractor rotate: false - xy: 979, 425 + xy: 608, 152 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-liquid rotate: false - xy: 997, 425 + xy: 608, 134 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-rotator rotate: false - xy: 799, 407 + xy: 626, 152 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-top rotate: false - xy: 817, 407 + xy: 626, 134 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-1 rotate: false - xy: 781, 403 + xy: 431, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-2 rotate: false - xy: 305, 109 + xy: 927, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-2-top rotate: false - xy: 214, 84 + xy: 945, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1896,7 +1910,7 @@ block-4-top index: -1 scatter-heat rotate: false - xy: 338, 77 + xy: 686, 299 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1917,63 +1931,63 @@ arc-heat index: -1 crux rotate: false - xy: 359, 101 + xy: 251, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-heat rotate: false - xy: 377, 101 + xy: 269, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-panel-left rotate: false - xy: 803, 461 + xy: 287, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-panel-right rotate: false - xy: 821, 461 + xy: 305, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 duo rotate: false - xy: 215, 8 + xy: 451, 88 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 fuse rotate: false - xy: 598, 258 + xy: 755, 407 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 spectre rotate: false - xy: 598, 258 + xy: 755, 407 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 lancer rotate: false - xy: 326, 89 + xy: 554, 113 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 lancer-heat rotate: false - xy: 326, 77 + xy: 685, 345 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1987,217 +2001,217 @@ meltdown index: -1 ripple rotate: false - xy: 188, 52 + xy: 456, 170 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 scatter rotate: false - xy: 326, 65 + xy: 686, 311 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scatter-heat rotate: false - xy: 350, 89 + xy: 686, 287 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scorch rotate: false - xy: 326, 53 + xy: 682, 275 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scorch-shoot rotate: false - xy: 338, 65 + xy: 681, 263 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 swarmer rotate: false - xy: 943, 425 + xy: 590, 152 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 wave rotate: false - xy: 835, 407 + xy: 572, 116 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 wave-liquid rotate: false - xy: 853, 407 + xy: 590, 116 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 flierfactory rotate: false - xy: 1001, 461 + xy: 522, 195 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory rotate: false - xy: 1001, 461 + xy: 522, 195 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 flierfactory-top rotate: false - xy: 486, 195 + xy: 482, 177 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory-top rotate: false - xy: 486, 195 + xy: 482, 177 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 flierfactory-top-open rotate: false - xy: 504, 195 + xy: 482, 159 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory-top-open rotate: false - xy: 504, 195 + xy: 482, 159 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 repairpoint rotate: false - xy: 584, 120 + xy: 631, 58 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 repairpoint-turret rotate: false - xy: 594, 120 + xy: 642, 124 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 resupplypoint rotate: false - xy: 604, 120 + xy: 642, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 compositewall rotate: false - xy: 502, 113 + xy: 451, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door rotate: false - xy: 679, 215 + xy: 441, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door-large rotate: false - xy: 947, 461 + xy: 377, 101 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 door-large-open rotate: false - xy: 965, 461 + xy: 486, 195 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 door-open rotate: false - xy: 205, 4 + xy: 431, 90 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 duriumwall rotate: false - xy: 225, 8 + xy: 461, 88 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 duriumwall-large rotate: false - xy: 983, 461 + xy: 504, 195 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 ironwall rotate: false - xy: 604, 180 + xy: 220, 8 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall rotate: false - xy: 614, 110 + xy: 841, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall-large rotate: false - xy: 925, 425 + xy: 572, 134 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 stonewall rotate: false - xy: 584, 100 + xy: 819, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumshieldwall rotate: false - xy: 889, 399 + xy: 835, 403 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall rotate: false - xy: 899, 399 + xy: 849, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall-large rotate: false - xy: 961, 425 + xy: 590, 134 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2239,7 +2253,7 @@ bullet-back index: -1 casing rotate: false - xy: 195, 14 + xy: 644, 164 size: 2, 4 orig: 2, 4 offset: 0, 0 @@ -2253,7 +2267,7 @@ clear index: -1 enemyarrow rotate: false - xy: 650, 258 + xy: 427, 120 size: 8, 7 orig: 8, 7 offset: 0, 0 @@ -2295,21 +2309,21 @@ shell-back index: -1 shot rotate: false - xy: 235, 1 + xy: 651, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 transfer rotate: false - xy: 572, 244 + xy: 678, 263 size: 1, 12 orig: 1, 12 offset: 0, 0 index: -1 transfer-arrow rotate: false - xy: 909, 399 + xy: 849, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2323,196 +2337,196 @@ transfer-end index: -1 item-armor-piercing-bullet rotate: false - xy: 574, 150 + xy: 689, 229 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-composite-flak rotate: false - xy: 574, 140 + xy: 703, 263 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-explosive-shell rotate: false - xy: 584, 150 + xy: 703, 253 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-frag-shell rotate: false - xy: 594, 160 + xy: 703, 243 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-homing-bullet rotate: false - xy: 604, 170 + xy: 699, 233 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-incendiary-mortar-shell rotate: false - xy: 624, 180 + xy: 699, 223 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead-bullet rotate: false - xy: 594, 150 + xy: 709, 223 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-scythe-missile rotate: false - xy: 634, 180 + xy: 707, 203 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-mortar-shell rotate: false - xy: 624, 170 + xy: 481, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-swarm-missile rotate: false - xy: 644, 180 + xy: 491, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium-shell rotate: false - xy: 614, 150 + xy: 521, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-tracer-bullet rotate: false - xy: 634, 170 + xy: 541, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-biomatter rotate: false - xy: 584, 160 + xy: 687, 219 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-blast-compound rotate: false - xy: 594, 170 + xy: 687, 209 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-coal rotate: false - xy: 614, 180 + xy: 704, 273 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-iron rotate: false - xy: 574, 130 + xy: 697, 213 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead rotate: false - xy: 584, 140 + xy: 709, 233 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-plastic rotate: false - xy: 604, 160 + xy: 707, 213 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-sand rotate: false - xy: 614, 170 + xy: 697, 203 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 584, 130 + xy: 551, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-steel rotate: false - xy: 594, 140 + xy: 551, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-stone rotate: false - xy: 604, 150 + xy: 551, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 614, 160 + xy: 394, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thermite rotate: false - xy: 594, 130 + xy: 501, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 604, 140 + xy: 511, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 624, 160 + xy: 531, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 standard-mech rotate: false - xy: 260, 51 + xy: 210, 18 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-ship rotate: false - xy: 274, 65 + xy: 654, 277 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -2689,7 +2703,7 @@ discord-banner-over index: -1 controller-cursor rotate: false - xy: 323, 101 + xy: 999, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2717,63 +2731,63 @@ icon-admin index: -1 icon-admin-small rotate: false - xy: 1017, 453 + xy: 1017, 477 size: 6, 6 orig: 6, 6 offset: 0, 0 index: -1 icon-areaDelete rotate: false - xy: 311, 97 + xy: 655, 223 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow rotate: false - xy: 522, 195 + xy: 500, 177 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-arrow-16 rotate: false - xy: 522, 195 + xy: 500, 177 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-arrow-down rotate: false - xy: 654, 279 + xy: 655, 211 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-left rotate: false - xy: 666, 279 + xy: 669, 251 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-right rotate: false - xy: 650, 267 + xy: 669, 239 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-up rotate: false - xy: 662, 267 + xy: 395, 107 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-back rotate: false - xy: 482, 177 + xy: 482, 141 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2787,42 +2801,42 @@ icon-ban index: -1 icon-cancel rotate: false - xy: 482, 159 + xy: 500, 159 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-chat rotate: false - xy: 660, 255 + xy: 407, 108 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-check rotate: false - xy: 500, 177 + xy: 518, 177 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-crafting rotate: false - xy: 678, 279 + xy: 419, 108 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-cursor rotate: false - xy: 674, 267 + xy: 781, 401 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-defense rotate: false - xy: 672, 255 + xy: 226, 33 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2836,504 +2850,504 @@ icon-dev-builds index: -1 icon-discord rotate: false - xy: 889, 409 + xy: 626, 118 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-distribution rotate: false - xy: 302, 83 + xy: 238, 33 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-donate rotate: false - xy: 905, 409 + xy: 145, 28 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-dots rotate: false - xy: 921, 409 + xy: 147, 1 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-editor rotate: false - xy: 937, 409 + xy: 162, 36 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-egg rotate: false - xy: 953, 409 + xy: 178, 36 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-exit rotate: false - xy: 969, 409 + xy: 194, 36 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-file rotate: false - xy: 482, 141 + xy: 482, 123 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-file-image rotate: false - xy: 500, 159 + xy: 500, 141 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-file-text rotate: false - xy: 985, 409 + xy: 210, 32 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-fill rotate: false - xy: 518, 177 + xy: 518, 159 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-floppy rotate: false - xy: 1001, 409 + xy: 163, 1 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-floppy-16 rotate: false - xy: 482, 123 + xy: 500, 123 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-folder rotate: false - xy: 576, 190 + xy: 167, 20 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-folder-parent rotate: false - xy: 592, 190 + xy: 183, 20 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-github rotate: false - xy: 608, 190 + xy: 179, 4 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-google-play rotate: false - xy: 624, 190 + xy: 638, 300 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-grid rotate: false - xy: 500, 141 + xy: 518, 141 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-hold rotate: false - xy: 302, 71 + xy: 250, 35 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-holdDelete rotate: false - xy: 302, 59 + xy: 262, 35 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-home rotate: false - xy: 640, 190 + xy: 638, 284 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-host rotate: false - xy: 145, 28 + xy: 654, 307 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-info rotate: false - xy: 302, 47 + xy: 274, 35 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-itch.io rotate: false - xy: 147, 1 + xy: 654, 291 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-items-none rotate: false - xy: 564, 137 + xy: 511, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-line rotate: false - xy: 518, 159 + xy: 518, 123 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-link rotate: false - xy: 162, 36 + xy: 670, 307 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-liquid rotate: false - xy: 655, 243 + xy: 286, 35 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-load rotate: false - xy: 178, 36 + xy: 670, 291 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-load-image rotate: false - xy: 500, 123 + xy: 540, 195 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-load-map rotate: false - xy: 518, 141 + xy: 536, 177 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-loading rotate: false - xy: 518, 123 + xy: 536, 159 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-logic rotate: false - xy: 655, 231 + xy: 298, 35 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu rotate: false - xy: 667, 243 + xy: 310, 35 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu-large rotate: false - xy: 540, 195 + xy: 536, 141 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-none rotate: false - xy: 655, 219 + xy: 195, 2 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pause rotate: false - xy: 667, 231 + xy: 395, 95 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pencil rotate: false - xy: 536, 177 + xy: 536, 123 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-pencil-small rotate: false - xy: 194, 36 + xy: 233, 93 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-pick rotate: false - xy: 536, 159 + xy: 558, 197 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-play rotate: false - xy: 655, 207 + xy: 407, 96 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-play-2 rotate: false - xy: 210, 32 + xy: 249, 93 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-players rotate: false - xy: 667, 219 + xy: 419, 96 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-power rotate: false - xy: 667, 207 + xy: 793, 401 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-production rotate: false - xy: 656, 195 + xy: 482, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-quit rotate: false - xy: 163, 1 + xy: 265, 93 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-redo rotate: false - xy: 536, 141 + xy: 783, 449 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-refresh rotate: false - xy: 167, 20 + xy: 281, 93 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rename rotate: false - xy: 183, 20 + xy: 297, 93 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-resize rotate: false - xy: 536, 123 + xy: 781, 431 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-rotate rotate: false - xy: 179, 4 + xy: 232, 77 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-arrow rotate: false - xy: 638, 300 + xy: 232, 61 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-left rotate: false - xy: 638, 284 + xy: 248, 77 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-right rotate: false - xy: 654, 307 + xy: 248, 61 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save rotate: false - xy: 654, 291 + xy: 264, 77 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save-image rotate: false - xy: 558, 197 + xy: 781, 413 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-save-map rotate: false - xy: 783, 449 + xy: 855, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-settings rotate: false - xy: 668, 195 + xy: 494, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-terrain rotate: false - xy: 781, 431 + xy: 873, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-tools rotate: false - xy: 670, 307 + xy: 264, 61 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-touch rotate: false - xy: 314, 85 + xy: 506, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-touchDelete rotate: false - xy: 314, 73 + xy: 518, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-trash rotate: false - xy: 670, 291 + xy: 280, 77 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-trash-16 rotate: false - xy: 781, 413 + xy: 891, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-trello rotate: false - xy: 233, 93 + xy: 280, 61 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-tutorial rotate: false - xy: 249, 93 + xy: 296, 77 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-undo rotate: false - xy: 801, 443 + xy: 909, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-units rotate: false - xy: 314, 61 + xy: 530, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-weapon rotate: false - xy: 314, 49 + xy: 542, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-wiki rotate: false - xy: 265, 93 + xy: 296, 61 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-zoom rotate: false - xy: 819, 443 + xy: 927, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-zoom-small rotate: false - xy: 281, 93 + xy: 232, 45 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -3411,7 +3425,7 @@ selection index: -1 slider rotate: false - xy: 1017, 443 + xy: 207, 4 size: 1, 8 orig: 1, 8 offset: 0, 0 @@ -3513,140 +3527,140 @@ drone index: -1 scout rotate: false - xy: 246, 65 + xy: 648, 192 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout-base rotate: false - xy: 260, 79 + xy: 648, 178 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-mech-base rotate: false - xy: 260, 79 + xy: 648, 178 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout-leg rotate: false - xy: 246, 51 + xy: 648, 164 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-mech-leg rotate: false - xy: 246, 51 + xy: 648, 164 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol rotate: false - xy: 288, 79 + xy: 650, 263 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-booster-1 rotate: false - xy: 288, 65 + xy: 664, 263 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-booster-2 rotate: false - xy: 288, 51 + xy: 655, 249 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-flame rotate: false - xy: 338, 54 + xy: 323, 90 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 beam-equip rotate: false - xy: 350, 67 + xy: 685, 323 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster rotate: false - xy: 415, 100 + xy: 312, 69 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster-equip rotate: false - xy: 394, 89 + xy: 437, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun rotate: false - xy: 256, 31 + xy: 679, 229 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun-equip rotate: false - xy: 266, 31 + xy: 667, 219 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun rotate: false - xy: 286, 21 + xy: 651, 64 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 235, 11 + xy: 651, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster rotate: false - xy: 919, 399 + xy: 859, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster-equip rotate: false - xy: 929, 399 + xy: 849, 413 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan rotate: false - xy: 949, 399 + xy: 859, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan-equip rotate: false - xy: 959, 399 + xy: 869, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 3401a6c11a..12b5b9a7a1 100644 Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ diff --git a/core/src/io/anuke/mindustry/content/fx/Fx.java b/core/src/io/anuke/mindustry/content/fx/Fx.java index 072cfff290..bf831a53bc 100644 --- a/core/src/io/anuke/mindustry/content/fx/Fx.java +++ b/core/src/io/anuke/mindustry/content/fx/Fx.java @@ -53,9 +53,9 @@ public class Fx implements ContentList { }); spawn = new Effect(23, e -> { - Lines.stroke(2f); - Draw.color(Color.DARK_GRAY, Color.SCARLET, e.fin()); - Lines.circle(e.x, e.y, 7f - e.fin() * 6f); + Lines.stroke(2f * e.fout()); + Draw.color(Palette.accent); + Lines.poly(e.x, e.y, 4, 3f + e.fin() * 8f); Draw.reset(); }); } diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index 0c5bfa0923..647b0e92d8 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -177,7 +177,6 @@ public class Control extends Module{ }); } - //TODO drop player method public void addPlayer(int index){ if(players.length < index + 1){ Player[] old = players; diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 2bff710d30..0a5971d47b 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -55,6 +55,7 @@ public class Renderer extends RendererModule{ private OverlayRenderer overlays = new OverlayRenderer(); public Renderer() { + pixelate = true; Lines.setCircleVertices(14); Shaders.init(); @@ -114,17 +115,12 @@ public class Renderer extends RendererModule{ @Override public void init(){ - pixelate = Settings.getBool("pixelate"); - int scale = Settings.getBool("pixelate") ? Core.cameraScale : 1; + int scale = Core.cameraScale; effectSurface = Graphics.createSurface(scale); pixelSurface = Graphics.createSurface(scale); } - public void setPixelate(boolean pixelate){ - this.pixelate = pixelate; - } - @Override public void update(){ @@ -399,10 +395,8 @@ public class Renderer extends RendererModule{ targetscale = amount; clampScale(); //scale up all surfaces in preparation for the zoom - if(Settings.getBool("pixelate")){ - for(Surface surface : Graphics.getSurfaces()){ - surface.setScale(targetscale); - } + for(Surface surface : Graphics.getSurfaces()){ + surface.setScale(targetscale); } } diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 3f15e0e55c..fe090eaaf4 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -19,7 +19,11 @@ import io.anuke.mindustry.net.NetEvents; import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.Floor; -import io.anuke.ucore.core.*; +import io.anuke.mindustry.world.blocks.types.storage.CoreBlock.CoreEntity; +import io.anuke.ucore.core.Core; +import io.anuke.ucore.core.Effects; +import io.anuke.ucore.core.Inputs; +import io.anuke.ucore.core.Timers; import io.anuke.ucore.entities.SolidEntity; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Fill; @@ -55,8 +59,8 @@ public class Player extends Unit implements BlockBuilder { public boolean isLocal = false; public Timer timer = new Timer(4); + private boolean respawning; private float walktime; - private float respawntime; private Queue placeQueue = new Queue<>(); public Player(){ @@ -113,6 +117,7 @@ public class Player extends Unit implements BlockBuilder { @Override public void onDeath(){ dead = true; + respawning = false; placeQueue.clear(); if(Net.active()){ NetEvents.handleUnitDeath(this); @@ -122,14 +127,13 @@ public class Player extends Unit implements BlockBuilder { float flammability = (inventory.hasItem() ? inventory.getItem().item.flammability * inventory.getItem().amount : 0f); DamageArea.dynamicExplosion(x, y, flammability, explosiveness, 0f, getSize()/2f, Palette.darkFlame); Effects.sound("die", this); - - respawntime = respawnduration; super.onDeath(); } @Override public void onRemoteDeath(){ dead = true; + respawning = true; Effects.effect(ExplosionFx.explosion, this); Effects.shake(4f, 5f, this); Effects.sound("die", this); @@ -296,19 +300,14 @@ public class Player extends Unit implements BlockBuilder { return; } - if(respawntime > 0){ + if(isDead()){ + CoreEntity entity = (CoreEntity)getClosestCore(); - respawntime -= Timers.delta(); - - if(respawntime <= 0){ - set(world.getSpawnX(), world.getSpawnY()); - heal(); - add(); - Effects.sound("respawn"); - } - } - - if(isDead()) return; + if(!respawning && entity != null && entity.trySetPlayer(this)){ + respawning = true; + } + return; + } if(mech.flying){ updateFlying(); @@ -328,7 +327,6 @@ public class Player extends Unit implements BlockBuilder { public void reset(){ weapon = Weapons.blaster; team = Team.blue; - respawntime = -1; inventory.clear(); upgrades.clear(); placeQueue.clear(); diff --git a/core/src/io/anuke/mindustry/entities/Units.java b/core/src/io/anuke/mindustry/entities/Units.java index 4c212550bb..67d20131a2 100644 --- a/core/src/io/anuke/mindustry/entities/Units.java +++ b/core/src/io/anuke/mindustry/entities/Units.java @@ -5,6 +5,7 @@ import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.ObjectSet; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.game.Team; +import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.entities.Entities; import io.anuke.ucore.entities.Entity; @@ -19,6 +20,24 @@ import static io.anuke.mindustry.Vars.*; public class Units { private static Rectangle rect = new Rectangle(); + /**Returns whether there are any entities on this tile.*/ + public static boolean anyEntities(Tile tile){ + Block type = tile.block(); + rect.setSize(type.size * tilesize, type.size * tilesize); + rect.setCenter(tile.drawx(), tile.drawy()); + + boolean[] value = new boolean[1]; + + Units.getNearby(rect, unit -> { + if(value[0]) return; + if(unit.hitbox.getRect(unit.x, unit.y).overlaps(rect)){ + value[0] = true; + } + }); + + return value[0]; + } + /**Returns the neareset ally tile in a range.*/ public static TileEntity findAllyTile(Team team, float x, float y, float range, Predicate pred){ return findTile(x, y, range, tile -> !state.teams.areEnemies(team, tile.getTeam()) && pred.test(tile)); @@ -130,7 +149,7 @@ public class Units { Entities.getNearby(group, rect, entity -> cons.accept((Unit)entity)); } - //now check all enemy players + //now check all ally players Entities.getNearby(playerGroup, rect, player -> { if(((Unit)player).team == team) cons.accept((Unit)player); }); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java index b01d21e2cb..6e4131a211 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -163,19 +163,6 @@ public class SettingsMenuDialog extends SettingsDialog{ graphics.sliderPref("previewopacity", 50, 0, 100, i -> i + "%"); graphics.checkPref("indicators", true); graphics.checkPref("healthbars", true); - graphics.checkPref("pixelate", true, b -> { - if(b){ - renderer.pixelSurface.setScale(Core.cameraScale); - renderer.effectSurface.setScale(Core.cameraScale); - //Graphics.getEffects1().setScale(Core.cameraScale); - //Graphics.getEffects2().setScale(Core.cameraScale); - }else{ - renderer.effectSurface.setScale(1); - //Graphics.getEffects1().setScale(1); - //Graphics.getEffects2().setScale(1); - } - renderer.setPixelate(b); - }); } private void back(){ diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/Door.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/Door.java index e217e6a5bd..4efda5b0e4 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/Door.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/Door.java @@ -1,11 +1,10 @@ package io.anuke.mindustry.world.blocks.types.defense; import com.badlogic.gdx.math.Rectangle; +import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.Units; -import io.anuke.mindustry.content.fx.BlockFx; -import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.Wall; import io.anuke.ucore.core.Effects; @@ -16,8 +15,6 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import static io.anuke.mindustry.Vars.tilesize; - public class Door extends Wall{ protected final Rectangle rect = new Rectangle(); @@ -56,7 +53,7 @@ public class Door extends Wall{ public boolean tapped(Tile tile, Player player){ DoorEntity entity = tile.entity(); - if(anyEntities(tile) && entity.open){ + if(Units.anyEntities(tile) && entity.open){ return true; } @@ -70,23 +67,6 @@ public class Door extends Wall{ return true; } - boolean anyEntities(Tile tile){ - Block type = tile.block(); - rect.setSize(type.size * tilesize, type.size * tilesize); - rect.setCenter(tile.drawx(), tile.drawy()); - - boolean[] value = new boolean[1]; - - Units.getNearby(rect, unit -> { - if(value[0]) return; - if(unit.hitbox.getRect(unit.x, unit.y).overlaps(rect)){ - value[0] = true; - } - }); - - return value[0]; - } - @Override public TileEntity getEntity(){ return new DoorEntity(); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/storage/CoreBlock.java b/core/src/io/anuke/mindustry/world/blocks/types/storage/CoreBlock.java index 695d8af9e7..0993e1b0d3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/storage/CoreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/storage/CoreBlock.java @@ -1,18 +1,24 @@ package io.anuke.mindustry.world.blocks.types.storage; +import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.math.Rectangle; -import io.anuke.mindustry.entities.ItemTransfer; -import io.anuke.mindustry.entities.Unit; -import io.anuke.mindustry.entities.Units; +import io.anuke.mindustry.Vars; +import io.anuke.mindustry.content.fx.Fx; +import io.anuke.mindustry.entities.*; import io.anuke.mindustry.graphics.Palette; +import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemType; import io.anuke.mindustry.world.BlockFlag; import io.anuke.mindustry.world.Tile; +import io.anuke.ucore.core.Effects; +import io.anuke.ucore.core.Graphics; +import io.anuke.ucore.core.Timers; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Lines; import io.anuke.ucore.util.EnumSet; +import io.anuke.ucore.util.Mathf; import static io.anuke.mindustry.Vars.state; @@ -27,7 +33,8 @@ public class CoreBlock extends StorageBlock { public CoreBlock(String name) { super(name); - solid = true; + solid = false; + solidifes = true; update = true; unbreakable = true; size = 3; @@ -36,6 +43,52 @@ public class CoreBlock extends StorageBlock { flags = EnumSet.of(BlockFlag.resupplyPoint, BlockFlag.target); } + @Override + public void draw(Tile tile) { + CoreEntity entity = tile.entity(); + + Draw.rect(entity.solid ? name : name + "-open", tile.drawx(), tile.drawy()); + + Draw.alpha(entity.heat); + Draw.rect(name + "-top", tile.drawx(), tile.drawy()); + Draw.color(); + + if(entity.currentPlayer != null) { + Player player = entity.currentPlayer; + + TextureRegion region = Draw.region(player.mech.name); + + Shaders.build.region = region; + Shaders.build.progress = entity.progress; + Shaders.build.color.set(Palette.accent); + Shaders.build.time = -entity.time / 10f; + + Graphics.shader(Shaders.build, false); + Shaders.build.apply(); + Draw.rect(region, tile.drawx(), tile.drawy()); + Graphics.shader(); + + Draw.color(Palette.accent); + + Lines.lineAngleCenter( + tile.drawx() + Mathf.sin(entity.time, 6f, Vars.tilesize / 3f * size), + tile.drawy(), + 90, + size * Vars.tilesize /2f); + + Draw.reset(); + + //Draw.rect(name + (!entity.solid ? "-top-open" : "-top"), tile.drawx(), tile.drawy()); + } + } + + @Override + public boolean isSolidFor(Tile tile) { + CoreEntity entity = tile.entity(); + + return entity.solid; + } + @Override public int acceptStack(Item item, int amount, Tile tile, Unit source){ if(acceptItem(item, tile, tile) && hasItems && source.team == tile.getTeam()){ @@ -74,12 +127,36 @@ public class CoreBlock extends StorageBlock { @Override public void update(Tile tile) { + CoreEntity entity = tile.entity(); - if(tile.entity.timer.get(timerSupply, supplyInterval)){ + if(!entity.solid && !Units.anyEntities(tile)){ + entity.solid = true; + } + + if(entity.currentPlayer != null){ + entity.heat = Mathf.lerpDelta(entity.heat, 1f, 0.1f); + entity.time += Timers.delta(); + entity.progress += 1f / Vars.respawnduration; + + if(entity.progress >= 1f){ + Effects.effect(Fx.spawn, entity); + entity.progress = 0; + entity.solid = false; + entity.currentPlayer.heal(); + entity.currentPlayer.rotation = 90f; + entity.currentPlayer.baseRotation = 90f; + entity.currentPlayer.set(tile.drawx(), tile.drawy()).add(); + entity.currentPlayer = null; + } + }else{ + entity.heat = Mathf.lerpDelta(entity.heat, 0f, 0.1f); + } + + if(entity.solid && tile.entity.timer.get(timerSupply, supplyInterval)){ rect.setSize(supplyRadius*2).setCenter(tile.drawx(), tile.drawy()); Units.getNearby(tile.getTeam(), rect, unit -> { - if(unit.distanceTo(tile.drawx(), tile.drawy()) > supplyRadius) return; + if(unit.isDead() || unit.distanceTo(tile.drawx(), tile.drawy()) > supplyRadius) return; for(int i = 0; i < tile.entity.items.items.length; i ++){ Item item = Item.getByID(i); @@ -93,4 +170,25 @@ public class CoreBlock extends StorageBlock { }); } } + + @Override + public TileEntity getEntity() { + return new CoreEntity(); + } + + public class CoreEntity extends TileEntity{ + Player currentPlayer; + boolean solid = true; + float progress; + float time; + float heat; + + public boolean trySetPlayer(Player player){ + if(currentPlayer != null) return false; + player.set(tile.drawx(), tile.drawy()); + currentPlayer = player; + progress = 0f; + return true; + } + } } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/units/UnitFactory.java b/core/src/io/anuke/mindustry/world/blocks/types/units/UnitFactory.java index 829a267ebe..518c4837a9 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/units/UnitFactory.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/units/UnitFactory.java @@ -1,6 +1,5 @@ package io.anuke.mindustry.world.blocks.types.units; -import com.badlogic.gdx.graphics.Colors; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.math.Rectangle; import io.anuke.mindustry.Vars; @@ -149,8 +148,6 @@ public class UnitFactory extends Block { entity.openCountdown = openDuration; - //Timers.run(openDuration, () -> entity.open = false); - for(ItemStack stack : requirements){ entity.items.removeItem(stack.item, stack.amount); }