diff --git a/core/assets-raw/sprites/blocks/turrets/bases/block-4-top.png b/core/assets-raw/sprites/blocks/turrets/bases/block-4-top.png new file mode 100644 index 0000000000..d37d0f88bd Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/bases/block-4-top.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/bases/block-4.png b/core/assets-raw/sprites/blocks/turrets/bases/block-4.png new file mode 100644 index 0000000000..24cae427f5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/bases/block-4.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/turrets/meltdown.png b/core/assets-raw/sprites/blocks/turrets/turrets/meltdown.png new file mode 100644 index 0000000000..f873d676fe Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/turrets/meltdown.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/unprocessed/titancannon.png b/core/assets-raw/sprites/blocks/turrets/turrets/ripple.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/unprocessed/titancannon.png rename to core/assets-raw/sprites/blocks/turrets/turrets/ripple.png diff --git a/core/assets-raw/sprites/blocks/turrets/unprocessed/fornaxcannon.png b/core/assets-raw/sprites/blocks/turrets/turrets/spectre.png similarity index 81% rename from core/assets-raw/sprites/blocks/turrets/unprocessed/fornaxcannon.png rename to core/assets-raw/sprites/blocks/turrets/turrets/spectre.png index 2a5edf540a..056a823abc 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/unprocessed/fornaxcannon.png and b/core/assets-raw/sprites/blocks/turrets/turrets/spectre.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/unprocessed/chainturret.png b/core/assets-raw/sprites/blocks/turrets/unprocessed/chainturret.png deleted file mode 100644 index 742768bb07..0000000000 Binary files a/core/assets-raw/sprites/blocks/turrets/unprocessed/chainturret.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/turrets/unprocessed/megarepairturret.png b/core/assets-raw/sprites/blocks/turrets/unprocessed/megarepairturret.png deleted file mode 100644 index 1b2ab05bf8..0000000000 Binary files a/core/assets-raw/sprites/blocks/turrets/unprocessed/megarepairturret.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/turrets/unprocessed/missileturret.png b/core/assets-raw/sprites/blocks/turrets/unprocessed/missileturret.png deleted file mode 100644 index ba80299957..0000000000 Binary files a/core/assets-raw/sprites/blocks/turrets/unprocessed/missileturret.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/turrets/unprocessed/railgunturret-heat.png b/core/assets-raw/sprites/blocks/turrets/unprocessed/railgunturret-heat.png deleted file mode 100644 index 032e16f283..0000000000 Binary files a/core/assets-raw/sprites/blocks/turrets/unprocessed/railgunturret-heat.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/turrets/unprocessed/railgunturret.png b/core/assets-raw/sprites/blocks/turrets/unprocessed/railgunturret.png deleted file mode 100644 index 3f443a2d75..0000000000 Binary files a/core/assets-raw/sprites/blocks/turrets/unprocessed/railgunturret.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/turrets/unprocessed/repairturret.png b/core/assets-raw/sprites/blocks/turrets/unprocessed/repairturret.png deleted file mode 100644 index 276c8bd6ad..0000000000 Binary files a/core/assets-raw/sprites/blocks/turrets/unprocessed/repairturret.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/turrets/unprocessed/teslaturret-heat.png b/core/assets-raw/sprites/blocks/turrets/unprocessed/teslaturret-heat.png deleted file mode 100644 index dd8046dac7..0000000000 Binary files a/core/assets-raw/sprites/blocks/turrets/unprocessed/teslaturret-heat.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/turrets/unprocessed/teslaturret.png b/core/assets-raw/sprites/blocks/turrets/unprocessed/teslaturret.png deleted file mode 100644 index 6c083ce15f..0000000000 Binary files a/core/assets-raw/sprites/blocks/turrets/unprocessed/teslaturret.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/item-thermite.png b/core/assets-raw/sprites/items/item-thermite.png new file mode 100644 index 0000000000..81a89836e6 Binary files /dev/null and b/core/assets-raw/sprites/items/item-thermite.png differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 671f6dab11..1bca92d1bf 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -13,1092 +13,1092 @@ background index: -1 bridgeconduit rotate: false - xy: 808, 379 + xy: 679, 215 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-arrow rotate: false - xy: 808, 369 + xy: 686, 317 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-bridge rotate: false - xy: 808, 359 + xy: 686, 307 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-end rotate: false - xy: 808, 349 + xy: 686, 297 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor rotate: false - xy: 808, 339 + xy: 554, 185 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-arrow rotate: false - xy: 437, 96 + xy: 554, 175 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-bridge rotate: false - xy: 447, 96 + xy: 554, 165 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-end rotate: false - xy: 457, 96 + xy: 554, 155 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 726, 338 + xy: 564, 137 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top rotate: false - xy: 746, 338 + xy: 574, 180 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduittunnel rotate: false - xy: 756, 338 + xy: 584, 180 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor rotate: false - xy: 766, 344 + xy: 574, 170 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyormove rotate: false - xy: 776, 344 + xy: 594, 180 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyortunnel rotate: false - xy: 766, 334 + xy: 574, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 core rotate: false - xy: 895, 487 + xy: 93, 17 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 junction rotate: false - xy: 728, 268 + xy: 674, 155 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit rotate: false - xy: 738, 268 + xy: 674, 145 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-arrow rotate: false - xy: 748, 268 + xy: 674, 135 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-bridge rotate: false - xy: 758, 275 + xy: 674, 125 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-end rotate: false - xy: 758, 265 + xy: 686, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor rotate: false - xy: 768, 274 + xy: 222, 2 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-arrow rotate: false - xy: 768, 264 + xy: 308, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-bridge rotate: false - xy: 778, 274 + xy: 430, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-end rotate: false - xy: 778, 264 + xy: 440, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidjunction rotate: false - xy: 420, 53 + xy: 451, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter rotate: false - xy: 410, 43 + xy: 461, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-bottom rotate: false - xy: 420, 43 + xy: 451, 98 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-liquid rotate: false - xy: 410, 33 + xy: 471, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-top rotate: false - xy: 420, 33 + xy: 461, 98 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidtank-bottom rotate: false - xy: 999, 487 + xy: 755, 407 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquidtank-liquid rotate: false - xy: 67, 17 + xy: 577, 232 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquidtank-top rotate: false - xy: 93, 17 + xy: 603, 232 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 multiplexer rotate: false - xy: 209, 14 + xy: 855, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 overflowgate rotate: false - xy: 597, 178 + xy: 278, 29 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyor rotate: false - xy: 617, 180 + xy: 298, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyormove rotate: false - xy: 577, 168 + xy: 308, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-bottom rotate: false - xy: 617, 170 + xy: 242, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-top rotate: false - xy: 495, 94 + xy: 252, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 925, 459 + xy: 302, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sortedunloader rotate: false - xy: 965, 449 + xy: 654, 105 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sorter rotate: false - xy: 975, 449 + xy: 664, 105 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 splitter rotate: false - xy: 995, 449 + xy: 574, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyor rotate: false - xy: 1005, 449 + xy: 584, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyormove rotate: false - xy: 1015, 447 + xy: 594, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 teleporter-top rotate: false - xy: 188, 78 + xy: 456, 144 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 unloader rotate: false - xy: 841, 419 + xy: 353, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vault rotate: false - xy: 219, 104 + xy: 456, 118 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 weaponfactory rotate: false - xy: 481, 166 + xy: 835, 407 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 blackrock1 rotate: false - xy: 126, 55 + xy: 493, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackrockshadow1 rotate: false - xy: 499, 174 + xy: 503, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone1 rotate: false - xy: 695, 332 + xy: 513, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone2 rotate: false - xy: 695, 322 + xy: 523, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone3 rotate: false - xy: 706, 345 + xy: 533, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock1 rotate: false - xy: 245, 9 + xy: 543, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock2 rotate: false - xy: 695, 312 + xy: 685, 347 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock3 rotate: false - xy: 651, 310 + xy: 685, 337 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneedge rotate: false - xy: 630, 252 + xy: 219, 116 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 coal1 rotate: false - xy: 811, 417 + xy: 554, 125 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal2 rotate: false - xy: 811, 407 + xy: 564, 187 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 706, 335 + xy: 564, 177 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater rotate: false - xy: 786, 335 + xy: 604, 180 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt1 rotate: false - xy: 796, 335 + xy: 574, 150 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 705, 305 + xy: 584, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 716, 328 + xy: 594, 170 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirtedge rotate: false - xy: 644, 252 + xy: 219, 102 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 grass1 rotate: false - xy: 725, 308 + xy: 584, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass2 rotate: false - xy: 735, 318 + xy: 594, 150 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass3 rotate: false - xy: 735, 308 + xy: 604, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock1 rotate: false - xy: 745, 318 + xy: 614, 170 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock2 rotate: false - xy: 745, 308 + xy: 634, 180 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassedge rotate: false - xy: 149, 2 + xy: 1010, 485 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 ice1 rotate: false - xy: 755, 318 + xy: 584, 130 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice2 rotate: false - xy: 755, 308 + xy: 594, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice3 rotate: false - xy: 776, 324 + xy: 604, 150 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iceedge rotate: false - xy: 163, 2 + xy: 232, 79 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 icerock1 rotate: false - xy: 786, 325 + xy: 614, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerock2 rotate: false - xy: 796, 325 + xy: 624, 170 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow1 rotate: false - xy: 765, 315 + xy: 644, 180 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow1 rotate: false - xy: 765, 315 + xy: 644, 180 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow2 rotate: false - xy: 806, 329 + xy: 594, 130 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow2 rotate: false - xy: 806, 329 + xy: 594, 130 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron1 rotate: false - xy: 775, 304 + xy: 624, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron2 rotate: false - xy: 806, 319 + xy: 634, 170 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron3 rotate: false - xy: 715, 298 + xy: 604, 130 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava rotate: false - xy: 782, 284 + xy: 431, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lavaedge rotate: false - xy: 177, 2 + xy: 232, 65 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 lead1 rotate: false - xy: 788, 264 + xy: 441, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead2 rotate: false - xy: 609, 190 + xy: 441, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead3 rotate: false - xy: 619, 190 + xy: 431, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor1 rotate: false - xy: 557, 185 + xy: 451, 88 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor2 rotate: false - xy: 557, 175 + xy: 461, 88 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor3 rotate: false - xy: 567, 185 + xy: 471, 88 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor4 rotate: false - xy: 567, 175 + xy: 481, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor5 rotate: false - xy: 577, 188 + xy: 481, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor6 rotate: false - xy: 587, 188 + xy: 238, 29 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalflooredge rotate: false - xy: 191, 2 + xy: 246, 79 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mossblock rotate: false - xy: 577, 178 + xy: 248, 29 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil rotate: false - xy: 597, 188 + xy: 258, 29 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oiledge rotate: false - xy: 410, 95 + xy: 232, 51 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 rock1 rotate: false - xy: 905, 459 + xy: 302, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock2 rotate: false - xy: 915, 459 + xy: 302, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand1 rotate: false - xy: 955, 459 + xy: 312, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand2 rotate: false - xy: 965, 459 + xy: 574, 120 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand3 rotate: false - xy: 975, 459 + xy: 584, 120 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock1 rotate: false - xy: 985, 459 + xy: 594, 120 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock2 rotate: false - xy: 995, 459 + xy: 604, 120 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock3 rotate: false - xy: 1005, 459 + xy: 614, 120 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandedge rotate: false - xy: 266, 47 + xy: 246, 65 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shrub rotate: false - xy: 855, 449 + xy: 664, 115 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shrubshadow rotate: false - xy: 865, 449 + xy: 674, 115 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow1 rotate: false - xy: 895, 449 + xy: 594, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow2 rotate: false - xy: 905, 449 + xy: 604, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow3 rotate: false - xy: 915, 449 + xy: 614, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock1 rotate: false - xy: 925, 449 + xy: 624, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock2 rotate: false - xy: 935, 449 + xy: 634, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock3 rotate: false - xy: 945, 449 + xy: 644, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowedge rotate: false - xy: 322, 47 + xy: 274, 79 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 space rotate: false - xy: 985, 449 + xy: 674, 105 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 spaceedge rotate: false - xy: 336, 47 + xy: 260, 51 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 stone1 rotate: false - xy: 834, 439 + xy: 644, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 844, 439 + xy: 654, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 854, 439 + xy: 664, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock1 rotate: false - xy: 864, 439 + xy: 674, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock2 rotate: false - xy: 874, 439 + xy: 853, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock3 rotate: false - xy: 884, 439 + xy: 863, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneedge rotate: false - xy: 378, 47 + xy: 274, 51 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 thorium1 rotate: false - xy: 934, 439 + xy: 913, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium2 rotate: false - xy: 944, 439 + xy: 923, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium3 rotate: false - xy: 954, 439 + xy: 933, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium1 rotate: false - xy: 964, 439 + xy: 943, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 974, 439 + xy: 953, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 984, 439 + xy: 963, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water rotate: false - xy: 851, 419 + xy: 383, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 wateredge rotate: false - xy: 528, 195 + xy: 302, 65 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 block-border rotate: false - xy: 485, 100 + xy: 679, 245 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-middle rotate: false - xy: 497, 104 + xy: 679, 235 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 497, 104 + xy: 679, 235 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 border rotate: false - xy: 808, 389 + xy: 679, 225 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 736, 338 + xy: 564, 127 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 776, 334 + xy: 584, 170 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-2 rotate: false - xy: 700, 409 + xy: 341, 101 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cross-3 rotate: false - xy: 921, 487 + xy: 572, 258 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 cross-4 rotate: false - xy: 233, 135 + xy: 656, 357 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 enemyspawn rotate: false - xy: 715, 318 + xy: 604, 170 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 nuclearreactor-shadow rotate: false - xy: 602, 252 + xy: 549, 215 size: 26, 26 orig: 26, 26 offset: 0, 0 index: -1 playerspawn rotate: false - xy: 607, 180 + xy: 288, 29 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ripples rotate: false - xy: 653, 228 + xy: 262, 39 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 rubble-1-0 rotate: false - xy: 463, 166 + xy: 999, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-1-1 rotate: false - xy: 263, 109 + xy: 799, 425 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-2-0 rotate: false - xy: 281, 109 + xy: 817, 425 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-2-1 rotate: false - xy: 299, 109 + xy: 835, 425 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-3-0 rotate: false - xy: 193, 104 + xy: 119, 17 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 rubble-3-1 rotate: false - xy: 193, 104 + xy: 119, 17 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 shadow-1 rotate: false - xy: 742, 348 + xy: 407, 96 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 shadow-2 rotate: false - xy: 466, 202 + xy: 783, 467 size: 18, 18 orig: 18, 18 offset: 0, 0 index: -1 shadow-3 rotate: false - xy: 789, 485 + xy: 755, 459 size: 26, 26 orig: 26, 26 offset: 0, 0 @@ -1119,224 +1119,224 @@ shadow-5 index: -1 shadow-round-1 rotate: false - xy: 754, 348 + xy: 419, 96 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 battery rotate: false - xy: 1015, 467 + xy: 313, 99 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 batterylarge rotate: false - xy: 656, 357 + xy: 755, 433 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 combustiongenerator rotate: false - xy: 705, 325 + xy: 564, 167 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustiongenerator-top rotate: false - xy: 705, 315 + xy: 564, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 fusionreactor rotate: false - xy: 271, 161 + xy: 721, 422 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 fusionreactor-bottom rotate: false - xy: 305, 161 + xy: 651, 323 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 fusionreactor-light rotate: false - xy: 339, 161 + xy: 806, 479 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 fusionreactor-plasma-0 rotate: false - xy: 373, 161 + xy: 840, 479 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 fusionreactor-plasma-1 rotate: false - xy: 267, 127 + xy: 874, 479 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 fusionreactor-plasma-2 rotate: false - xy: 301, 127 + xy: 908, 479 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 fusionreactor-plasma-3 rotate: false - xy: 335, 127 + xy: 942, 479 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 fusionreactor-top rotate: false - xy: 369, 127 + xy: 976, 479 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 largesolarpanel rotate: false - xy: 973, 487 + xy: 624, 258 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquidcombustiongenerator rotate: false - xy: 410, 53 + xy: 441, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 nuclearreactor rotate: false - xy: 773, 451 + xy: 136, 82 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nuclearreactor-center rotate: false - xy: 616, 284 + xy: 136, 56 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nuclearreactor-lights rotate: false - xy: 785, 425 + xy: 167, 104 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 powerinfinite rotate: false - xy: 587, 168 + xy: 232, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powernode rotate: false - xy: 597, 168 + xy: 232, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powernodelarge rotate: false - xy: 790, 363 + xy: 945, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powernodelarge-shadow rotate: false - xy: 86, 43 + xy: 466, 202 size: 18, 18 orig: 18, 18 offset: 0, 0 index: -1 powervoid rotate: false - xy: 607, 170 + xy: 242, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator rotate: false - xy: 935, 459 + xy: 312, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator-top rotate: false - xy: 945, 459 + xy: 312, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldgenerator rotate: false - xy: 814, 437 + xy: 644, 120 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldprojector rotate: false - xy: 317, 109 + xy: 853, 425 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 solarpanel rotate: false - xy: 955, 449 + xy: 564, 107 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 teleporter rotate: false - xy: 162, 78 + xy: 456, 170 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 teleporter-top rotate: false - xy: 162, 52 + xy: 430, 132 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 thermalgenerator rotate: false - xy: 924, 439 + xy: 903, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 alloysmelter rotate: false - xy: 1015, 477 + xy: 126, 55 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1357,525 +1357,539 @@ biomattercompressor-frame0 index: -1 biomattercompressor-frame1 rotate: false - xy: 214, 86 + xy: 233, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-frame2 rotate: false - xy: 214, 68 + xy: 251, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-liquid rotate: false - xy: 214, 50 + xy: 269, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-top rotate: false - xy: 245, 117 + xy: 287, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 centrifuge rotate: false - xy: 232, 50 + xy: 214, 66 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 centrifuge-liquid rotate: false - xy: 682, 407 + xy: 214, 48 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-bottom rotate: false - xy: 718, 378 + xy: 839, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-liquid rotate: false - xy: 754, 396 + xy: 857, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-top rotate: false - xy: 736, 378 + xy: 875, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator rotate: false - xy: 754, 378 + xy: 893, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator-middle rotate: false - xy: 682, 353 + xy: 911, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator-top rotate: false - xy: 700, 355 + xy: 929, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 extractor rotate: false - xy: 715, 308 + xy: 624, 180 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 fluxpump rotate: false - xy: 725, 318 + xy: 574, 130 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 incinerator rotate: false - xy: 765, 305 + xy: 614, 150 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill rotate: false - xy: 725, 298 + xy: 614, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-rotator rotate: false - xy: 735, 298 + xy: 624, 150 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-rotator rotate: false - xy: 735, 298 + xy: 624, 150 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-top rotate: false - xy: 745, 298 + xy: 634, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemsource rotate: false - xy: 762, 285 + xy: 674, 175 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemvoid rotate: false - xy: 772, 284 + xy: 674, 165 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserdrill rotate: false - xy: 155, 16 + xy: 801, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laserdrill-rotator rotate: false - xy: 173, 16 + xy: 819, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laserdrill-top rotate: false - xy: 191, 16 + xy: 837, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 lavasmelter rotate: false - xy: 788, 274 + xy: 431, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidsource rotate: false - xy: 557, 195 + xy: 471, 98 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 melter rotate: false - xy: 567, 195 + xy: 481, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 nucleardrill rotate: false - xy: 583, 224 + xy: 629, 232 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nucleardrill-rim rotate: false - xy: 583, 198 + xy: 577, 206 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nucleardrill-rotator rotate: false - xy: 609, 226 + xy: 603, 206 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nucleardrill-top rotate: false - xy: 609, 200 + xy: 629, 206 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor rotate: false - xy: 785, 399 + xy: 193, 104 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor-liquid rotate: false - xy: 136, 82 + xy: 162, 78 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor-rotator rotate: false - xy: 136, 56 + xy: 188, 78 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilextractor-top rotate: false - xy: 167, 104 + xy: 162, 52 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 oilrefinery rotate: false - xy: 587, 178 + xy: 268, 29 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 plasmadrill rotate: false - xy: 489, 209 + xy: 268, 161 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plasmadrill-rim rotate: false - xy: 523, 209 + xy: 302, 161 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plasmadrill-rotator rotate: false - xy: 721, 414 + xy: 336, 161 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plasmadrill-top rotate: false - xy: 403, 127 + xy: 370, 161 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plasticformer rotate: false - xy: 227, 14 + xy: 873, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 plasticformer-top rotate: false - xy: 772, 372 + xy: 891, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweralloysmelter rotate: false - xy: 772, 354 + xy: 909, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweralloysmelter-top rotate: false - xy: 790, 381 + xy: 927, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powersmelter rotate: false - xy: 790, 345 + xy: 963, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powersmelter-top rotate: false - xy: 466, 184 + xy: 981, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 siliconsmelter-top rotate: false - xy: 466, 184 + xy: 981, 443 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 815, 457 + xy: 252, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 825, 459 + xy: 262, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump rotate: false - xy: 835, 459 + xy: 262, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill rotate: false - xy: 845, 459 + xy: 272, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-rotator rotate: false - xy: 855, 459 + xy: 272, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-top rotate: false - xy: 865, 459 + xy: 282, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator rotate: false - xy: 1015, 457 + xy: 624, 120 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 815, 447 + xy: 634, 120 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconextractor rotate: false - xy: 875, 449 + xy: 574, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconsmelter rotate: false - xy: 335, 109 + xy: 871, 425 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 smelter rotate: false - xy: 885, 449 + xy: 584, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill rotate: false - xy: 821, 427 + xy: 604, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-rotator rotate: false - xy: 821, 417 + xy: 614, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-top rotate: false - xy: 821, 407 + xy: 624, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stonedrill rotate: false - xy: 894, 439 + xy: 873, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneformer rotate: false - xy: 904, 439 + xy: 883, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill rotate: false - xy: 994, 439 + xy: 973, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-top rotate: false - xy: 1004, 439 + xy: 983, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 waterextractor rotate: false - xy: 389, 109 + xy: 943, 425 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-liquid rotate: false - xy: 407, 109 + xy: 961, 425 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-rotator rotate: false - xy: 437, 106 + xy: 979, 425 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-top rotate: false - xy: 455, 106 + xy: 997, 425 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-1 rotate: false - xy: 497, 114 + xy: 666, 185 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-2 rotate: false - xy: 232, 86 + xy: 305, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-2-top rotate: false - xy: 232, 68 + xy: 214, 84 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-3 rotate: false - xy: 817, 487 + xy: 586, 284 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-3-top rotate: false - xy: 843, 487 + xy: 612, 284 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 +block-4 + rotate: false + xy: 656, 391 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-4-top + rotate: false + xy: 721, 456 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 scatter-heat rotate: false - xy: 653, 204 + xy: 286, 39 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1887,352 +1901,303 @@ arc orig: 10, 10 offset: 0, 0 index: -1 -teslaturret - rotate: false - xy: 126, 43 - size: 10, 10 - orig: 10, 10 - offset: 0, 0 - index: -1 arc-heat rotate: false - xy: 245, 105 - size: 10, 10 - orig: 10, 10 - offset: 0, 0 - index: -1 -teslaturret-heat - rotate: false - xy: 245, 105 + xy: 1013, 413 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 crux rotate: false - xy: 700, 391 + xy: 359, 101 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-heat rotate: false - xy: 700, 373 + xy: 377, 101 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-panel-left rotate: false - xy: 718, 396 + xy: 803, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-panel-right rotate: false - xy: 736, 396 + xy: 821, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 duo rotate: false - xy: 746, 328 + xy: 584, 150 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 +fuse + rotate: false + xy: 598, 258 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 +spectre + rotate: false + xy: 598, 258 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 lancer rotate: false - xy: 362, 35 + xy: 238, 39 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 lancer-heat rotate: false - xy: 374, 35 + xy: 250, 39 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 -scatter +meltdown rotate: false - xy: 653, 216 - size: 10, 10 - orig: 10, 10 + xy: 234, 161 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 -scatter-heat - rotate: false - xy: 653, 192 - size: 10, 10 - orig: 10, 10 - offset: 0, 0 - index: -1 -scorch - rotate: false - xy: 718, 348 - size: 10, 10 - orig: 10, 10 - offset: 0, 0 - index: -1 -scorch-shoot - rotate: false - xy: 730, 348 - size: 10, 10 - orig: 10, 10 - offset: 0, 0 - index: -1 -wave - rotate: false - xy: 467, 148 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -wave-liquid - rotate: false - xy: 467, 130 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -chainturret - rotate: false - xy: 682, 389 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -fornaxcannon - rotate: false - xy: 947, 487 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 -fuse - rotate: false - xy: 947, 487 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 -megarepairturret - rotate: false - xy: 210, 32 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -missileturret - rotate: false - xy: 228, 32 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -swarmer - rotate: false - xy: 228, 32 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -railgunturret - rotate: false - xy: 386, 35 - size: 10, 10 - orig: 10, 10 - offset: 0, 0 - index: -1 -railgunturret-heat - rotate: false - xy: 398, 35 - size: 10, 10 - orig: 10, 10 - offset: 0, 0 - index: -1 -repairturret - rotate: false - xy: 653, 240 - size: 10, 10 - orig: 10, 10 - offset: 0, 0 - index: -1 -titancannon +ripple rotate: false xy: 188, 52 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 +scatter + rotate: false + xy: 274, 39 + size: 10, 10 + orig: 10, 10 + offset: 0, 0 + index: -1 +scatter-heat + rotate: false + xy: 195, 2 + size: 10, 10 + orig: 10, 10 + offset: 0, 0 + index: -1 +scorch + rotate: false + xy: 210, 8 + size: 10, 10 + orig: 10, 10 + offset: 0, 0 + index: -1 +scorch-shoot + rotate: false + xy: 395, 95 + size: 10, 10 + orig: 10, 10 + offset: 0, 0 + index: -1 +swarmer + rotate: false + xy: 907, 425 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 +wave + rotate: false + xy: 799, 407 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 +wave-liquid + rotate: false + xy: 817, 407 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 flierfactory rotate: false - xy: 677, 335 + xy: 1001, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory rotate: false - xy: 677, 335 + xy: 1001, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 flierfactory-top rotate: false - xy: 677, 317 + xy: 486, 195 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory-top rotate: false - xy: 677, 317 + xy: 486, 195 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 flierfactory-top-open rotate: false - xy: 799, 467 + xy: 504, 195 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory-top-open rotate: false - xy: 799, 467 + xy: 504, 195 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 repairpoint rotate: false - xy: 875, 459 + xy: 282, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 repairpoint-turret rotate: false - xy: 885, 459 + xy: 292, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 resupplypoint rotate: false - xy: 895, 459 + xy: 292, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 compositewall rotate: false - xy: 716, 338 + xy: 564, 147 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door rotate: false - xy: 726, 328 + xy: 614, 180 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door-large rotate: false - xy: 718, 360 + xy: 947, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 door-large-open rotate: false - xy: 736, 360 + xy: 965, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 door-open rotate: false - xy: 736, 328 + xy: 574, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 duriumwall rotate: false - xy: 756, 328 + xy: 594, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 duriumwall-large rotate: false - xy: 754, 360 + xy: 983, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 ironwall rotate: false - xy: 755, 298 + xy: 644, 170 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall rotate: false - xy: 824, 437 + xy: 634, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall-large rotate: false - xy: 353, 109 + xy: 889, 425 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 stonewall rotate: false - xy: 914, 439 + xy: 893, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumshieldwall rotate: false - xy: 1014, 437 + xy: 993, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall rotate: false - xy: 831, 427 + xy: 1003, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall-large rotate: false - xy: 371, 109 + xy: 925, 425 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 beam rotate: false - xy: 486, 208 + xy: 427, 143 size: 1, 12 orig: 1, 12 offset: 0, 0 @@ -2246,98 +2211,98 @@ beam-end index: -1 blank rotate: false - xy: 718, 414 + xy: 401, 158 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 bullet rotate: false - xy: 489, 198 + xy: 145, 17 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 bullet-back rotate: false - xy: 498, 184 + xy: 156, 17 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 casing rotate: false - xy: 267, 163 + xy: 195, 14 size: 2, 4 orig: 2, 4 offset: 0, 0 index: -1 clear rotate: false - xy: 762, 295 + xy: 566, 287 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 enemyarrow rotate: false - xy: 766, 325 + xy: 650, 258 size: 8, 7 orig: 8, 7 offset: 0, 0 index: -1 laser rotate: false - xy: 406, 47 + xy: 427, 129 size: 1, 12 orig: 1, 12 offset: 0, 0 index: -1 laser-end rotate: false - xy: 769, 493 + xy: 66, 43 size: 18, 18 orig: 18, 18 offset: 0, 0 index: -1 laserfull rotate: false - xy: 66, 43 + xy: 86, 43 size: 18, 18 orig: 18, 18 offset: 0, 0 index: -1 shell rotate: false - xy: 246, 30 + xy: 199, 25 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 shell-back rotate: false - xy: 245, 19 + xy: 199, 14 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 shot rotate: false - xy: 845, 449 + xy: 654, 115 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 transfer rotate: false - xy: 811, 437 + xy: 572, 244 size: 1, 12 orig: 1, 12 offset: 0, 0 index: -1 transfer-arrow rotate: false - xy: 831, 417 + xy: 323, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2351,189 +2316,196 @@ transfer-end index: -1 item-armor-piercing-bullet rotate: false - xy: 765, 295 + xy: 614, 130 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-composite-flak rotate: false - xy: 648, 274 + xy: 644, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-explosive-shell rotate: false - xy: 658, 274 + xy: 634, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-frag-shell rotate: false - xy: 662, 284 + xy: 644, 150 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-homing-bullet rotate: false - xy: 668, 274 + xy: 634, 130 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-incendiary-mortar-shell rotate: false - xy: 672, 284 + xy: 644, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead-bullet rotate: false - xy: 688, 274 + xy: 654, 165 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-scythe-missile rotate: false - xy: 708, 274 + xy: 654, 145 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-mortar-shell rotate: false - xy: 742, 288 + xy: 664, 135 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-swarm-missile rotate: false - xy: 752, 288 + xy: 654, 125 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium-shell rotate: false - xy: 728, 278 + xy: 222, 12 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-tracer-bullet rotate: false - xy: 748, 278 + xy: 676, 185 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-biomatter rotate: false - xy: 775, 294 + xy: 624, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-coal rotate: false - xy: 642, 284 + xy: 634, 150 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-densealloy rotate: false - xy: 652, 284 + xy: 624, 130 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-iron rotate: false - xy: 678, 274 + xy: 644, 130 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead rotate: false - xy: 682, 284 + xy: 654, 175 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-plastic rotate: false - xy: 692, 284 + xy: 664, 175 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-rdx rotate: false - xy: 698, 274 + xy: 654, 155 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-sand rotate: false - xy: 702, 284 + xy: 664, 165 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 712, 284 + xy: 664, 155 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-steel rotate: false - xy: 722, 288 + xy: 654, 135 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-stone rotate: false - xy: 732, 288 + xy: 664, 145 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +item-thermite + rotate: false + xy: 664, 125 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 718, 274 + xy: 222, 22 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 738, 278 + xy: 298, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 standard-mech rotate: false - xy: 350, 47 + xy: 274, 65 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-ship rotate: false - xy: 364, 47 + xy: 288, 79 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -2582,7 +2554,7 @@ shape-7 index: -1 border rotate: false - xy: 656, 383 + xy: 155, 130 size: 24, 40 split: 5, 5, 5, 10 orig: 24, 40 @@ -2590,7 +2562,7 @@ border index: -1 button rotate: false - xy: 207, 130 + xy: 323, 119 size: 24, 40 split: 10, 10, 6, 10 orig: 24, 40 @@ -2598,7 +2570,7 @@ button index: -1 textarea rotate: false - xy: 207, 130 + xy: 323, 119 size: 24, 40 split: 10, 10, 9, 11 orig: 24, 40 @@ -2606,7 +2578,7 @@ textarea index: -1 button-down rotate: false - xy: 721, 448 + xy: 181, 130 size: 24, 40 split: 10, 10, 6, 10 orig: 24, 40 @@ -2614,7 +2586,7 @@ button-down index: -1 button-over rotate: false - xy: 721, 448 + xy: 181, 130 size: 24, 40 split: 10, 10, 6, 10 orig: 24, 40 @@ -2622,7 +2594,7 @@ button-over index: -1 button-map rotate: false - xy: 181, 130 + xy: 110, 65 size: 24, 40 split: 10, 10, 5, 10 orig: 24, 40 @@ -2630,7 +2602,7 @@ button-map index: -1 button-map-down rotate: false - xy: 155, 130 + xy: 207, 130 size: 24, 40 split: 10, 10, 5, 10 orig: 24, 40 @@ -2638,7 +2610,7 @@ button-map-down index: -1 button-map-over rotate: false - xy: 155, 130 + xy: 207, 130 size: 24, 40 split: 10, 10, 5, 10 orig: 24, 40 @@ -2646,7 +2618,7 @@ button-map-over index: -1 button-select rotate: false - xy: 869, 487 + xy: 67, 17 size: 24, 24 split: 4, 4, 4, 4 orig: 24, 24 @@ -2661,35 +2633,35 @@ check-off index: -1 check-on rotate: false - xy: 755, 414 + xy: 233, 127 size: 28, 32 orig: 28, 32 offset: 0, 0 index: -1 check-on-over rotate: false - xy: 407, 161 + xy: 263, 127 size: 28, 32 orig: 28, 32 offset: 0, 0 index: -1 check-over rotate: false - xy: 437, 124 + xy: 293, 127 size: 28, 32 orig: 28, 32 offset: 0, 0 index: -1 clear rotate: false - xy: 772, 402 + xy: 1013, 401 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 cursor rotate: false - xy: 627, 310 + xy: 1010, 479 size: 4, 4 orig: 4, 4 offset: 0, 0 @@ -2710,7 +2682,7 @@ discord-banner-over index: -1 controller-cursor rotate: false - xy: 682, 371 + xy: 323, 101 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2738,623 +2710,623 @@ icon-admin index: -1 icon-admin-small rotate: false - xy: 789, 477 + xy: 1015, 425 size: 6, 6 orig: 6, 6 offset: 0, 0 index: -1 icon-areaDelete rotate: false - xy: 772, 390 + xy: 138, 44 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow rotate: false - xy: 773, 477 + xy: 115, 1 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-arrow-16 rotate: false - xy: 817, 469 + xy: 522, 195 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-arrow-down rotate: false - xy: 425, 115 + xy: 150, 44 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-left rotate: false - xy: 425, 103 + xy: 302, 53 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-right rotate: false - xy: 542, 197 + xy: 210, 20 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-up rotate: false - xy: 509, 183 + xy: 654, 279 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-back rotate: false - xy: 835, 469 + xy: 482, 177 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-ban rotate: false - xy: 115, 1 + xy: 131, 1 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-cancel rotate: false - xy: 799, 451 + xy: 853, 409 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-chat rotate: false - xy: 521, 183 + xy: 666, 279 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-check rotate: false - xy: 485, 150 + xy: 869, 409 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-crafting rotate: false - xy: 533, 183 + xy: 650, 267 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-cursor rotate: false - xy: 509, 171 + xy: 662, 267 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-defense rotate: false - xy: 521, 171 + xy: 660, 255 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-dev-builds rotate: false - xy: 485, 134 + xy: 885, 409 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-discord rotate: false - xy: 250, 89 + xy: 901, 409 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-distribution rotate: false - xy: 533, 171 + xy: 678, 279 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-donate rotate: false - xy: 250, 73 + xy: 917, 409 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-dots rotate: false - xy: 250, 57 + xy: 933, 409 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-editor rotate: false - xy: 266, 93 + xy: 949, 409 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-egg rotate: false - xy: 266, 77 + xy: 965, 409 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-exit rotate: false - xy: 282, 93 + xy: 981, 409 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-file rotate: false - xy: 853, 469 + xy: 482, 159 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-file-image rotate: false - xy: 871, 469 + xy: 500, 177 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-file-text rotate: false - xy: 266, 61 + xy: 997, 409 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-fill rotate: false - xy: 889, 469 + xy: 482, 141 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-floppy rotate: false - xy: 282, 77 + xy: 576, 190 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-floppy-16 rotate: false - xy: 907, 469 + xy: 500, 159 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-folder rotate: false - xy: 298, 93 + xy: 592, 190 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-folder-parent rotate: false - xy: 282, 61 + xy: 608, 190 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-github rotate: false - xy: 298, 77 + xy: 624, 190 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-google-play rotate: false - xy: 314, 93 + xy: 640, 190 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-grid rotate: false - xy: 925, 469 + xy: 518, 177 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-hold rotate: false - xy: 205, 2 + xy: 674, 267 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-holdDelete rotate: false - xy: 217, 2 + xy: 672, 255 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-home rotate: false - xy: 298, 61 + xy: 145, 28 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-host rotate: false - xy: 314, 77 + xy: 147, 1 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-info rotate: false - xy: 229, 2 + xy: 655, 243 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-itch.io rotate: false - xy: 330, 93 + xy: 162, 36 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-items-none rotate: false - xy: 775, 314 + xy: 604, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-line rotate: false - xy: 943, 469 + xy: 482, 123 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-link rotate: false - xy: 314, 61 + xy: 178, 36 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-liquid rotate: false - xy: 545, 185 + xy: 655, 231 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-load rotate: false - xy: 330, 77 + xy: 194, 36 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-load-image rotate: false - xy: 961, 469 + xy: 500, 141 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-load-map rotate: false - xy: 979, 469 + xy: 518, 159 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-loading rotate: false - xy: 997, 469 + xy: 500, 123 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-logic rotate: false - xy: 545, 173 + xy: 667, 243 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu rotate: false - xy: 473, 118 + xy: 655, 219 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu-large rotate: false - xy: 630, 266 + xy: 518, 141 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-none rotate: false - xy: 485, 122 + xy: 667, 231 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pause rotate: false - xy: 473, 106 + xy: 655, 207 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pencil rotate: false - xy: 635, 234 + xy: 518, 123 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-pencil-small rotate: false - xy: 346, 93 + xy: 210, 32 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-pick rotate: false - xy: 635, 216 + xy: 540, 195 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-play rotate: false - xy: 485, 110 + xy: 667, 219 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-play-2 rotate: false - xy: 330, 61 + xy: 163, 1 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-players rotate: false - xy: 266, 35 + xy: 667, 207 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-power rotate: false - xy: 278, 35 + xy: 656, 195 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-production rotate: false - xy: 290, 35 + xy: 668, 195 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-quit rotate: false - xy: 346, 77 + xy: 167, 20 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-redo rotate: false - xy: 635, 198 + xy: 536, 177 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-refresh rotate: false - xy: 362, 93 + xy: 183, 20 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rename rotate: false - xy: 346, 61 + xy: 179, 4 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-resize rotate: false - xy: 119, 25 + xy: 536, 159 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-rotate rotate: false - xy: 362, 77 + xy: 638, 300 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-arrow rotate: false - xy: 378, 93 + xy: 638, 284 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-left rotate: false - xy: 362, 61 + xy: 654, 307 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-right rotate: false - xy: 378, 77 + xy: 654, 291 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save rotate: false - xy: 394, 93 + xy: 670, 307 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save-image rotate: false - xy: 138, 38 + xy: 536, 141 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-save-map rotate: false - xy: 137, 20 + xy: 536, 123 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-settings rotate: false - xy: 302, 35 + xy: 395, 107 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-terrain rotate: false - xy: 131, 2 + xy: 558, 197 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-tools rotate: false - xy: 378, 61 + xy: 670, 291 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-touch rotate: false - xy: 314, 35 + xy: 407, 108 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-touchDelete rotate: false - xy: 326, 35 + xy: 419, 108 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-trash rotate: false - xy: 394, 77 + xy: 233, 93 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-trash-16 rotate: false - xy: 156, 34 + xy: 783, 449 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-trello rotate: false - xy: 394, 61 + xy: 249, 93 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-tutorial rotate: false - xy: 410, 79 + xy: 265, 93 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-undo rotate: false - xy: 174, 34 + xy: 781, 431 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-units rotate: false - xy: 338, 35 + xy: 781, 401 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-weapon rotate: false - xy: 350, 35 + xy: 226, 36 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-wiki rotate: false - xy: 410, 63 + xy: 281, 93 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-zoom rotate: false - xy: 192, 34 + xy: 781, 413 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-zoom-small rotate: false - xy: 250, 41 + xy: 297, 93 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -3368,7 +3340,7 @@ logotext index: -1 pane rotate: false - xy: 557, 205 + xy: 430, 158 size: 24, 36 split: 10, 10, 5, 5 orig: 24, 36 @@ -3376,7 +3348,7 @@ pane index: -1 pane-button rotate: false - xy: 437, 158 + xy: 404, 157 size: 24, 36 split: 10, 10, 5, 5 orig: 24, 36 @@ -3384,7 +3356,7 @@ pane-button index: -1 scroll rotate: false - xy: 651, 320 + xy: 401, 120 size: 24, 35 split: 10, 10, 6, 5 orig: 24, 35 @@ -3392,7 +3364,7 @@ scroll index: -1 scroll-horizontal rotate: false - xy: 234, 169 + xy: 769, 487 size: 35, 24 split: 6, 5, 10, 10 orig: 35, 24 @@ -3409,7 +3381,7 @@ scroll-knob-horizontal index: -1 scroll-knob-vertical rotate: false - xy: 110, 65 + xy: 375, 119 size: 24, 40 split: 10, 10, 6, 10 orig: 24, 40 @@ -3417,7 +3389,7 @@ scroll-knob-vertical index: -1 scroll-knob-vertical-black rotate: false - xy: 747, 448 + xy: 349, 119 size: 24, 40 split: 10, 10, 6, 10 orig: 24, 40 @@ -3425,14 +3397,14 @@ scroll-knob-vertical-black index: -1 selection rotate: false - xy: 769, 490 + xy: 803, 484 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 slider rotate: false - xy: 718, 417 + xy: 207, 4 size: 1, 8 orig: 1, 8 offset: 0, 0 @@ -3460,7 +3432,7 @@ slider-knob-over index: -1 slider-vertical rotate: false - xy: 773, 448 + xy: 755, 487 size: 8, 1 orig: 8, 1 offset: 0, 0 @@ -3488,7 +3460,7 @@ text-sides-over index: -1 textfield rotate: false - xy: 572, 250 + xy: 519, 213 size: 28, 28 split: 6, 6, 6, 6 orig: 28, 28 @@ -3496,7 +3468,7 @@ textfield index: -1 textfield-over rotate: false - xy: 586, 280 + xy: 489, 213 size: 28, 28 split: 2, 2, 2, 2 orig: 28, 28 @@ -3527,147 +3499,147 @@ window-empty index: -1 drone rotate: false - xy: 484, 184 + xy: 1010, 499 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout rotate: false - xy: 280, 47 + xy: 260, 79 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout-base rotate: false - xy: 294, 47 + xy: 246, 51 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-mech-base rotate: false - xy: 294, 47 + xy: 246, 51 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout-leg rotate: false - xy: 308, 47 + xy: 260, 65 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-mech-leg rotate: false - xy: 308, 47 + xy: 260, 65 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol rotate: false - xy: 392, 47 + xy: 288, 65 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-booster-1 rotate: false - xy: 500, 195 + xy: 288, 51 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-booster-2 rotate: false - xy: 514, 195 + xy: 302, 79 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-flame rotate: false - xy: 695, 342 + xy: 482, 112 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 beam-equip rotate: false - xy: 572, 280 + xy: 1015, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster rotate: false - xy: 661, 310 + xy: 685, 327 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster-equip rotate: false - xy: 497, 124 + xy: 656, 185 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun rotate: false - xy: 467, 96 + xy: 554, 145 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun-equip rotate: false - xy: 811, 427 + xy: 554, 135 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun rotate: false - xy: 825, 449 + xy: 564, 117 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 835, 449 + xy: 554, 115 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster rotate: false - xy: 831, 407 + xy: 333, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster-equip rotate: false - xy: 841, 429 + xy: 343, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan rotate: false - xy: 851, 429 + xy: 363, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan-equip rotate: false - xy: 841, 409 + xy: 373, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 57d1b4718b..be089aa9bc 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/AmmoItems.java b/core/src/io/anuke/mindustry/content/AmmoItems.java deleted file mode 100644 index 9c86010701..0000000000 --- a/core/src/io/anuke/mindustry/content/AmmoItems.java +++ /dev/null @@ -1,57 +0,0 @@ -package io.anuke.mindustry.content; - -import com.badlogic.gdx.graphics.Color; -import io.anuke.mindustry.type.Item; -import io.anuke.mindustry.type.ItemType; - -public class AmmoItems { - public static final Item - - leadBullet = new Item("lead-bullet", Color.valueOf("8e85a2")){{ - type = ItemType.ammo; - }}, - - armorPiercingBullet = new Item("armor-piercing-bullet", Color.valueOf("f9a3c7")){{ - type = ItemType.ammo; - }}, - - homingBullet = new Item("homing-bullet", Color.valueOf("6a6c72")){{ - type = ItemType.ammo; - }}, - - tracerBullet = new Item("tracer-bullet", Color.valueOf("ffe58b")){{ - type = ItemType.ammo; - }}, - - compositeFlak = new Item("composite-flak", Color.valueOf("e9ead3")){{ - type = ItemType.ammo; - }}, - - explosiveShell = new Item("explosive-shell", Color.valueOf("ff795e")){{ - type = ItemType.ammo; - }}, - - fragShell = new Item("frag-shell", Color.valueOf("e9ead3")){{ - type = ItemType.ammo; - }}, - - thoriumShell = new Item("thorium-shell", Color.valueOf("f9a3c7")){{ - type = ItemType.ammo; - }}, - - swarmMissile = new Item("swarm-missile", Color.valueOf("ff795e")){{ - type = ItemType.ammo; - }}, - - scytheMissile = new Item("scythe-missile", Color.valueOf("f9a3c7")){{ - type = ItemType.ammo; - }}, - - incendiaryMortarShell = new Item("incendiary-mortar-shell", Color.valueOf("ffe58b")){{ - type = ItemType.ammo; - }}, - - surgeMortarShell = new Item("surge-mortar-shell", Color.valueOf("bcddff")){{ - type = ItemType.ammo; - }}; -} diff --git a/core/src/io/anuke/mindustry/content/AmmoTypes.java b/core/src/io/anuke/mindustry/content/AmmoTypes.java index b889cc8963..682af78289 100644 --- a/core/src/io/anuke/mindustry/content/AmmoTypes.java +++ b/core/src/io/anuke/mindustry/content/AmmoTypes.java @@ -1,8 +1,6 @@ package io.anuke.mindustry.content; -import io.anuke.mindustry.content.bullets.ShellBullets; -import io.anuke.mindustry.content.bullets.StandardBullets; -import io.anuke.mindustry.content.bullets.TurretBullets; +import io.anuke.mindustry.content.bullets.*; import io.anuke.mindustry.content.fx.ShootFx; import io.anuke.mindustry.type.AmmoType; @@ -10,99 +8,146 @@ public class AmmoTypes { //TODO add definitions for all ammo types public static final AmmoType - basicIron = new AmmoType(Items.iron, StandardBullets.basicIron, 5){{ + //bullets + + bulletIron = new AmmoType(Items.iron, StandardBullets.iron, 5){{ shootEffect = ShootFx.shootSmall; smokeEffect = ShootFx.shootSmallSmoke; }}, - basicLead = new AmmoType(Items.lead, StandardBullets.basicLead, 5){{ + bulletLead = new AmmoType(Items.lead, StandardBullets.lead, 5){{ shootEffect = ShootFx.shootSmall; smokeEffect = ShootFx.shootSmallSmoke; }}, - standardLead = new AmmoType(AmmoItems.leadBullet, StandardBullets.standardLead, 5){{ + bulletSteel = new AmmoType(Items.steel, StandardBullets.steel, 5){{ shootEffect = ShootFx.shootSmall; smokeEffect = ShootFx.shootSmallSmoke; }}, - standardArmorPiercing = new AmmoType(AmmoItems.armorPiercingBullet, StandardBullets.standardArmorPiercing, 5){{ - shootEffect = ShootFx.shootBig; - smokeEffect = ShootFx.shootBigSmoke; - }}, - - standardHoming = new AmmoType(AmmoItems.homingBullet, StandardBullets.standardHoming, 5){{ - shootEffect = ShootFx.shootBig; - smokeEffect = ShootFx.shootBigSmoke; - }}, - - standardTracer = new AmmoType(AmmoItems.tracerBullet, StandardBullets.standardTracer, 5){{ - shootEffect = ShootFx.shootBig; - smokeEffect = ShootFx.shootBigSmoke; - }}, - - basicLeadFlak = new AmmoType(Items.lead, StandardBullets.basicLeadFlak, 5){{ + bulletThorium = new AmmoType(Items.thorium, StandardBullets.thorium, 5){{ shootEffect = ShootFx.shootSmall; smokeEffect = ShootFx.shootSmallSmoke; }}, - standardLeadFlak = new AmmoType(AmmoItems.leadBullet, StandardBullets.standardLeadFlak, 5){{ + bulletSilicon = new AmmoType(Items.silicon, StandardBullets.homing, 5){{ shootEffect = ShootFx.shootSmall; smokeEffect = ShootFx.shootSmallSmoke; }}, - compositeFlak = new AmmoType(AmmoItems.compositeFlak, StandardBullets.compositeFlak, 5){{ + bulletThermite = new AmmoType(Items.thermite, StandardBullets.tracer, 5){{ shootEffect = ShootFx.shootSmall; smokeEffect = ShootFx.shootSmallSmoke; }}, + //flak + + flakLead = new AmmoType(Items.lead, FlakBullets.lead, 5){{ + shootEffect = ShootFx.shootSmall; + smokeEffect = ShootFx.shootSmallSmoke; + }}, + + flakExplosive = new AmmoType(Items.rdx, FlakBullets.explosive, 5){{ + shootEffect = ShootFx.shootSmall; + smokeEffect = ShootFx.shootSmallSmoke; + }}, + + flakPlastic = new AmmoType(Items.plastic, FlakBullets.plastic, 5){{ + shootEffect = ShootFx.shootSmall; + smokeEffect = ShootFx.shootSmallSmoke; + }}, + + flakSurge = new AmmoType(Items.densealloy, FlakBullets.surge, 5){{ + shootEffect = ShootFx.shootSmall; + smokeEffect = ShootFx.shootSmallSmoke; + }}, + + //shells + + shellLead = new AmmoType(Items.lead, ShellBullets.lead, 1){{ + shootEffect = ShootFx.shootBig2; + smokeEffect = ShootFx.shootBigSmoke2; + }}, + + shellExplosive = new AmmoType(Items.rdx, ShellBullets.explosive, 1){{ + shootEffect = ShootFx.shootBig2; + smokeEffect = ShootFx.shootBigSmoke2; + }}, + + shellPlastic = new AmmoType(Items.plastic, ShellBullets.plastic, 1){{ + shootEffect = ShootFx.shootBig2; + smokeEffect = ShootFx.shootBigSmoke2; + }}, + + shellThorium = new AmmoType(Items.thorium, ShellBullets.thorium, 1){{ + shootEffect = ShootFx.shootBig2; + smokeEffect = ShootFx.shootBigSmoke2; + }}, + + //missiles + + missileExplosive = new AmmoType(Items.rdx, MissileBullets.explosive, 1){{ + shootEffect = ShootFx.shootBig2; + smokeEffect = ShootFx.shootBigSmoke2; + }}, + + missileIncindiary = new AmmoType(Items.thermite, MissileBullets.incindiary, 1){{ + shootEffect = ShootFx.shootBig2; + smokeEffect = ShootFx.shootBigSmoke2; + }}, + + missileSurge = new AmmoType(Items.densealloy, MissileBullets.surge, 1){{ + shootEffect = ShootFx.shootBig2; + smokeEffect = ShootFx.shootBigSmoke2; + }}, + + //artillery + + artilleryLead = new AmmoType(Items.lead, ArtilleryBullets.lead, 1){{ + shootEffect = ShootFx.shootBig2; + smokeEffect = ShootFx.shootBigSmoke2; + }}, + + artilleryThorium = new AmmoType(Items.thorium, ArtilleryBullets.thorium, 1){{ + shootEffect = ShootFx.shootBig2; + smokeEffect = ShootFx.shootBigSmoke2; + }}, + + artilleryPlastic = new AmmoType(Items.plastic, ArtilleryBullets.plastic, 1){{ + shootEffect = ShootFx.shootBig2; + smokeEffect = ShootFx.shootBigSmoke2; + }}, + + artilleryHoming = new AmmoType(Items.silicon, ArtilleryBullets.homing, 1){{ + shootEffect = ShootFx.shootBig2; + smokeEffect = ShootFx.shootBigSmoke2; + }}, + + artilleryIncindiary = new AmmoType(Items.thermite, ArtilleryBullets.incindiary, 1){{ + shootEffect = ShootFx.shootBig2; + smokeEffect = ShootFx.shootBigSmoke2; + }}, + + //flame + basicFlame = new AmmoType(Liquids.oil, TurretBullets.basicFlame, 0.3f){{ shootEffect = ShootFx.shootSmallFlame; }}, - basicLeadShell = new AmmoType(Items.lead, ShellBullets.basicLeadShell, 1){{ - shootEffect = ShootFx.shootBig2; - smokeEffect = ShootFx.shootBigSmoke2; - }}, - - explosiveFragShell = new AmmoType(AmmoItems.explosiveShell, ShellBullets.explosiveShell, 1){{ - shootEffect = ShootFx.shootBig2; - smokeEffect = ShootFx.shootBigSmoke2; - }}, - - fragShell = new AmmoType(AmmoItems.fragShell, ShellBullets.fragShell, 1){{ - shootEffect = ShootFx.shootBig2; - smokeEffect = ShootFx.shootBigSmoke2; - }}, - - standardThoriumShell = new AmmoType(AmmoItems.thoriumShell, ShellBullets.thoriumShell, 1){{ - shootEffect = ShootFx.shootBig2; - smokeEffect = ShootFx.shootBigSmoke2; - }}, - - swarmMissile = new AmmoType(AmmoItems.swarmMissile, ShellBullets.swarmMissile, 1){{ - shootEffect = ShootFx.shootBig2; - smokeEffect = ShootFx.shootBigSmoke2; - }}, - - scytheMissile = new AmmoType(AmmoItems.scytheMissile, ShellBullets.scytheMissile, 1){{ - shootEffect = ShootFx.shootBig2; - smokeEffect = ShootFx.shootBigSmoke2; - }}, - - incendiaryMortar = new AmmoType(AmmoItems.incendiaryMortarShell, ShellBullets.incendiaryMortar, 1){{ - shootEffect = ShootFx.shootBig2; - smokeEffect = ShootFx.shootBigSmoke2; - }}, - - surgeMortar = new AmmoType(AmmoItems.surgeMortarShell, ShellBullets.surgeMortar, 1){{ - shootEffect = ShootFx.shootBig2; - smokeEffect = ShootFx.shootBigSmoke2; - }}, + //power lancerLaser = new AmmoType(TurretBullets.lancerLaser), lightning = new AmmoType(TurretBullets.lightning), + spectreLaser = new AmmoType(TurretBullets.lancerLaser), + + meltdownLaser = new AmmoType(TurretBullets.lancerLaser), + + fuseShotgun = new AmmoType(Items.iron, TurretBullets.fuseShot, 0.1f), + + //liquid + oil = new AmmoType(Liquids.oil, TurretBullets.oilShot, 0.3f), water = new AmmoType(Liquids.water, TurretBullets.waterShot, 0.3f), diff --git a/core/src/io/anuke/mindustry/content/Items.java b/core/src/io/anuke/mindustry/content/Items.java index 36e65ec738..14e6e4670a 100644 --- a/core/src/io/anuke/mindustry/content/Items.java +++ b/core/src/io/anuke/mindustry/content/Items.java @@ -33,6 +33,7 @@ public class Items { }}, titanium = new Item("titanium", Color.valueOf("8da1e3")){{ + type = ItemType.material; hardness = 3; }}, @@ -62,12 +63,16 @@ public class Items { }}, sand = new Item("sand", Color.valueOf("e3d39e")){{ - fluxiness = 0.5f; }}, rdx = new Item("rdx", Color.valueOf("ff795e")){{ flammability = 0.2f; explosiveness = 0.6f; + }}, + + thermite = new Item("thermite", Color.valueOf("ff795e")){{ + flammability = 0.7f; + explosiveness = 0.2f; }}; } diff --git a/core/src/io/anuke/mindustry/content/Recipes.java b/core/src/io/anuke/mindustry/content/Recipes.java index 4fd72cc7bb..e425bc5f2b 100644 --- a/core/src/io/anuke/mindustry/content/Recipes.java +++ b/core/src/io/anuke/mindustry/content/Recipes.java @@ -42,6 +42,7 @@ public class Recipes { new Recipe(weapon, WeaponBlocks.crux, new ItemStack(Items.steel, 25), new ItemStack(Items.titanium, 15)); new Recipe(weapon, WeaponBlocks.arc, new ItemStack(Items.steel, 20), new ItemStack(Items.titanium, 25), new ItemStack(Items.densealloy, 15)); new Recipe(weapon, WeaponBlocks.swarmer, new ItemStack(Items.steel, 80), new ItemStack(Items.titanium, 70), new ItemStack(Items.densealloy, 60)); + new Recipe(weapon, WeaponBlocks.ripple, new ItemStack(Items.steel, 80), new ItemStack(Items.titanium, 70), new ItemStack(Items.densealloy, 60)); new Recipe(weapon, WeaponBlocks.fuse, new ItemStack(Items.steel, 70), new ItemStack(Items.titanium, 50), new ItemStack(Items.densealloy, 55)); new Recipe(weapon, WeaponBlocks.spectre, new ItemStack(Items.steel, 70), new ItemStack(Items.titanium, 50), new ItemStack(Items.densealloy, 55)); new Recipe(weapon, WeaponBlocks.meltdown, new ItemStack(Items.steel, 70), new ItemStack(Items.titanium, 50), new ItemStack(Items.densealloy, 55)); diff --git a/core/src/io/anuke/mindustry/content/Weapons.java b/core/src/io/anuke/mindustry/content/Weapons.java index 1b7b89dc83..509477e3d8 100644 --- a/core/src/io/anuke/mindustry/content/Weapons.java +++ b/core/src/io/anuke/mindustry/content/Weapons.java @@ -11,6 +11,6 @@ public class Weapons { reload = 15f; roundrobin = true; ejectEffect = ShootFx.shellEjectSmall; - setAmmo(AmmoTypes.basicIron); + setAmmo(AmmoTypes.bulletIron); }}; } diff --git a/core/src/io/anuke/mindustry/content/blocks/Blocks.java b/core/src/io/anuke/mindustry/content/blocks/Blocks.java index 37b4059e7d..3edb9021bf 100644 --- a/core/src/io/anuke/mindustry/content/blocks/Blocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/Blocks.java @@ -39,6 +39,7 @@ public class Blocks { }}, space = new Floor("space") {{ + placeableOn = false; variants = 0; cacheLayer = CacheLayer.space; solid = true; @@ -62,6 +63,7 @@ public class Blocks { }}, water = new Floor("water") {{ + placeableOn = false; liquidColor = Color.valueOf("546bb3"); speedMultiplier = 0.5f; variants = 0; @@ -73,6 +75,7 @@ public class Blocks { }}, lava = new Floor("lava") {{ + placeableOn = false; liquidColor = Color.valueOf("ed5334"); speedMultiplier = 0.2f; damageTaken = 0.1f; @@ -85,6 +88,7 @@ public class Blocks { }}, oil = new Floor("oil") {{ + placeableOn = false; liquidColor = Color.valueOf("292929"); status = StatusEffects.oiled; statusIntensity = 1f; diff --git a/core/src/io/anuke/mindustry/content/blocks/WeaponBlocks.java b/core/src/io/anuke/mindustry/content/blocks/WeaponBlocks.java index 53ba3d4c54..f456c260d7 100644 --- a/core/src/io/anuke/mindustry/content/blocks/WeaponBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/WeaponBlocks.java @@ -15,14 +15,14 @@ public class WeaponBlocks{ public static Block duo = new DoubleTurret("duo"){{ - ammoTypes = new AmmoType[]{AmmoTypes.basicIron, AmmoTypes.basicLead, AmmoTypes.standardLead, AmmoTypes.standardTracer}; + ammoTypes = new AmmoType[]{AmmoTypes.bulletIron, AmmoTypes.bulletLead, AmmoTypes.bulletSteel, AmmoTypes.bulletThermite}; reload = 25f; restitution = 0.03f; ammoUseEffect = ShootFx.shellEjectSmall; }}, scatter = new BurstTurret("scatter") {{ - ammoTypes = new AmmoType[]{AmmoTypes.basicLeadFlak, AmmoTypes.standardLeadFlak, AmmoTypes.compositeFlak}; + ammoTypes = new AmmoType[]{AmmoTypes.flakLead, AmmoTypes.flakExplosive, AmmoTypes.flakPlastic}; ammoPerShot = 1; shots = 3; reload = 60f; @@ -39,9 +39,11 @@ public class WeaponBlocks{ shootCone = 50f; ammoUseEffect = ShootFx.shellEjectSmall; - drawer = (tile, entity) -> { - Draw.rect(entity.target != null ? name + "-shoot" : name, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90); - }; + drawer = (tile, entity) -> Draw.rect(entity.target != null ? name + "-shoot" : name, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90); + }}, + + hail = new ItemTurret("hail") {{ + ammoTypes = new AmmoType[]{AmmoTypes.artilleryLead, AmmoTypes.artilleryHoming, AmmoTypes.artilleryIncindiary}; }}, wave = new LiquidTurret("wave") {{ @@ -67,7 +69,7 @@ public class WeaponBlocks{ crux = new ItemTurret("crux"){{ size = 2; range = 100f; - ammoTypes = new AmmoType[]{AmmoTypes.basicLeadShell, AmmoTypes.explosiveFragShell, AmmoTypes.fragShell, AmmoTypes.standardThoriumShell}; + ammoTypes = new AmmoType[]{AmmoTypes.shellExplosive, AmmoTypes.shellLead, AmmoTypes.shellPlastic, AmmoTypes.shellThorium}; reload = 70f; restitution = 0.03f; ammoEjectBack = 3f; @@ -122,21 +124,54 @@ public class WeaponBlocks{ size = 2; }}, - swarmer = new ItemTurret("missileturret") {{ - ammoTypes = new AmmoType[]{AmmoTypes.basicLeadShell, AmmoTypes.explosiveFragShell, AmmoTypes.fragShell, AmmoTypes.standardThoriumShell}; + swarmer = new ItemTurret("swarmer") {{ + ammoTypes = new AmmoType[]{AmmoTypes.missileExplosive, AmmoTypes.missileIncindiary, AmmoTypes.missileSurge}; size = 2; }}, - fuse = new ItemTurret("fuse") {{ - ammoTypes = new AmmoType[]{AmmoTypes.basicLeadShell, AmmoTypes.explosiveFragShell, AmmoTypes.fragShell, AmmoTypes.standardThoriumShell}; + ripple = new ItemTurret("ripple") {{ + ammoTypes = new AmmoType[]{AmmoTypes.artilleryLead, AmmoTypes.artilleryHoming, AmmoTypes.artilleryIncindiary, AmmoTypes.artilleryPlastic, AmmoTypes.artilleryThorium}; size = 3; }}, - spectre = new PowerTurret("spectre") {{ + cyclone = new ItemTurret("cyclone") {{ + ammoTypes = new AmmoType[]{AmmoTypes.flakLead, AmmoTypes.flakExplosive, AmmoTypes.flakPlastic, AmmoTypes.flakSurge}; size = 3; }}, + fuse = new ItemTurret("fuse") {{ + //TODO make it use power + ammoTypes = new AmmoType[]{AmmoTypes.fuseShotgun}; + size = 3; + }}, + + spectre = new LaserTurret("spectre") {{ + range = 70f; + chargeTime = 70f; + chargeMaxDelay = 30f; + chargeEffects = 7; + shootType = AmmoTypes.spectreLaser; + recoil = 2f; + reload = 130f; + cooldown = 0.03f; + shootEffect = ShootFx.lancerLaserShoot; + smokeEffect = ShootFx.lancerLaserShootSmoke; + chargeEffect = ShootFx.lancerLaserCharge; + chargeBeginEffect = ShootFx.lancerLaserChargeBegin; + heatColor = Color.RED; + size = 3; + }}, + + eraser = new ItemTurret("eraser"){{ + ammoTypes = new AmmoType[]{AmmoTypes.bulletIron, AmmoTypes.bulletLead, AmmoTypes.bulletSteel, AmmoTypes.bulletThermite, AmmoTypes.bulletThorium, AmmoTypes.bulletSilicon}; + reload = 25f; + restitution = 0.03f; + ammoUseEffect = ShootFx.shellEjectSmall; + size = 4; + }}, + meltdown = new PowerTurret("meltdown") {{ - size = 3; + shootType = AmmoTypes.meltdownLaser; + size = 4; }}; } diff --git a/core/src/io/anuke/mindustry/content/bullets/ArtilleryBullets.java b/core/src/io/anuke/mindustry/content/bullets/ArtilleryBullets.java new file mode 100644 index 0000000000..ff21b1f2c3 --- /dev/null +++ b/core/src/io/anuke/mindustry/content/bullets/ArtilleryBullets.java @@ -0,0 +1,81 @@ +package io.anuke.mindustry.content.bullets; + +import io.anuke.mindustry.content.fx.BulletFx; +import io.anuke.mindustry.entities.bullet.BasicBulletType; +import io.anuke.mindustry.entities.bullet.BulletType; + +public class ArtilleryBullets { + public static final BulletType + + lead = new BasicBulletType(3f, 0) { + { + hiteffect = BulletFx.flakExplosion; + knockback = 0.8f; + lifetime = 90f; + drag = 0.01f; + bulletWidth = bulletHeight = 9f; + bulletSprite = "frag"; + bulletShrink = 0.1f; + } + }, + + thorium = new BasicBulletType(3f, 0) { + { + hiteffect = BulletFx.flakExplosion; + knockback = 0.8f; + lifetime = 90f; + drag = 0.01f; + bulletWidth = bulletHeight = 9f; + bulletSprite = "frag"; + bulletShrink = 0.1f; + } + }, + + plastic = new BasicBulletType(3f, 0) { + { + hiteffect = BulletFx.flakExplosion; + knockback = 0.8f; + lifetime = 90f; + drag = 0.01f; + bulletWidth = bulletHeight = 9f; + bulletSprite = "frag"; + bulletShrink = 0.1f; + } + }, + + homing = new BasicBulletType(3f, 0) { + { + hiteffect = BulletFx.flakExplosion; + knockback = 0.8f; + lifetime = 90f; + drag = 0.01f; + bulletWidth = bulletHeight = 9f; + bulletSprite = "frag"; + bulletShrink = 0.1f; + } + }, + + incindiary = new BasicBulletType(3f, 0) { + { + hiteffect = BulletFx.flakExplosion; + knockback = 0.8f; + lifetime = 90f; + drag = 0.01f; + bulletWidth = bulletHeight = 9f; + bulletSprite = "frag"; + bulletShrink = 0.1f; + } + }, + + surge = new BasicBulletType(3f, 0) { + { + hiteffect = BulletFx.flakExplosion; + knockback = 0.8f; + lifetime = 90f; + drag = 0.01f; + bulletWidth = bulletHeight = 9f; + bulletSprite = "frag"; + bulletShrink = 0.1f; + } + }; +} diff --git a/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java b/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java new file mode 100644 index 0000000000..caecaf1388 --- /dev/null +++ b/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java @@ -0,0 +1,36 @@ +package io.anuke.mindustry.content.bullets; + +import io.anuke.mindustry.entities.bullet.BasicBulletType; +import io.anuke.mindustry.entities.bullet.BulletType; + +public class FlakBullets { + public static final BulletType + + lead = new BasicBulletType(3f, 5) { + { + bulletWidth = 7f; + bulletHeight = 9f; + } + }, + + plastic = new BasicBulletType(3f, 5) { + { + bulletWidth = 7f; + bulletHeight = 9f; + } + }, + + explosive = new BasicBulletType(3f, 5) { + { + bulletWidth = 7f; + bulletHeight = 9f; + } + }, + + surge = new BasicBulletType(3f, 5) { + { + bulletWidth = 7f; + bulletHeight = 9f; + } + }; +} diff --git a/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java b/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java new file mode 100644 index 0000000000..1e76cc0997 --- /dev/null +++ b/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java @@ -0,0 +1,29 @@ +package io.anuke.mindustry.content.bullets; + +import io.anuke.mindustry.entities.bullet.BasicBulletType; +import io.anuke.mindustry.entities.bullet.BulletType; + +public class MissileBullets { + public static final BulletType + + explosive = new BasicBulletType(3f, 5) { + { + bulletWidth = 7f; + bulletHeight = 9f; + } + }, + + incindiary = new BasicBulletType(3f, 5) { + { + bulletWidth = 7f; + bulletHeight = 9f; + } + }, + + surge = new BasicBulletType(3f, 5) { + { + bulletWidth = 7f; + bulletHeight = 9f; + } + }; +} diff --git a/core/src/io/anuke/mindustry/content/bullets/ShellBullets.java b/core/src/io/anuke/mindustry/content/bullets/ShellBullets.java index 926912d6cf..474b0f3973 100644 --- a/core/src/io/anuke/mindustry/content/bullets/ShellBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/ShellBullets.java @@ -8,20 +8,20 @@ import io.anuke.mindustry.entities.bullet.BulletType; public class ShellBullets { public static final BulletType - basicLeadShell = new BasicBulletType(3f, 0) { + lead = new BasicBulletType(3f, 0) { { hiteffect = BulletFx.flakExplosion; knockback = 0.8f; lifetime = 90f; drag = 0.01f; bulletWidth = bulletHeight = 9f; - fragBullet = basicLeadShard; + fragBullet = leadShard; bulletSprite = "frag"; bulletShrink = 0.1f; } }, - basicLeadShard = new BasicBulletType(3f, 0) { + leadShard = new BasicBulletType(3f, 0) { { drag = 0.1f; hiteffect = Fx.none; @@ -34,66 +34,14 @@ public class ShellBullets { } }, - explosiveShell = new BasicBulletType(3f, 0) { + thorium = new BasicBulletType(3f, 0) { { hiteffect = BulletFx.flakExplosion; knockback = 0.8f; lifetime = 90f; drag = 0.01f; bulletWidth = bulletHeight = 9f; - fragBullet = basicLeadShard; - bulletSprite = "frag"; - bulletShrink = 0.1f; - } - }, - - explosiveShard = new BasicBulletType(3f, 0) { - { - drag = 0.1f; - hiteffect = Fx.none; - despawneffect = Fx.none; - hitsize = 4; - lifetime = 20f; - bulletWidth = 9f; - bulletHeight = 11f; - bulletShrink = 1f; - } - }, - - fragShell = new BasicBulletType(3f, 0) { - { - hiteffect = BulletFx.flakExplosion; - knockback = 0.8f; - lifetime = 90f; - drag = 0.01f; - bulletWidth = bulletHeight = 9f; - fragBullet = basicLeadShard; - bulletSprite = "frag"; - bulletShrink = 0.1f; - } - }, - - fragShard = new BasicBulletType(3f, 0) { - { - drag = 0.1f; - hiteffect = Fx.none; - despawneffect = Fx.none; - hitsize = 4; - lifetime = 20f; - bulletWidth = 9f; - bulletHeight = 11f; - bulletShrink = 1f; - } - }, - - thoriumShell = new BasicBulletType(3f, 0) { - { - hiteffect = BulletFx.flakExplosion; - knockback = 0.8f; - lifetime = 90f; - drag = 0.01f; - bulletWidth = bulletHeight = 9f; - fragBullet = basicLeadShard; + fragBullet = leadShard; bulletSprite = "frag"; bulletShrink = 0.1f; } @@ -112,53 +60,66 @@ public class ShellBullets { } }, - swarmMissile = new BasicBulletType(3f, 0) { + plastic = new BasicBulletType(3f, 0) { { hiteffect = BulletFx.flakExplosion; knockback = 0.8f; lifetime = 90f; drag = 0.01f; bulletWidth = bulletHeight = 9f; - fragBullet = basicLeadShard; + fragBullet = leadShard; bulletSprite = "frag"; bulletShrink = 0.1f; } }, - scytheMissile = new BasicBulletType(3f, 0) { + plasticShard = new BasicBulletType(3f, 0) { + { + drag = 0.1f; + hiteffect = Fx.none; + despawneffect = Fx.none; + hitsize = 4; + lifetime = 20f; + bulletWidth = 9f; + bulletHeight = 11f; + bulletShrink = 1f; + } + }, + + explosive = new BasicBulletType(3f, 0) { { hiteffect = BulletFx.flakExplosion; knockback = 0.8f; lifetime = 90f; drag = 0.01f; bulletWidth = bulletHeight = 9f; - fragBullet = basicLeadShard; + fragBullet = leadShard; bulletSprite = "frag"; bulletShrink = 0.1f; } }, - incendiaryMortar = new BasicBulletType(3f, 0) { + explosiveShard = new BasicBulletType(3f, 0) { { - hiteffect = BulletFx.flakExplosion; - knockback = 0.8f; - lifetime = 90f; - drag = 0.01f; - bulletWidth = bulletHeight = 9f; - fragBullet = basicLeadShard; - bulletSprite = "frag"; - bulletShrink = 0.1f; + drag = 0.1f; + hiteffect = Fx.none; + despawneffect = Fx.none; + hitsize = 4; + lifetime = 20f; + bulletWidth = 9f; + bulletHeight = 11f; + bulletShrink = 1f; } }, - surgeMortar = new BasicBulletType(3f, 0) { + incindiary = new BasicBulletType(3f, 0) { { hiteffect = BulletFx.flakExplosion; knockback = 0.8f; lifetime = 90f; drag = 0.01f; bulletWidth = bulletHeight = 9f; - fragBullet = basicLeadShard; + fragBullet = leadShard; bulletSprite = "frag"; bulletShrink = 0.1f; } diff --git a/core/src/io/anuke/mindustry/content/bullets/StandardBullets.java b/core/src/io/anuke/mindustry/content/bullets/StandardBullets.java index 29ed855d4f..a1d8019b56 100644 --- a/core/src/io/anuke/mindustry/content/bullets/StandardBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/StandardBullets.java @@ -6,63 +6,42 @@ import io.anuke.mindustry.entities.bullet.BulletType; public class StandardBullets { public static final BulletType - basicIron = new BasicBulletType(3f, 5) { + iron = new BasicBulletType(3f, 5) { { bulletWidth = 7f; bulletHeight = 9f; } }, - basicLead = new BasicBulletType(3f, 5) { + lead = new BasicBulletType(3f, 5) { { bulletWidth = 7f; bulletHeight = 9f; } }, - standardLead = new BasicBulletType(3f, 5) { + steel = new BasicBulletType(3f, 5) { { bulletWidth = 7f; bulletHeight = 9f; } }, - standardArmorPiercing = new BasicBulletType(3f, 5) { + thorium = new BasicBulletType(3f, 5) { { bulletWidth = 7f; bulletHeight = 9f; } }, - standardHoming = new BasicBulletType(3f, 5) { + homing = new BasicBulletType(3f, 5) { { bulletWidth = 7f; bulletHeight = 9f; } }, - standardTracer = new BasicBulletType(3f, 5) { - { - bulletWidth = 7f; - bulletHeight = 9f; - } - }, - - basicLeadFlak = new BasicBulletType(3f, 5) { - { - bulletWidth = 7f; - bulletHeight = 9f; - } - }, - - standardLeadFlak = new BasicBulletType(3f, 5) { - { - bulletWidth = 7f; - bulletHeight = 9f; - } - }, - - compositeFlak = new BasicBulletType(3f, 5) { + tracer = new BasicBulletType(3f, 5) { { bulletWidth = 7f; bulletHeight = 9f; diff --git a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java index 280655fdc9..4dbfb29e57 100644 --- a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java @@ -41,7 +41,7 @@ public class TurretBullets { @Override public void draw(Bullet b) { - //TODO add color to the bullet + //TODO add color to the bullet depending on the color of the flame it came from Draw.color(Palette.lightFlame, Palette.darkFlame, Color.GRAY, b.fin()); Fill.circle(b.x, b.y, 3f * b.fout()); Draw.reset(); @@ -117,6 +117,10 @@ public class TurretBullets { } }, + fuseShot = new BulletType(0.01f, 100) { + //TODO + }, + waterShot = new LiquidBulletType(Liquids.water) { { status = StatusEffects.wet; diff --git a/core/src/io/anuke/mindustry/core/ContentLoader.java b/core/src/io/anuke/mindustry/core/ContentLoader.java index b026352f30..76a0712b6e 100644 --- a/core/src/io/anuke/mindustry/core/ContentLoader.java +++ b/core/src/io/anuke/mindustry/core/ContentLoader.java @@ -2,7 +2,9 @@ package io.anuke.mindustry.core; import io.anuke.mindustry.content.*; import io.anuke.mindustry.content.blocks.*; +import io.anuke.mindustry.content.bullets.*; import io.anuke.mindustry.entities.StatusEffect; +import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.entities.units.UnitType; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Block; @@ -30,7 +32,6 @@ public class ContentLoader { //items new Items(), - new AmmoItems(), //liquids new Liquids(), @@ -44,6 +45,15 @@ public class ContentLoader { //units new UnitTypes(), + + //bullets + new ArtilleryBullets(), + new FlakBullets(), + new MissileBullets(), + new ShellBullets(), + new StandardBullets(), + new TurretBullets(), + //ammotypes new AmmoTypes(), @@ -59,9 +69,9 @@ public class ContentLoader { } Log.info("--- CONTENT INFO ---"); - Log.info("Blocks loaded: {0}\nItems loaded: {1}\nLiquids loaded: {2}\nUpgrades loaded: {3}\nUnits loaded: {4}\nAmmo types loaded: {5}\nStatus effects loaded: {6}\nRecipes loaded: {7}\nTotal content classes: {8}", + Log.info("Blocks loaded: {0}\nItems loaded: {1}\nLiquids loaded: {2}\nUpgrades loaded: {3}\nUnits loaded: {4}\nAmmo types loaded: {5}\nBullet types loaded: {6}\nStatus effects loaded: {7}\nRecipes loaded: {8}\nTotal content classes: {9}", Block.getAllBlocks().size, io.anuke.mindustry.type.Item.getAllItems().size, Liquid.getAllLiquids().size, - io.anuke.mindustry.type.Mech.getAllUpgrades().size, UnitType.getAllTypes().size, io.anuke.mindustry.type.AmmoType.getAllTypes().size, StatusEffect.getAllEffects().size, io.anuke.mindustry.type.Recipe.getAllRecipes().size, content.length); + io.anuke.mindustry.type.Mech.getAllUpgrades().size, UnitType.getAllTypes().size, io.anuke.mindustry.type.AmmoType.getAllTypes().size, BulletType.all().size, StatusEffect.getAllEffects().size, io.anuke.mindustry.type.Recipe.getAllRecipes().size, content.length); Log.info("-------------------"); } diff --git a/core/src/io/anuke/mindustry/core/Logic.java b/core/src/io/anuke/mindustry/core/Logic.java index ac6730dd9f..68fa96073b 100644 --- a/core/src/io/anuke/mindustry/core/Logic.java +++ b/core/src/io/anuke/mindustry/core/Logic.java @@ -81,7 +81,7 @@ public class Logic extends Module { for(int i = 0; i < 10; i ++){ BaseUnit unit = new BaseUnit(UnitTypes.vtol, Team.red); Vector2 offset = new Vector2().setToRandomDirection().scl(world.width()/2f*tilesize).add(world.width()/2f*tilesize, world.height()/2f*tilesize); - unit.inventory.addAmmo(AmmoTypes.basicIron); + unit.inventory.addAmmo(AmmoTypes.bulletIron); unit.inventory.setInfiniteAmmo(true); unit.set(offset.x, offset.y).add(); } diff --git a/core/src/io/anuke/mindustry/core/NetClient.java b/core/src/io/anuke/mindustry/core/NetClient.java index d769022050..288adbda79 100644 --- a/core/src/io/anuke/mindustry/core/NetClient.java +++ b/core/src/io/anuke/mindustry/core/NetClient.java @@ -4,9 +4,9 @@ import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.utils.IntMap; import com.badlogic.gdx.utils.IntSet; import io.anuke.mindustry.core.GameState.State; -import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.SyncEntity; +import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.Net.SendMode; @@ -19,7 +19,6 @@ import io.anuke.mindustry.world.Build; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.BaseBulletType; import io.anuke.ucore.entities.Entities; import io.anuke.ucore.entities.EntityGroup; import io.anuke.ucore.modules.Module; @@ -208,7 +207,7 @@ public class NetClient extends Module { }); Net.handleClient(EntityShootPacket.class, packet -> { - BulletType type = BaseBulletType.getByID(packet.bulletid); + BulletType type = BulletType.getByID(packet.bulletid); EntityGroup group = Entities.getGroup(packet.groupid); SyncEntity owner = (SyncEntity) group.getByID(packet.entityid); diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index 84f9f17601..7420b3c51b 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -168,7 +168,7 @@ public class NetServer extends Module{ Net.handleServer(EntityShootPacket.class, (id, packet) -> { Player player = connections.get(id); - BulletType type = BaseBulletType.getByID(packet.bulletid); + BulletType type = BulletType.getByID(packet.bulletid); Weapon weapon = Upgrade.getByID((byte)packet.data); if(!player.upgrades.contains(weapon, true)){ diff --git a/core/src/io/anuke/mindustry/entities/bullet/BulletType.java b/core/src/io/anuke/mindustry/entities/bullet/BulletType.java index 28a589354b..08869517fc 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/BulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/BulletType.java @@ -1,5 +1,6 @@ package io.anuke.mindustry.entities.bullet; +import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.entities.StatusEffect; @@ -7,6 +8,10 @@ import io.anuke.ucore.core.Effects; import io.anuke.ucore.entities.BaseBulletType; public abstract class BulletType extends BaseBulletType{ + private static int lastid = 0; + private static Array types = new Array<>(); + + public final int id; /**Knockback in velocity.*/ public float knockback; /**Whether this bullet hits tiles.*/ @@ -19,11 +24,14 @@ public abstract class BulletType extends BaseBulletType{ public float armorPierce = 0f; public BulletType(float speed, float damage){ + this.id = lastid ++; this.speed = speed; this.damage = damage; lifetime = 40f; hiteffect = BulletFx.hitBulletSmall; despawneffect = BulletFx.despawn; + + types.add(this); } @Override @@ -35,4 +43,12 @@ public abstract class BulletType extends BaseBulletType{ public void despawned(Bullet b){ Effects.effect(despawneffect, b.x, b.y, b.angle()); } + + public static BulletType getByID(int id){ + return types.get(id); + } + + public static Array all(){ + return types; + } } diff --git a/core/src/io/anuke/mindustry/entities/units/types/Brute.java b/core/src/io/anuke/mindustry/entities/units/types/Brute.java index c30b68fd9d..2dafd845f6 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/Brute.java +++ b/core/src/io/anuke/mindustry/entities/units/types/Brute.java @@ -7,7 +7,7 @@ public class Brute extends GroundUnitType { public Brute(String name) { super(name); - setAmmo(AmmoTypes.basicIron); + setAmmo(AmmoTypes.bulletIron); } } diff --git a/core/src/io/anuke/mindustry/entities/units/types/Cruiser.java b/core/src/io/anuke/mindustry/entities/units/types/Cruiser.java index a6818204c4..50c8e36d1f 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/Cruiser.java +++ b/core/src/io/anuke/mindustry/entities/units/types/Cruiser.java @@ -16,7 +16,7 @@ public class Cruiser extends FlyingUnitType { public Cruiser(){ super("vtol"); - setAmmo(AmmoTypes.basicIron); + setAmmo(AmmoTypes.bulletIron); speed = 0.2f; maxVelocity = 1.4f; health = 300f; diff --git a/core/src/io/anuke/mindustry/entities/units/types/Scout.java b/core/src/io/anuke/mindustry/entities/units/types/Scout.java index 17a5e9cbb0..8b179e29cd 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/Scout.java +++ b/core/src/io/anuke/mindustry/entities/units/types/Scout.java @@ -7,6 +7,6 @@ public class Scout extends GroundUnitType { public Scout(){ super("scout"); - setAmmo(AmmoTypes.basicIron); + setAmmo(AmmoTypes.bulletIron); } } diff --git a/core/src/io/anuke/mindustry/entities/units/types/Vtol.java b/core/src/io/anuke/mindustry/entities/units/types/Vtol.java index f143f12100..848f256d34 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/Vtol.java +++ b/core/src/io/anuke/mindustry/entities/units/types/Vtol.java @@ -15,7 +15,7 @@ public class Vtol extends FlyingUnitType { public Vtol(){ super("vtol"); - setAmmo(AmmoTypes.basicIron); + setAmmo(AmmoTypes.bulletIron); speed = 0.3f; maxVelocity = 2f; reload = 7; diff --git a/core/src/io/anuke/mindustry/input/PlaceMode.java b/core/src/io/anuke/mindustry/input/PlaceMode.java index 06716b6680..59a222214a 100644 --- a/core/src/io/anuke/mindustry/input/PlaceMode.java +++ b/core/src/io/anuke/mindustry/input/PlaceMode.java @@ -304,7 +304,6 @@ public enum PlaceMode{ Graphics.flush(); } - //Lines.crect(x, y, block.size * tilesize, block.size * tilesize); } public void released(InputHandler input, int tilex, int tiley, int endx, int endy){ diff --git a/core/src/io/anuke/mindustry/type/AmmoType.java b/core/src/io/anuke/mindustry/type/AmmoType.java index 3fefc348e4..fcbcd7058f 100644 --- a/core/src/io/anuke/mindustry/type/AmmoType.java +++ b/core/src/io/anuke/mindustry/type/AmmoType.java @@ -13,7 +13,7 @@ public class AmmoType { /**The item used. Always null if liquid isn't.*/ public final Item item; /**The liquid used. Always null if item isn't.*/ - public final io.anuke.mindustry.type.Liquid liquid; + public final Liquid liquid; /**The resulting bullet.*/ public final BulletType bullet; /**For item ammo, this is amount given per ammo item. @@ -48,7 +48,7 @@ public class AmmoType { this.quantityMultiplier = multiplier; } - public AmmoType(io.anuke.mindustry.type.Liquid liquid, BulletType result, float multiplier){ + public AmmoType(Liquid liquid, BulletType result, float multiplier){ this.item = null; this.liquid = liquid; this.bullet = result; diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index fb787af03e..f0ef61b610 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -30,9 +30,7 @@ import io.anuke.ucore.util.Bundles; import io.anuke.ucore.util.EnumSet; import io.anuke.ucore.util.Mathf; -import static io.anuke.mindustry.Vars.state; -import static io.anuke.mindustry.Vars.tilesize; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Vars.*; public class Block extends BaseBlock { private static int lastid; @@ -135,11 +133,22 @@ public class Block extends BaseBlock { public boolean isLayer2(Tile tile){return true;} public void drawLayer(Tile tile){} public void drawLayer2(Tile tile){} + + /**Draw the block overlay that is shown when a cursor is over the block.*/ public void drawSelect(Tile tile){} + + /**Drawn when you are placing a block.*/ public void drawPlace(int x, int y, int rotation, boolean valid){} + + /**Called after the block is placed.*/ public void placed(Tile tile){} + + /**Called every frame a unit is on this tile.*/ public void unitOn(Tile tile, Unit unit){} + /**Returns whether ot not this block can be place on the specified tile.*/ + public boolean canPlaceOn(Tile tile){ return true; } + /**Called after all blocks are created.*/ public void init(){ setStats(); @@ -147,14 +156,25 @@ public class Block extends BaseBlock { } /**Called after texture atlas is loaded.*/ - public void load(){ + public void load(){} + /**Called when the block is tapped.*/ + public void tapped(Tile tile, Player player){} + + /**Called when this block is tapped to build a UI on the table. + * {@link #isConfigurable(Tile)} able} must return true for this to be called.*/ + public void buildTable(Tile tile, Table table) {} + + //TODO make it a boolean? + /**Returns whether this tile can be configured.*/ + public boolean isConfigurable(Tile tile){ + return false; } - public void tapped(Tile tile, Player player){} - public void buildTable(Tile tile, Table table) {} + //TODO remove this public void configure(Tile tile, byte data){} + //TODO remove this public void setConfigure(Tile tile, byte data){ configure(tile, data); if(Net.active()) NetEvents.handleBlockConfig(tile, data); @@ -178,10 +198,6 @@ public class Block extends BaseBlock { tile.block().size * tilesize / 2f + 1f); Draw.reset(); } - - public boolean isConfigurable(Tile tile){ - return false; - } public void setStats(){ stats.add("size", size); diff --git a/core/src/io/anuke/mindustry/world/Build.java b/core/src/io/anuke/mindustry/world/Build.java index b40262821b..1b06049d07 100644 --- a/core/src/io/anuke/mindustry/world/Build.java +++ b/core/src/io/anuke/mindustry/world/Build.java @@ -137,8 +137,8 @@ public class Build { return true; }else { return (tile.getTeam() == Team.none || tile.getTeam() == team) && tile.floor().placeableOn - && ((type.canReplace(tile.block()) && !(type == tile.block() && rotation == tile.getRotation() && type.rotate)) || tile.block().alwaysReplace) - && tile.block().isMultiblock() == type.isMultiblock() || tile.block() == Blocks.air; + && ((type.canReplace(tile.block()) && !(type == tile.block() && rotation == tile.getRotation() && type.rotate)) || tile.block().alwaysReplace || tile.block() == Blocks.air) + && tile.block().isMultiblock() == type.isMultiblock() && type.canPlaceOn(tile); } }