diff --git a/core/assets-raw/sprites/units/titan.png b/core/assets-raw/sprites/units/titan.png index fe5f33de7f..63dcb6f8e3 100644 Binary files a/core/assets-raw/sprites/units/titan.png and b/core/assets-raw/sprites/units/titan.png differ diff --git a/core/assets-raw/sprites/weapons/chain-blaster-equip.png b/core/assets-raw/sprites/weapons/chain-blaster-equip.png new file mode 100644 index 0000000000..37a3cb4e5e Binary files /dev/null and b/core/assets-raw/sprites/weapons/chain-blaster-equip.png differ diff --git a/core/assets-raw/sprites/weapons/flakgun-equip.png b/core/assets-raw/sprites/weapons/flakgun-equip.png new file mode 100644 index 0000000000..02ab411a4c Binary files /dev/null and b/core/assets-raw/sprites/weapons/flakgun-equip.png differ diff --git a/core/assets-raw/sprites/weapons/flamethrower-equip.png b/core/assets-raw/sprites/weapons/flamethrower-equip.png new file mode 100644 index 0000000000..2ff0908ef5 Binary files /dev/null and b/core/assets-raw/sprites/weapons/flamethrower-equip.png differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 325906e4ec..7b9c4847ad 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -13,28 +13,28 @@ background index: -1 conveyor-arrow rotate: false - xy: 712, 167 + xy: 807, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-arrow rotate: false - xy: 787, 401 + xy: 879, 419 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-bridge rotate: false - xy: 797, 411 + xy: 885, 429 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-end rotate: false - xy: 777, 391 + xy: 895, 431 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -90,21 +90,21 @@ blast-drill-top index: -1 carbide-drill rotate: false - xy: 747, 254 + xy: 777, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 carbide-drill-rotator rotate: false - xy: 757, 254 + xy: 777, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 carbide-drill-top rotate: false - xy: 767, 254 + xy: 787, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -188,21 +188,21 @@ plasma-drill-top index: -1 tungsten-drill rotate: false - xy: 485, 102 + xy: 491, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 tungsten-drill-rotator rotate: false - xy: 495, 111 + xy: 501, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 tungsten-drill-top rotate: false - xy: 505, 111 + xy: 491, 61 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -272,14 +272,14 @@ block-icon-blackstone index: -1 blackstone2 rotate: false - xy: 839, 429 + xy: 875, 429 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone3 rotate: false - xy: 849, 429 + xy: 297, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -293,581 +293,581 @@ blackstoneedge index: -1 coal1 rotate: false - xy: 712, 227 + xy: 777, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal2 rotate: false - xy: 712, 217 + xy: 787, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 712, 207 + xy: 797, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 435, 125 + xy: 777, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 435, 115 + xy: 787, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirtedge rotate: false - xy: 706, 275 + xy: 720, 291 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 grass-cliff-edge rotate: false - xy: 710, 145 + xy: 817, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass-cliff-edge-1 rotate: false - xy: 710, 135 + xy: 827, 415 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass-cliff-edge-2 rotate: false - xy: 661, 140 + xy: 797, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass-cliff-side rotate: false - xy: 661, 130 + xy: 807, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass2 rotate: false - xy: 445, 106 + xy: 797, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass3 rotate: false - xy: 710, 155 + xy: 807, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassedge rotate: false - xy: 734, 292 + xy: 748, 276 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 ice-cliff-edge rotate: false - xy: 671, 133 + xy: 807, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice-cliff-edge-1 rotate: false - xy: 681, 133 + xy: 817, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice-cliff-edge-2 rotate: false - xy: 671, 123 + xy: 827, 395 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice-cliff-side rotate: false - xy: 671, 113 + xy: 817, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice2 rotate: false - xy: 661, 120 + xy: 817, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice3 rotate: false - xy: 661, 110 + xy: 827, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iceedge rotate: false - xy: 748, 290 + xy: 762, 276 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 icerock2 rotate: false - xy: 681, 123 + xy: 827, 385 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow1 rotate: false - xy: 681, 113 + xy: 827, 375 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow1 rotate: false - xy: 681, 113 + xy: 827, 375 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow2 rotate: false - xy: 691, 131 + xy: 839, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow2 rotate: false - xy: 691, 131 + xy: 839, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lavaedge rotate: false - xy: 748, 276 + xy: 672, 223 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 lead1 rotate: false - xy: 797, 401 + xy: 915, 431 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead2 rotate: false - xy: 807, 411 + xy: 925, 431 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead3 rotate: false - xy: 777, 381 + xy: 935, 431 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor2 rotate: false - xy: 827, 415 + xy: 919, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor3 rotate: false - xy: 797, 381 + xy: 929, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor4 rotate: false - xy: 807, 391 + xy: 939, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor5 rotate: false - xy: 817, 401 + xy: 949, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor6 rotate: false - xy: 827, 405 + xy: 720, 253 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalflooredge rotate: false - xy: 686, 209 + xy: 658, 187 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 oiledge rotate: false - xy: 672, 195 + xy: 672, 181 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 rock2 rotate: false - xy: 989, 407 + xy: 555, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand-cliff-edge rotate: false - xy: 987, 387 + xy: 595, 88 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand-cliff-edge-1 rotate: false - xy: 997, 397 + xy: 605, 90 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand-cliff-edge-2 rotate: false - xy: 987, 377 + xy: 441, 86 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand-cliff-side rotate: false - xy: 997, 387 + xy: 441, 76 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand2 rotate: false - xy: 1009, 407 + xy: 575, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand3 rotate: false - xy: 987, 397 + xy: 585, 88 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandedge rotate: false - xy: 658, 187 + xy: 658, 173 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shrubshadow rotate: false - xy: 1007, 387 + xy: 441, 46 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow-cliff-edge rotate: false - xy: 997, 367 + xy: 461, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow-cliff-edge-1 rotate: false - xy: 1007, 367 + xy: 451, 72 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow-cliff-edge-2 rotate: false - xy: 727, 243 + xy: 471, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow-cliff-side rotate: false - xy: 737, 244 + xy: 461, 72 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow2 rotate: false - xy: 1007, 377 + xy: 441, 36 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow3 rotate: false - xy: 987, 367 + xy: 451, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowedge rotate: false - xy: 658, 173 + xy: 706, 261 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 spaceedge rotate: false - xy: 672, 167 + xy: 720, 263 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 stone-cliff-edge rotate: false - xy: 757, 244 + xy: 471, 72 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-edge-1 rotate: false - xy: 767, 244 + xy: 461, 62 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-edge-2 rotate: false - xy: 777, 246 + xy: 451, 52 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-side rotate: false - xy: 455, 122 + xy: 481, 72 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 717, 241 + xy: 451, 62 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 747, 244 + xy: 481, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneedge rotate: false - xy: 686, 167 + xy: 734, 264 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 thorium1 rotate: false - xy: 455, 112 + xy: 471, 62 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium2 rotate: false - xy: 465, 122 + xy: 461, 52 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium3 rotate: false - xy: 465, 112 + xy: 451, 42 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium1 rotate: false - xy: 475, 122 + xy: 481, 62 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 475, 112 + xy: 471, 52 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 485, 122 + xy: 461, 42 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 tungsten1 rotate: false - xy: 455, 102 + xy: 471, 42 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 tungsten2 rotate: false - xy: 465, 102 + xy: 481, 42 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 tungsten3 rotate: false - xy: 475, 102 + xy: 491, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge rotate: false - xy: 515, 111 + xy: 501, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge-1 rotate: false - xy: 525, 111 + xy: 511, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge-2 rotate: false - xy: 535, 111 + xy: 491, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-side rotate: false - xy: 545, 111 + xy: 501, 61 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 wateredge rotate: false - xy: 734, 264 + xy: 705, 247 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 block-border rotate: false - xy: 869, 429 + xy: 317, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-elevation rotate: false - xy: 879, 429 + xy: 327, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustion-generator-top rotate: false - xy: 879, 429 + xy: 327, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-middle rotate: false - xy: 959, 420 + xy: 671, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 959, 420 + xy: 671, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-slope rotate: false - xy: 969, 420 + xy: 681, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 border rotate: false - xy: 979, 420 + xy: 691, 99 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 712, 187 + xy: 787, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 777, 256 + xy: 817, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -895,7 +895,7 @@ cross-4 index: -1 enemyspawn rotate: false - xy: 445, 116 + xy: 787, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -909,21 +909,21 @@ nuclearreactor-shadow index: -1 place-arrow rotate: false - xy: 977, 400 + xy: 485, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 playerspawn rotate: false - xy: 967, 380 + xy: 495, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ripples rotate: false - xy: 899, 441 + xy: 935, 441 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -972,7 +972,7 @@ rubble-3-1 index: -1 shadow-1 rotate: false - xy: 947, 441 + xy: 851, 427 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1014,7 +1014,7 @@ shadow-6 index: -1 shadow-round-1 rotate: false - xy: 827, 425 + xy: 863, 427 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1028,105 +1028,105 @@ shadow-round-2 index: -1 bridgeconduit-arrow rotate: false - xy: 989, 417 + xy: 607, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-bridge rotate: false - xy: 999, 417 + xy: 767, 420 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-end rotate: false - xy: 1009, 417 + xy: 767, 410 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-arrow rotate: false - xy: 717, 251 + xy: 767, 400 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-bridge rotate: false - xy: 727, 253 + xy: 767, 390 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-end rotate: false - xy: 737, 254 + xy: 767, 380 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 712, 197 + xy: 777, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top rotate: false - xy: 712, 177 + xy: 797, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-arrow rotate: false - xy: 777, 401 + xy: 867, 397 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-bridge rotate: false - xy: 807, 421 + xy: 867, 387 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-end rotate: false - xy: 817, 421 + xy: 867, 377 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter rotate: false - xy: 787, 381 + xy: 945, 431 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-bottom rotate: false - xy: 797, 391 + xy: 889, 419 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-liquid rotate: false - xy: 807, 401 + xy: 899, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-top rotate: false - xy: 817, 411 + xy: 909, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1154,14 +1154,14 @@ liquidtank-top index: -1 pulseconduit-bottom rotate: false - xy: 977, 390 + xy: 505, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-top rotate: false - xy: 977, 380 + xy: 515, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1266,7 +1266,7 @@ nuclear-reactor-lights index: -1 rtg-generator-top rotate: false - xy: 999, 407 + xy: 565, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1420,7 +1420,7 @@ cultivator-top index: -1 lavasmelter rotate: false - xy: 787, 391 + xy: 905, 431 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1476,21 +1476,21 @@ silicon-smelter-top index: -1 pulverizer rotate: false - xy: 957, 370 + xy: 525, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 967, 370 + xy: 535, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 1007, 397 + xy: 441, 66 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1504,7 +1504,7 @@ core-open index: -1 block-1 rotate: false - xy: 859, 429 + xy: 307, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1595,7 +1595,7 @@ crux-panel-right index: -1 duo rotate: false - xy: 445, 126 + xy: 807, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1630,14 +1630,14 @@ scatter index: -1 lancer rotate: false - xy: 875, 439 + xy: 911, 441 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 lancer-heat rotate: false - xy: 887, 441 + xy: 923, 441 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1651,21 +1651,21 @@ meltdown index: -1 scatter-heat rotate: false - xy: 911, 441 + xy: 947, 441 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scorch rotate: false - xy: 923, 441 + xy: 827, 425 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scorch-shoot rotate: false - xy: 935, 441 + xy: 839, 427 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1735,7 +1735,7 @@ reconstructor-open index: -1 repairpoint-turret rotate: false - xy: 977, 370 + xy: 545, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1756,7 +1756,7 @@ door-large-open index: -1 door-open rotate: false - xy: 435, 105 + xy: 797, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1819,7 +1819,7 @@ enemyarrow index: -1 error rotate: false - xy: 720, 277 + xy: 734, 292 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -1910,7 +1910,7 @@ shell-back index: -1 shot rotate: false - xy: 997, 377 + xy: 441, 56 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1924,7 +1924,7 @@ transfer index: -1 transfer-arrow rotate: false - xy: 485, 112 + xy: 481, 52 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1959,49 +1959,49 @@ block-icon-blast-drill index: -1 block-icon-bridgeconduit rotate: false - xy: 889, 431 + xy: 337, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit rotate: false - xy: 889, 431 + xy: 337, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-bridgeconveyor rotate: false - xy: 899, 431 + xy: 347, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor rotate: false - xy: 899, 431 + xy: 347, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-carbide-drill rotate: false - xy: 909, 431 + xy: 357, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-carbide-wall rotate: false - xy: 919, 431 + xy: 367, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 carbide-wall rotate: false - xy: 919, 431 + xy: 367, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2036,35 +2036,35 @@ centrifuge index: -1 block-icon-combustion-generator rotate: false - xy: 929, 431 + xy: 377, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustion-generator rotate: false - xy: 929, 431 + xy: 377, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-conduit rotate: false - xy: 939, 431 + xy: 387, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-conveyor rotate: false - xy: 949, 431 + xy: 397, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor rotate: false - xy: 949, 431 + xy: 397, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2113,42 +2113,42 @@ dart-ship-factory index: -1 block-icon-deepwater rotate: false - xy: 297, 19 + xy: 407, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater rotate: false - xy: 297, 19 + xy: 407, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-deflector-wall rotate: false - xy: 307, 19 + xy: 417, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deflector-wall rotate: false - xy: 307, 19 + xy: 417, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 phase-wall rotate: false - xy: 307, 19 + xy: 417, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-phase-wall rotate: false - xy: 307, 19 + xy: 417, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2197,28 +2197,28 @@ delta-mech-factory index: -1 block-icon-dirt rotate: false - xy: 317, 19 + xy: 427, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt1 rotate: false - xy: 317, 19 + xy: 427, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-door rotate: false - xy: 327, 19 + xy: 295, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door rotate: false - xy: 327, 19 + xy: 295, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2246,21 +2246,21 @@ block-icon-dronefactory index: -1 block-icon-droppoint rotate: false - xy: 337, 19 + xy: 305, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 droppoint rotate: false - xy: 337, 19 + xy: 305, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-duo rotate: false - xy: 347, 19 + xy: 315, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2281,105 +2281,105 @@ block-icon-fusion-reactor index: -1 block-icon-grass rotate: false - xy: 357, 19 + xy: 325, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass1 rotate: false - xy: 357, 19 + xy: 325, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-hail rotate: false - xy: 367, 19 + xy: 335, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-ice rotate: false - xy: 377, 19 + xy: 345, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice1 rotate: false - xy: 377, 19 + xy: 345, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-icerock rotate: false - xy: 387, 19 + xy: 355, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerock1 rotate: false - xy: 387, 19 + xy: 355, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-incinerator rotate: false - xy: 397, 19 + xy: 365, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 incinerator rotate: false - xy: 397, 19 + xy: 365, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-itemsource rotate: false - xy: 407, 19 + xy: 375, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemsource rotate: false - xy: 407, 19 + xy: 375, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-itemvoid rotate: false - xy: 417, 19 + xy: 385, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemvoid rotate: false - xy: 417, 19 + xy: 385, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-junction rotate: false - xy: 427, 19 + xy: 395, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 junction rotate: false - xy: 427, 19 + xy: 395, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2414,77 +2414,77 @@ block-icon-laser-drill index: -1 block-icon-laserconduit rotate: false - xy: 295, 9 + xy: 405, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit rotate: false - xy: 295, 9 + xy: 405, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-laserconveyor rotate: false - xy: 305, 9 + xy: 415, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor rotate: false - xy: 305, 9 + xy: 415, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-lava rotate: false - xy: 315, 9 + xy: 425, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava rotate: false - xy: 315, 9 + xy: 425, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquidjunction rotate: false - xy: 325, 9 + xy: 715, 237 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidjunction rotate: false - xy: 325, 9 + xy: 715, 237 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquidrouter rotate: false - xy: 335, 9 + xy: 437, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquidsource rotate: false - xy: 345, 9 + xy: 435, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidsource rotate: false - xy: 345, 9 + xy: 435, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2519,14 +2519,14 @@ core-top index: -1 block-icon-mechanical-pump rotate: false - xy: 355, 9 + xy: 712, 225 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 mechanical-pump rotate: false - xy: 355, 9 + xy: 712, 225 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2540,28 +2540,28 @@ block-icon-meltdown index: -1 block-icon-melter rotate: false - xy: 365, 9 + xy: 712, 215 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 melter rotate: false - xy: 365, 9 + xy: 712, 215 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-metalfloor rotate: false - xy: 375, 9 + xy: 712, 205 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor1 rotate: false - xy: 375, 9 + xy: 712, 205 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2596,14 +2596,14 @@ nuclear-reactor index: -1 block-icon-oil rotate: false - xy: 385, 9 + xy: 712, 195 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil rotate: false - xy: 385, 9 + xy: 712, 195 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2617,28 +2617,28 @@ block-icon-oil-extractor index: -1 block-icon-oilrefinery rotate: false - xy: 395, 9 + xy: 712, 185 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oilrefinery rotate: false - xy: 395, 9 + xy: 712, 185 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-overflowgate rotate: false - xy: 405, 9 + xy: 712, 175 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 overflowgate rotate: false - xy: 405, 9 + xy: 712, 175 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2673,14 +2673,14 @@ plasteel-compressor index: -1 block-icon-power-node rotate: false - xy: 415, 9 + xy: 712, 165 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 power-node rotate: false - xy: 415, 9 + xy: 712, 165 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2701,42 +2701,42 @@ power-node-large index: -1 block-icon-powerinfinite rotate: false - xy: 425, 9 + xy: 959, 440 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powerinfinite rotate: false - xy: 425, 9 + xy: 959, 440 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-powervoid rotate: false - xy: 772, 266 + xy: 969, 440 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powervoid rotate: false - xy: 772, 266 + xy: 969, 440 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-pulseconduit rotate: false - xy: 959, 440 + xy: 979, 440 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-pulverizer rotate: false - xy: 969, 440 + xy: 989, 437 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2764,28 +2764,28 @@ reconstructor index: -1 block-icon-repairpoint rotate: false - xy: 979, 440 + xy: 999, 437 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 repairpoint rotate: false - xy: 979, 440 + xy: 999, 437 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-resupplypoint rotate: false - xy: 959, 430 + xy: 1009, 437 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 resupplypoint rotate: false - xy: 959, 430 + xy: 1009, 437 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2799,14 +2799,14 @@ block-icon-ripple index: -1 block-icon-rock rotate: false - xy: 969, 430 + xy: 435, 125 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock1 rotate: false - xy: 969, 430 + xy: 435, 125 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2827,77 +2827,77 @@ rotary-pump index: -1 block-icon-router rotate: false - xy: 979, 430 + xy: 435, 115 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 979, 430 + xy: 435, 115 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-rtg-generator rotate: false - xy: 989, 437 + xy: 435, 105 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtg-generator rotate: false - xy: 989, 437 + xy: 435, 105 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-sand rotate: false - xy: 999, 437 + xy: 445, 126 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand1 rotate: false - xy: 999, 437 + xy: 445, 126 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-scorch rotate: false - xy: 1009, 437 + xy: 445, 116 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-separator rotate: false - xy: 989, 427 + xy: 445, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator rotate: false - xy: 989, 427 + xy: 445, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-shrub rotate: false - xy: 999, 427 + xy: 710, 153 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shrub rotate: false - xy: 999, 427 + xy: 710, 153 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2918,126 +2918,126 @@ silicon-smelter index: -1 block-icon-smelter rotate: false - xy: 1009, 427 + xy: 710, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 smelter rotate: false - xy: 1009, 427 + xy: 710, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-snow rotate: false - xy: 437, 19 + xy: 710, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow1 rotate: false - xy: 437, 19 + xy: 710, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-solar-panel rotate: false - xy: 435, 9 + xy: 661, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 solar-panel rotate: false - xy: 435, 9 + xy: 661, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-sortedunloader rotate: false - xy: 839, 419 + xy: 661, 130 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sortedunloader rotate: false - xy: 839, 419 + xy: 661, 130 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-sorter rotate: false - xy: 849, 419 + xy: 661, 120 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sorter rotate: false - xy: 849, 419 + xy: 661, 120 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-space rotate: false - xy: 859, 419 + xy: 661, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 space rotate: false - xy: 859, 419 + xy: 661, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-splitter rotate: false - xy: 869, 419 + xy: 671, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 splitter rotate: false - xy: 869, 419 + xy: 671, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-stone rotate: false - xy: 879, 419 + xy: 671, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone1 rotate: false - xy: 879, 419 + xy: 671, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-stoneformer rotate: false - xy: 889, 421 + xy: 681, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneformer rotate: false - xy: 889, 421 + xy: 681, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3093,14 +3093,14 @@ thermite-mixer index: -1 block-icon-thorium-wall rotate: false - xy: 899, 421 + xy: 671, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium-wall rotate: false - xy: 899, 421 + xy: 671, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3121,35 +3121,35 @@ thorium-wall-large index: -1 block-icon-titanium-conveyor rotate: false - xy: 909, 421 + xy: 681, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor rotate: false - xy: 909, 421 + xy: 681, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-tungsten-drill rotate: false - xy: 919, 421 + xy: 681, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-tungsten-wall rotate: false - xy: 929, 421 + xy: 691, 129 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 tungsten-wall rotate: false - xy: 929, 421 + xy: 691, 129 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3184,14 +3184,14 @@ turbine-generator index: -1 block-icon-unloader rotate: false - xy: 939, 421 + xy: 691, 119 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 unloader rotate: false - xy: 939, 421 + xy: 691, 119 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3226,14 +3226,14 @@ warpgate index: -1 block-icon-water rotate: false - xy: 949, 421 + xy: 691, 109 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water rotate: false - xy: 949, 421 + xy: 691, 109 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3254,588 +3254,588 @@ block-icon-wave index: -1 mech-icon-alpha-mech rotate: false - xy: 762, 290 + xy: 672, 209 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mech-icon-dart-ship rotate: false - xy: 762, 276 + xy: 686, 223 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mech-icon-delta-mech rotate: false - xy: 672, 223 + xy: 686, 209 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mech-icon-halberd-ship rotate: false - xy: 672, 209 + xy: 672, 195 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mech-icon-javelin-ship rotate: false - xy: 672, 209 + xy: 672, 195 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mech-icon-trident-ship rotate: false - xy: 672, 209 + xy: 672, 195 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mech-icon-omega-mech rotate: false - xy: 686, 223 + xy: 686, 195 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mech-icon-tau-mech rotate: false - xy: 686, 223 + xy: 686, 195 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 ore-coal-grass1 rotate: false - xy: 807, 381 + xy: 730, 253 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-grass2 rotate: false - xy: 817, 391 + xy: 725, 243 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-grass3 rotate: false - xy: 827, 395 + xy: 725, 233 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-ice1 rotate: false - xy: 817, 381 + xy: 722, 223 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-ice2 rotate: false - xy: 827, 385 + xy: 722, 213 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-ice3 rotate: false - xy: 837, 409 + xy: 722, 203 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-sand1 rotate: false - xy: 837, 399 + xy: 722, 193 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-sand2 rotate: false - xy: 847, 409 + xy: 722, 183 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-sand3 rotate: false - xy: 837, 389 + xy: 722, 173 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-snow1 rotate: false - xy: 847, 399 + xy: 722, 163 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-snow2 rotate: false - xy: 857, 409 + xy: 720, 153 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-snow3 rotate: false - xy: 847, 389 + xy: 720, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-stone1 rotate: false - xy: 857, 399 + xy: 720, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-stone2 rotate: false - xy: 867, 409 + xy: 735, 243 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-coal-stone3 rotate: false - xy: 857, 389 + xy: 735, 233 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-grass1 rotate: false - xy: 867, 399 + xy: 732, 223 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-grass2 rotate: false - xy: 877, 409 + xy: 732, 213 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-grass3 rotate: false - xy: 867, 389 + xy: 732, 203 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-ice1 rotate: false - xy: 877, 399 + xy: 732, 193 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-ice2 rotate: false - xy: 877, 389 + xy: 732, 183 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-ice3 rotate: false - xy: 827, 375 + xy: 732, 173 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-sand1 rotate: false - xy: 837, 379 + xy: 732, 163 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-sand2 rotate: false - xy: 847, 379 + xy: 730, 153 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-sand3 rotate: false - xy: 857, 379 + xy: 730, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-snow1 rotate: false - xy: 867, 379 + xy: 730, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-snow2 rotate: false - xy: 877, 379 + xy: 742, 223 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-snow3 rotate: false - xy: 837, 369 + xy: 742, 213 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-stone1 rotate: false - xy: 847, 369 + xy: 742, 203 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-stone2 rotate: false - xy: 857, 369 + xy: 742, 193 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-lead-stone3 rotate: false - xy: 867, 369 + xy: 742, 183 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-grass1 rotate: false - xy: 877, 369 + xy: 742, 173 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-grass2 rotate: false - xy: 445, 9 + xy: 742, 163 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-grass3 rotate: false - xy: 889, 411 + xy: 740, 153 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-ice1 rotate: false - xy: 899, 411 + xy: 740, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-ice2 rotate: false - xy: 909, 411 + xy: 740, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-ice3 rotate: false - xy: 919, 411 + xy: 445, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-sand1 rotate: false - xy: 929, 411 + xy: 455, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-sand2 rotate: false - xy: 939, 411 + xy: 455, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-sand3 rotate: false - xy: 949, 411 + xy: 465, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-snow1 rotate: false - xy: 959, 410 + xy: 465, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-snow2 rotate: false - xy: 969, 410 + xy: 475, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-snow3 rotate: false - xy: 979, 410 + xy: 475, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-stone1 rotate: false - xy: 887, 401 + xy: 485, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-stone2 rotate: false - xy: 887, 391 + xy: 485, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-thorium-stone3 rotate: false - xy: 897, 401 + xy: 455, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-grass1 rotate: false - xy: 887, 381 + xy: 465, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-grass2 rotate: false - xy: 897, 391 + xy: 475, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-grass3 rotate: false - xy: 907, 401 + xy: 485, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-ice1 rotate: false - xy: 887, 371 + xy: 495, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-ice2 rotate: false - xy: 897, 381 + xy: 505, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-ice3 rotate: false - xy: 907, 391 + xy: 515, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-sand1 rotate: false - xy: 917, 401 + xy: 525, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-sand2 rotate: false - xy: 897, 371 + xy: 535, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-sand3 rotate: false - xy: 907, 381 + xy: 545, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-snow1 rotate: false - xy: 917, 391 + xy: 555, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-snow2 rotate: false - xy: 927, 401 + xy: 565, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-snow3 rotate: false - xy: 907, 371 + xy: 575, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-stone1 rotate: false - xy: 917, 381 + xy: 495, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-stone2 rotate: false - xy: 927, 391 + xy: 505, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-titanium-stone3 rotate: false - xy: 937, 401 + xy: 515, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-grass1 rotate: false - xy: 917, 371 + xy: 525, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-grass2 rotate: false - xy: 927, 381 + xy: 535, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-grass3 rotate: false - xy: 937, 391 + xy: 545, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-ice1 rotate: false - xy: 947, 401 + xy: 555, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-ice2 rotate: false - xy: 927, 371 + xy: 565, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-ice3 rotate: false - xy: 937, 381 + xy: 575, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-sand1 rotate: false - xy: 947, 391 + xy: 585, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-sand2 rotate: false - xy: 937, 371 + xy: 595, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-sand3 rotate: false - xy: 947, 381 + xy: 585, 98 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-snow1 rotate: false - xy: 947, 371 + xy: 595, 98 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-snow2 rotate: false - xy: 957, 400 + xy: 605, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-snow3 rotate: false - xy: 957, 390 + xy: 445, 96 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-stone1 rotate: false - xy: 967, 400 + xy: 455, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-stone2 rotate: false - xy: 957, 380 + xy: 465, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ore-tungsten-stone3 rotate: false - xy: 967, 390 + xy: 475, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 unit-icon-scout rotate: false - xy: 706, 261 + xy: 748, 262 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -3849,119 +3849,119 @@ unit-icon-titan index: -1 unit-icon-vtol rotate: false - xy: 720, 263 + xy: 762, 262 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol rotate: false - xy: 720, 263 + xy: 762, 262 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 item-biomatter rotate: false - xy: 691, 111 + xy: 859, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-blast-compound rotate: false - xy: 671, 103 + xy: 837, 407 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-carbide rotate: false - xy: 681, 103 + xy: 837, 397 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-coal rotate: false - xy: 691, 101 + xy: 847, 407 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead rotate: false - xy: 607, 110 + xy: 837, 387 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-phase-matter rotate: false - xy: 767, 420 + xy: 847, 397 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-plasteel rotate: false - xy: 767, 410 + xy: 857, 407 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-sand rotate: false - xy: 767, 400 + xy: 837, 377 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 767, 390 + xy: 847, 387 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-stone rotate: false - xy: 767, 380 + xy: 857, 397 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 777, 421 + xy: 847, 377 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thermite rotate: false - xy: 787, 421 + xy: 857, 387 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 777, 411 + xy: 857, 377 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 797, 421 + xy: 869, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-tungsten rotate: false - xy: 787, 411 + xy: 867, 407 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -4038,56 +4038,56 @@ scout-leg index: -1 delta-mech rotate: false - xy: 658, 201 + xy: 706, 289 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 delta-mech-leg rotate: false - xy: 706, 289 + xy: 706, 275 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 omega-mech rotate: false - xy: 686, 195 + xy: 686, 181 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 tau-mech rotate: false - xy: 686, 195 + xy: 686, 181 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 dart-ship rotate: false - xy: 658, 215 + xy: 658, 201 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 halberd-ship rotate: false - xy: 734, 278 + xy: 762, 290 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 javelin-ship rotate: false - xy: 734, 278 + xy: 762, 290 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 trident-ship rotate: false - xy: 734, 278 + xy: 762, 290 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -4327,21 +4327,21 @@ icon-arrow-down index: -1 icon-arrow-left rotate: false - xy: 748, 264 + xy: 703, 235 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-right rotate: false - xy: 760, 264 + xy: 700, 223 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-up rotate: false - xy: 705, 249 + xy: 700, 211 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -4376,7 +4376,7 @@ icon-cancel index: -1 icon-chat rotate: false - xy: 703, 237 + xy: 700, 199 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -4390,21 +4390,21 @@ icon-check index: -1 icon-crafting rotate: false - xy: 700, 225 + xy: 700, 187 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-cursor rotate: false - xy: 700, 213 + xy: 700, 175 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-defense rotate: false - xy: 700, 201 + xy: 700, 163 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -4425,7 +4425,7 @@ icon-discord index: -1 icon-distribution rotate: false - xy: 700, 189 + xy: 650, 150 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -4558,14 +4558,14 @@ icon-grid index: -1 icon-hold rotate: false - xy: 700, 177 + xy: 662, 150 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-holdDelete rotate: false - xy: 700, 165 + xy: 674, 155 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -4586,7 +4586,7 @@ icon-host index: -1 icon-info rotate: false - xy: 650, 150 + xy: 686, 155 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -4600,7 +4600,7 @@ icon-itch.io index: -1 icon-items-none rotate: false - xy: 691, 121 + xy: 849, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -4621,7 +4621,7 @@ icon-link index: -1 icon-liquid rotate: false - xy: 662, 150 + xy: 698, 151 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -4656,14 +4656,14 @@ icon-loading index: -1 icon-logic rotate: false - xy: 674, 155 + xy: 674, 143 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu rotate: false - xy: 686, 155 + xy: 686, 143 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -4677,14 +4677,14 @@ icon-menu-large index: -1 icon-none rotate: false - xy: 698, 153 + xy: 698, 139 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pause rotate: false - xy: 674, 143 + xy: 625, 112 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -4712,7 +4712,7 @@ icon-pick index: -1 icon-play rotate: false - xy: 686, 143 + xy: 637, 112 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -4726,21 +4726,21 @@ icon-play-2 index: -1 icon-players rotate: false - xy: 698, 141 + xy: 649, 112 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-power rotate: false - xy: 625, 112 + xy: 827, 437 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-production rotate: false - xy: 637, 112 + xy: 839, 439 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -4831,7 +4831,7 @@ icon-save-map index: -1 icon-settings rotate: false - xy: 649, 112 + xy: 851, 439 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -4852,14 +4852,14 @@ icon-tools index: -1 icon-touch rotate: false - xy: 827, 437 + xy: 863, 439 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-touchDelete rotate: false - xy: 839, 439 + xy: 875, 439 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -4901,14 +4901,14 @@ icon-undo index: -1 icon-units rotate: false - xy: 851, 439 + xy: 887, 441 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-weapon rotate: false - xy: 863, 439 + xy: 899, 441 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -5102,14 +5102,14 @@ window-empty index: -1 drone rotate: false - xy: 720, 291 + xy: 720, 277 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 unit-icon-drone rotate: false - xy: 720, 291 + xy: 720, 277 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -5130,7 +5130,7 @@ unit-icon-monsoon index: -1 scout rotate: false - xy: 672, 181 + xy: 672, 167 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -5170,9 +5170,30 @@ blaster-equip orig: 12, 12 offset: 0, 0 index: -1 -shockgun-equip +chain-blaster-equip rotate: false - xy: 686, 181 + xy: 658, 215 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +flakgun-equip + rotate: false + xy: 734, 278 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +flamethrower-equip + rotate: false + xy: 748, 290 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 +shockgun-equip + rotate: false + xy: 686, 167 size: 12, 12 orig: 12, 12 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 8bd2993cdf..92d4a51fed 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/ai/WaveSpawner.java b/core/src/io/anuke/mindustry/ai/WaveSpawner.java index f130378736..13d7581886 100644 --- a/core/src/io/anuke/mindustry/ai/WaveSpawner.java +++ b/core/src/io/anuke/mindustry/ai/WaveSpawner.java @@ -30,6 +30,8 @@ public class WaveSpawner { public WaveSpawner(){ Events.on(WorldLoadEvent.class, this::reset); + + WaveCreator.testWaves(0, 200); } public void write(DataOutput output) throws IOException{ @@ -77,14 +79,16 @@ public class WaveSpawner { } } + int addGround = groundGroups - groundSpawns.size, addFly = flyGroups - flySpawns.size; + //add extra groups if the total exceeds it - for (int i = 0; i < groundGroups - groundSpawns.size; i++) { + for (int i = 0; i < addGround; i++) { GroundSpawn spawn = new GroundSpawn(); findLocation(spawn); groundSpawns.add(spawn); } - for (int i = 0; i < flyGroups - flySpawns.size; i++) { + for (int i = 0; i < addFly; i++) { FlyerSpawn spawn = new FlyerSpawn(); findLocation(spawn); flySpawns.add(spawn); diff --git a/core/src/io/anuke/mindustry/content/AmmoTypes.java b/core/src/io/anuke/mindustry/content/AmmoTypes.java index fae25a1942..0202b0733b 100644 --- a/core/src/io/anuke/mindustry/content/AmmoTypes.java +++ b/core/src/io/anuke/mindustry/content/AmmoTypes.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.type.ContentList; public class AmmoTypes implements ContentList { public static AmmoType bulletTungsten, bulletLead, bulletCarbide, bulletThorium, bulletSilicon, bulletThermite, - shotgunTungsten, bombExplosive, bombIncendiary, + shotgunTungsten, bombExplosive, bombIncendiary, bombOil, shellCarbide, flamerThermite, flakLead, flakExplosive, flakPlastic, flakSurge, missileExplosive, missileIncindiary, missileSurge, artilleryCarbide, artilleryThorium, artilleryPlastic, artilleryHoming, artilleryIncindiary, basicFlame, lancerLaser, lightning, spectreLaser, meltdownLaser, fuseShotgun, oil, water, lava, cryofluid; @@ -18,6 +18,38 @@ public class AmmoTypes implements ContentList { @Override public void load() { + //weapon specific + + shotgunTungsten = new AmmoType(Items.tungsten, WeaponBullets.tungstenShotgun, 2) {{ + shootEffect = ShootFx.shootBig; + smokeEffect = ShootFx.shootBigSmoke; + recoil = 1f; + }}; + + shellCarbide = new AmmoType(Items.carbide, WeaponBullets.shellCarbide, 2) {{ + shootEffect = ShootFx.shootBig; + smokeEffect = ShootFx.shootBigSmoke; + }}; + + bombExplosive = new AmmoType(Items.blastCompound, WeaponBullets.bombExplosive, 3) {{ + shootEffect = Fx.none; + smokeEffect = Fx.none; + }}; + + bombIncendiary = new AmmoType(Items.thermite, WeaponBullets.bombIncendiary, 3) {{ + shootEffect = Fx.none; + smokeEffect = Fx.none; + }}; + + bombOil = new AmmoType(Items.coal, WeaponBullets.bombOil, 3) {{ + shootEffect = Fx.none; + smokeEffect = Fx.none; + }}; + + flamerThermite = new AmmoType(Items.thermite, TurretBullets.basicFlame, 3) {{ + shootEffect = ShootFx.shootSmallFlame; + }}; + //bullets bulletLead = new AmmoType(Items.lead, StandardBullets.lead, 5) {{ @@ -56,24 +88,6 @@ public class AmmoTypes implements ContentList { inaccuracy = 3f; }}; - //shotgun (delta mech) - - shotgunTungsten = new AmmoType(Items.tungsten, WeaponBullets.tungstenShotgun, 2) {{ - shootEffect = ShootFx.shootBig; - smokeEffect = ShootFx.shootBigSmoke; - recoil = 1f; - }}; - - bombExplosive = new AmmoType(Items.blastCompound, WeaponBullets.bombExplosive, 3) {{ - shootEffect = Fx.none; - smokeEffect = Fx.none; - }}; - - bombIncendiary = new AmmoType(Items.thermite, WeaponBullets.bombIncendiary, 3) {{ - shootEffect = Fx.none; - smokeEffect = Fx.none; - }}; - //flak flakLead = new AmmoType(Items.lead, FlakBullets.lead, 5) {{ diff --git a/core/src/io/anuke/mindustry/content/Recipes.java b/core/src/io/anuke/mindustry/content/Recipes.java index 049c57fc74..be876e24ee 100644 --- a/core/src/io/anuke/mindustry/content/Recipes.java +++ b/core/src/io/anuke/mindustry/content/Recipes.java @@ -71,6 +71,9 @@ public class Recipes implements ContentList{ new Recipe(crafting, CraftingBlocks.blastMixer, new ItemStack(Items.tungsten, 60), new ItemStack(Items.lead, 60), new ItemStack(Items.carbide, 40)); new Recipe(crafting, CraftingBlocks.cryofluidmixer, new ItemStack(Items.lead, 130), new ItemStack(Items.silicon, 80), new ItemStack(Items.titanium, 90)); + new Recipe(crafting, CraftingBlocks.melter, new ItemStack(Items.tungsten, 60), new ItemStack(Items.lead, 70), new ItemStack(Items.carbide, 90)); + new Recipe(crafting, CraftingBlocks.incinerator, new ItemStack(Items.carbide, 10), new ItemStack(Items.lead, 30)); + //processing new Recipe(crafting, CraftingBlocks.biomatterCompressor, new ItemStack(Items.lead, 70), new ItemStack(Items.silicon, 60)); new Recipe(crafting, CraftingBlocks.separator, new ItemStack(Items.tungsten, 60), new ItemStack(Items.carbide, 50)); @@ -113,7 +116,7 @@ public class Recipes implements ContentList{ //new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.tungsten, 30), new ItemStack(Items.lead, 50), new ItemStack(Items.silicon, 30)); //actual unit related stuff - new Recipe(units, UnitBlocks.droneFactory, new ItemStack(Items.tungsten, 30), new ItemStack(Items.lead, 50), new ItemStack(Items.silicon, 80)); + new Recipe(units, UnitBlocks.droneFactory, new ItemStack(Items.tungsten, 50), new ItemStack(Items.lead, 90), new ItemStack(Items.silicon, 130)); new Recipe(units, UnitBlocks.repairPoint, new ItemStack(Items.lead, 30), new ItemStack(Items.tungsten, 30), new ItemStack(Items.silicon, 30)); new Recipe(units, UnitBlocks.resupplyPoint, new ItemStack(Items.lead, 30), new ItemStack(Items.tungsten, 30), new ItemStack(Items.silicon, 30)); diff --git a/core/src/io/anuke/mindustry/content/UnitTypes.java b/core/src/io/anuke/mindustry/content/UnitTypes.java index 8b002f41c9..259cc6429c 100644 --- a/core/src/io/anuke/mindustry/content/UnitTypes.java +++ b/core/src/io/anuke/mindustry/content/UnitTypes.java @@ -18,6 +18,7 @@ public class UnitTypes implements ContentList { maxVelocity = 0.8f; ammoCapacity = 0; range = 50f; + health = 45; }}; scout = new UnitType("scout", Scout.class, Scout::new){{ @@ -25,7 +26,8 @@ public class UnitTypes implements ContentList { speed = 0.2f; drag = 0.4f; range = 40f; - weapon = Weapons.blaster; + weapon = Weapons.chainBlaster; + health = 70; }}; titan = new UnitType("titan", Titan.class, Titan::new){{ @@ -33,7 +35,8 @@ public class UnitTypes implements ContentList { speed = 0.18f; drag = 0.4f; range = 10f; - weapon = Weapons.shockgun; + weapon = Weapons.chainBlaster; + health = 260; }}; vtol = new UnitType("vtol", Vtol.class, Vtol::new){{ @@ -45,7 +48,7 @@ public class UnitTypes implements ContentList { }}; monsoon = new UnitType("monsoon", Monsoon.class, Monsoon::new){{ - health = 300; + health = 230; speed = 0.2f; maxVelocity = 1.5f; drag = 0.01f; diff --git a/core/src/io/anuke/mindustry/content/Weapons.java b/core/src/io/anuke/mindustry/content/Weapons.java index 3cde2e0733..331340ea32 100644 --- a/core/src/io/anuke/mindustry/content/Weapons.java +++ b/core/src/io/anuke/mindustry/content/Weapons.java @@ -9,7 +9,7 @@ import io.anuke.mindustry.type.Upgrade; import io.anuke.mindustry.type.Weapon; public class Weapons implements ContentList { - public static Weapon blaster, shockgun, sapper, swarmer, bomber; + public static Weapon blaster, chainBlaster, shockgun, sapper, swarmer, bomber, flakgun, flamethrower; @Override public void load() { @@ -22,6 +22,14 @@ public class Weapons implements ContentList { setAmmo(AmmoTypes.bulletLead); }}; + chainBlaster = new Weapon("chain-blaster") {{ + length = 1.5f; + reload = 20f; + roundrobin = true; + ejectEffect = ShootFx.shellEjectSmall; + setAmmo(AmmoTypes.bulletLead, AmmoTypes.bulletCarbide, AmmoTypes.bulletTungsten, AmmoTypes.bulletSilicon, AmmoTypes.bulletThorium); + }}; + shockgun = new Weapon("shockgun") {{ length = 1f; reload = 50f; @@ -34,6 +42,27 @@ public class Weapons implements ContentList { setAmmo(AmmoTypes.shotgunTungsten); }}; + flakgun = new Weapon("flakgun") {{ + length = 1f; + reload = 70f; + roundrobin = true; + shots = 1; + inaccuracy = 3f; + recoil = 3f; + velocityRnd = 0.1f; + ejectEffect = ShootFx.shellEjectMedium; + setAmmo(AmmoTypes.shellCarbide); + }}; + + flamethrower = new Weapon("flamethrower") {{ + length = 1f; + reload = 14f; + roundrobin = true; + recoil = 1f; + ejectEffect = Fx.none; + setAmmo(AmmoTypes.flamerThermite); + }}; + sapper = new Weapon("sapper") {{ length = 1.5f; reload = 12f; @@ -58,7 +87,7 @@ public class Weapons implements ContentList { ejectEffect = Fx.none; velocityRnd = 1f; inaccuracy = 40f; - setAmmo(AmmoTypes.bombExplosive, AmmoTypes.bombIncendiary); + setAmmo(AmmoTypes.bombExplosive, AmmoTypes.bombIncendiary, AmmoTypes.bombOil); }}; } diff --git a/core/src/io/anuke/mindustry/content/bullets/WeaponBullets.java b/core/src/io/anuke/mindustry/content/bullets/WeaponBullets.java index 641a1644ce..d7195ee768 100644 --- a/core/src/io/anuke/mindustry/content/bullets/WeaponBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/WeaponBullets.java @@ -1,11 +1,15 @@ package io.anuke.mindustry.content.bullets; +import com.badlogic.gdx.graphics.Color; +import io.anuke.mindustry.content.Liquids; +import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.entities.bullet.BasicBulletType; import io.anuke.mindustry.entities.bullet.BombBulletType; import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.entities.effect.Fire; +import io.anuke.mindustry.entities.effect.Puddle; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.util.Mathf; @@ -13,7 +17,7 @@ import io.anuke.ucore.util.Mathf; import static io.anuke.mindustry.Vars.world; public class WeaponBullets extends BulletList { - public static BulletType tungstenShotgun, bombExplosive, bombIncendiary; + public static BulletType tungstenShotgun, bombExplosive, bombIncendiary, bombOil, shellCarbide; @Override public void load() { @@ -58,5 +62,38 @@ public class WeaponBullets extends BulletList { } } }; + + bombOil = new BombBulletType(3f, 3f, "shell"){ + { + bulletWidth = 8f; + bulletHeight = 12f; + hiteffect = BlockFx.pulverize; + backColor = new Color(0x4f4f4fff); + frontColor = Color.GRAY; + } + + @Override + public void hit(Bullet b, float x, float y) { + super.hit(b, x, y); + + for (int i = 0; i < 3; i++) { + Tile tile = world.tileWorld(x + Mathf.range(8f), y + Mathf.range(8f)); + Puddle.deposit(tile, Liquids.oil, 5f); + } + } + }; + + shellCarbide = new BasicBulletType(3.4f, 20, "bullet") { + { + bulletWidth = 10f; + bulletHeight = 12f; + bulletShrink = 0.4f; + lifetime = 40f; + drag = 0.025f; + fragBullets = 5; + hiteffect = BulletFx.flakExplosion; + fragBullet = tungstenShotgun; + } + }; } } diff --git a/core/src/io/anuke/mindustry/entities/effect/Puddle.java b/core/src/io/anuke/mindustry/entities/effect/Puddle.java index d88e9578ed..97d903cd76 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Puddle.java +++ b/core/src/io/anuke/mindustry/entities/effect/Puddle.java @@ -179,6 +179,8 @@ public class Puddle extends BaseEntity implements SaveTrait, Poolable, DrawTrait //effects-only code if(amount >= maxLiquid/2f && updateTime <= 0f){ Units.getNearby(rect.setSize(Mathf.clamp(amount/(maxLiquid/1.5f))*10f).setCenter(x, y), unit -> { + if(unit.isFlying()) return; + unit.getHitbox(rect2); if(!rect.overlaps(rect2)) return; diff --git a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java index eba35daf8b..ba3671d558 100644 --- a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java @@ -155,7 +155,7 @@ public abstract class GroundUnit extends BaseUnit { @Override public void readSave(DataInput stream) throws IOException{ - weapon = Upgrade.getByID(weapon.id); + weapon = Upgrade.getByID(stream.readByte()); super.readSave(stream); } @@ -229,7 +229,7 @@ public abstract class GroundUnit extends BaseUnit { state.set(resupply); }else if(target != null){ if(core != null){ - if(dst > inventory.getAmmo().getRange() * 0.7f){ + if(dst > inventory.getAmmo().getRange() * 0.5f){ moveToCore(); } diff --git a/core/src/io/anuke/mindustry/game/SpawnGroup.java b/core/src/io/anuke/mindustry/game/SpawnGroup.java index 33e85d536e..6c91faa1ac 100644 --- a/core/src/io/anuke/mindustry/game/SpawnGroup.java +++ b/core/src/io/anuke/mindustry/game/SpawnGroup.java @@ -8,8 +8,6 @@ import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.StatusEffect; import io.anuke.mindustry.type.Weapon; -import static io.anuke.mindustry.Vars.state; - /**A spawn group defines spawn information for a specific type of unit, with optional extra information like * weapon equipped, ammo used, and status effects. * Each spawn group can have multiple sub-groups spawned in different areas of the map.*/ @@ -50,7 +48,7 @@ public class SpawnGroup { if(wave < begin || wave > end || (wave - begin) % spacing != 0){ return 0; } - float scaling = this.unitScaling * state.difficulty.enemyScaling; + float scaling = this.unitScaling; return Math.min(unitAmount-1 + Math.max((int)((wave / spacing) / scaling), 1), max); } @@ -75,7 +73,7 @@ public class SpawnGroup { } if(effect != null){ - unit.applyEffect(effect, 1f); + unit.applyEffect(effect, 10000f); } if(items != null){ diff --git a/core/src/io/anuke/mindustry/game/WaveCreator.java b/core/src/io/anuke/mindustry/game/WaveCreator.java index eb7f8dd7a4..4ff125254d 100644 --- a/core/src/io/anuke/mindustry/game/WaveCreator.java +++ b/core/src/io/anuke/mindustry/game/WaveCreator.java @@ -2,7 +2,9 @@ package io.anuke.mindustry.game; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.content.Items; +import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.content.UnitTypes; +import io.anuke.mindustry.content.Weapons; import io.anuke.mindustry.type.ItemStack; public class WaveCreator{ @@ -10,24 +12,149 @@ public class WaveCreator{ public static Array getSpawns(){ return Array.with( new SpawnGroup(UnitTypes.scout){{ - end = 5; - }}, - - new SpawnGroup(UnitTypes.titan){{ - begin = 6; - }}, - - new SpawnGroup(UnitTypes.scout){{ - begin = 6; - items = new ItemStack(Items.thermite, 100); + end = 8; + unitScaling = 2; }}, new SpawnGroup(UnitTypes.vtol){{ + begin = 4; + end = 6; + }}, + + new SpawnGroup(UnitTypes.scout){{ + begin = 11; + unitScaling = 2; + spacing = 2; + max = 4; + }}, + + new SpawnGroup(UnitTypes.titan){{ begin = 8; + spacing = 3; + unitScaling = 2; + + end = 30; + }}, + + new SpawnGroup(UnitTypes.scout){{ + begin = 10; + unitScaling = 2; + unitAmount = 1; + spacing = 2; + ammoItem = Items.tungsten; + end = 30; + }}, + + new SpawnGroup(UnitTypes.titan){{ + begin = 28; + spacing = 3; + unitScaling = 2; + weapon = Weapons.flamethrower; + end = 40; + }}, + + new SpawnGroup(UnitTypes.titan){{ + begin = 45; + spacing = 3; + unitScaling = 2; + weapon = Weapons.flamethrower; + effect = StatusEffects.overdrive; + }}, + + new SpawnGroup(UnitTypes.titan){{ + begin = 120; + spacing = 2; + unitScaling = 3; + unitAmount = 5; + weapon = Weapons.flakgun; + effect = StatusEffects.overdrive; + }}, + + new SpawnGroup(UnitTypes.vtol){{ + begin = 14; + unitScaling = 2; + spacing = 2; + + end = 39; + max = 7; + }}, + + new SpawnGroup(UnitTypes.scout){{ + begin = 82; + spacing = 3; + unitAmount = 4; + groupAmount = 2; + unitScaling = 3; + effect = StatusEffects.overdrive; + ammoItem = Items.silicon; + }}, + + new SpawnGroup(UnitTypes.scout){{ + begin = 41; + spacing = 5; + unitAmount = 1; + unitScaling = 3; + effect = StatusEffects.shielded; + ammoItem = Items.thorium; + max = 10; + }}, + + new SpawnGroup(UnitTypes.scout){{ + begin = 25; + spacing = 3; + unitAmount = 4; + groupAmount = 2; + effect = StatusEffects.overdrive; + items = new ItemStack(Items.blastCompound, 60); + end = 60; + }}, + + new SpawnGroup(UnitTypes.scout){{ + begin = 42; + spacing = 3; + unitAmount = 4; + groupAmount = 2; + effect = StatusEffects.overdrive; + items = new ItemStack(Items.thermite, 100); + end = 130; }}, new SpawnGroup(UnitTypes.monsoon){{ - begin = 16; + begin = 35; + ammoItem = Items.blastCompound; + unitAmount = 2; + unitScaling = 3; + max = 8; + }}, + + new SpawnGroup(UnitTypes.vtol){{ + begin = 50; + unitAmount = 4; + unitScaling = 3; + spacing = 5; + groupAmount = 2; + effect = StatusEffects.overdrive; + max = 8; + }}, + + new SpawnGroup(UnitTypes.monsoon){{ + begin = 53; + ammoItem = Items.thermite; + unitAmount = 2; + unitScaling = 3; + spacing = 4; + max = 8; + end = 74; + }}, + + new SpawnGroup(UnitTypes.monsoon){{ + begin = 53; + ammoItem = Items.coal; + unitAmount = 2; + unitScaling = 3; + spacing = 4; + max = 8; + end = 74; }} ); } @@ -38,11 +165,21 @@ public class WaveCreator{ System.out.print(i+": "); int total = 0; for(SpawnGroup spawn : spawns){ - int a = spawn.getUnitsSpawned(i); + int a = spawn.getUnitsSpawned(i) * spawn.getGroupsSpawned(i); total += a; if(a > 0){ System.out.print(a+"x" + spawn.type.name); + + if(spawn.weapon != null){ + System.out.print(":" + spawn.weapon.name); + } + + if(spawn.ammoItem != null){ + System.out.print(":" + spawn.ammoItem.name); + } + + System.out.print(" "); } } System.out.print(" (" + total + ")"); diff --git a/packer/src/io/anuke/mindustry/Generators.java b/packer/src/io/anuke/mindustry/Generators.java index 4c60a2e57b..d599980919 100644 --- a/packer/src/io/anuke/mindustry/Generators.java +++ b/packer/src/io/anuke/mindustry/Generators.java @@ -78,8 +78,14 @@ public class Generators { image.draw(type.legRegion, true, false); image.draw(type.region); - image.draw(type.weapon.equipRegion, -(int)type.weaponOffsetX, (int)type.weaponOffsetY, false, false); - image.draw(type.weapon.equipRegion, (int)type.weaponOffsetX, (int)type.weaponOffsetY, true, false); + image.draw(type.weapon.equipRegion, + -(int)type.weaponOffsetX + (image.width() - type.weapon.equipRegion.getRegionWidth())/2, + (int)type.weaponOffsetY - (image.height() - type.weapon.equipRegion.getRegionHeight())/2, + false, false); + image.draw(type.weapon.equipRegion, + (int)type.weaponOffsetX + (image.width() - type.weapon.equipRegion.getRegionWidth())/2, + (int)type.weaponOffsetY - (image.height() - type.weapon.equipRegion.getRegionHeight())/2, + true, false); } image.save("unit-icon-" + type.name);