diff --git a/core/assets-raw/sprites/blocks/turrets/flakturret-heat.png b/core/assets-raw/sprites/blocks/turrets/flakturret-heat.png new file mode 100644 index 0000000000..491361e6c5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/flakturret-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/flakturret-panel-left.png b/core/assets-raw/sprites/blocks/turrets/flakturret-panel-left.png new file mode 100644 index 0000000000..390e9f178b Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/flakturret-panel-left.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/flakturret-panel-right.png b/core/assets-raw/sprites/blocks/turrets/flakturret-panel-right.png new file mode 100644 index 0000000000..d647a16e3b Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/flakturret-panel-right.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/flakturret.png b/core/assets-raw/sprites/blocks/turrets/flakturret.png index c33739af3b..477b2dbd71 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/flakturret.png and b/core/assets-raw/sprites/blocks/turrets/flakturret.png differ diff --git a/core/assets-raw/sprites/effects/bullet-back.png b/core/assets-raw/sprites/effects/bullet-back.png new file mode 100644 index 0000000000..0e18b51a45 Binary files /dev/null and b/core/assets-raw/sprites/effects/bullet-back.png differ diff --git a/core/assets-raw/sprites/effects/bullet.png b/core/assets-raw/sprites/effects/bullet.png index f767b7e640..716f462489 100644 Binary files a/core/assets-raw/sprites/effects/bullet.png and b/core/assets-raw/sprites/effects/bullet.png differ diff --git a/core/assets-raw/sprites/effects/casing.png b/core/assets-raw/sprites/effects/casing.png new file mode 100644 index 0000000000..7c46a3ccf7 Binary files /dev/null and b/core/assets-raw/sprites/effects/casing.png differ diff --git a/core/assets-raw/sprites/effects/chainbullet.png b/core/assets-raw/sprites/effects/chainbullet.png deleted file mode 100644 index aaf1228374..0000000000 Binary files a/core/assets-raw/sprites/effects/chainbullet.png and /dev/null differ diff --git a/core/assets-raw/sprites/effects/shell-back.png b/core/assets-raw/sprites/effects/shell-back.png new file mode 100644 index 0000000000..2e01159935 Binary files /dev/null and b/core/assets-raw/sprites/effects/shell-back.png differ diff --git a/core/assets-raw/sprites/effects/shell.png b/core/assets-raw/sprites/effects/shell.png index 747f735e65..ade07f9fc8 100644 Binary files a/core/assets-raw/sprites/effects/shell.png and b/core/assets-raw/sprites/effects/shell.png differ diff --git a/core/assets-raw/sprites/effects/shot-long.png b/core/assets-raw/sprites/effects/shot-long.png deleted file mode 100644 index 6d9ebaab45..0000000000 Binary files a/core/assets-raw/sprites/effects/shot-long.png and /dev/null differ diff --git a/core/assets-raw/sprites/effects/titanshell.png b/core/assets-raw/sprites/effects/titanshell.png deleted file mode 100644 index 7f90039999..0000000000 Binary files a/core/assets-raw/sprites/effects/titanshell.png and /dev/null differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 5ec505a637..daa3e52314 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -13,42 +13,42 @@ background index: -1 conduit-bottom rotate: false - xy: 917, 417 + xy: 590, 178 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top rotate: false - xy: 937, 417 + xy: 590, 168 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduittunnel rotate: false - xy: 947, 417 + xy: 600, 178 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor rotate: false - xy: 957, 417 + xy: 612, 188 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyormove rotate: false - xy: 967, 417 + xy: 590, 158 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyortunnel rotate: false - xy: 658, 207 + xy: 600, 168 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -62,42 +62,42 @@ core index: -1 junction rotate: false - xy: 956, 397 + xy: 433, 134 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidjunction rotate: false - xy: 393, 113 + xy: 453, 134 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter rotate: false - xy: 403, 113 + xy: 473, 144 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-bottom rotate: false - xy: 413, 113 + xy: 443, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-liquid rotate: false - xy: 363, 103 + xy: 453, 124 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-top rotate: false - xy: 373, 104 + xy: 463, 134 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -125,77 +125,77 @@ liquidtank-top index: -1 multiplexer rotate: false - xy: 720, 400 + xy: 985, 417 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweredconveyor rotate: false - xy: 572, 151 + xy: 473, 124 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyormove rotate: false - xy: 582, 155 + xy: 483, 134 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-bottom rotate: false - xy: 592, 140 + xy: 483, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-top rotate: false - xy: 677, 281 + xy: 493, 124 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 806, 387 + xy: 523, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sortedunloader rotate: false - xy: 433, 124 + xy: 583, 116 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sorter rotate: false - xy: 443, 134 + xy: 593, 138 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 splitter rotate: false - xy: 463, 144 + xy: 593, 128 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyor rotate: false - xy: 433, 114 + xy: 603, 138 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyormove rotate: false - xy: 443, 124 + xy: 593, 118 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -209,7 +209,7 @@ teleporter-top index: -1 unloader rotate: false - xy: 513, 143 + xy: 867, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -223,70 +223,70 @@ vault index: -1 vault-icon rotate: false - xy: 503, 133 + xy: 877, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weaponfactory rotate: false - xy: 522, 153 + xy: 136, 58 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 blackrock1 rotate: false - xy: 159, 2 + xy: 139, 6 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackrockshadow1 rotate: false - xy: 169, 2 + xy: 149, 16 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone1 rotate: false - xy: 582, 216 + xy: 149, 6 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone2 rotate: false - xy: 224, 103 + xy: 716, 389 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone3 rotate: false - xy: 179, 2 + xy: 726, 390 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock1 rotate: false - xy: 713, 287 + xy: 736, 390 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock2 rotate: false - xy: 777, 417 + xy: 746, 390 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock3 rotate: false - xy: 787, 417 + xy: 756, 394 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -300,49 +300,49 @@ blackstoneedge index: -1 coal1 rotate: false - xy: 857, 417 + xy: 603, 198 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal2 rotate: false - xy: 867, 417 + xy: 613, 198 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 877, 417 + xy: 623, 198 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater rotate: false - xy: 777, 407 + xy: 622, 188 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt1 rotate: false - xy: 787, 407 + xy: 590, 148 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 797, 407 + xy: 600, 158 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 807, 407 + xy: 610, 168 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -356,35 +356,35 @@ dirtedge index: -1 grass1 rotate: false - xy: 887, 407 + xy: 610, 148 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass2 rotate: false - xy: 897, 407 + xy: 620, 158 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass3 rotate: false - xy: 907, 407 + xy: 630, 168 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock1 rotate: false - xy: 917, 407 + xy: 640, 178 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock2 rotate: false - xy: 927, 407 + xy: 620, 148 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -398,21 +398,21 @@ grassedge index: -1 ice1 rotate: false - xy: 937, 407 + xy: 630, 158 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice2 rotate: false - xy: 947, 407 + xy: 640, 168 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice3 rotate: false - xy: 957, 407 + xy: 630, 148 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -426,70 +426,70 @@ iceedge index: -1 icerock1 rotate: false - xy: 967, 407 + xy: 640, 158 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerock2 rotate: false - xy: 716, 389 + xy: 640, 148 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow1 rotate: false - xy: 726, 390 + xy: 363, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow1 rotate: false - xy: 726, 390 + xy: 363, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow2 rotate: false - xy: 736, 390 + xy: 373, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow2 rotate: false - xy: 736, 390 + xy: 373, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron1 rotate: false - xy: 746, 390 + xy: 383, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron2 rotate: false - xy: 756, 394 + xy: 393, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron3 rotate: false - xy: 766, 394 + xy: 403, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava rotate: false - xy: 966, 397 + xy: 453, 144 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -503,301 +503,301 @@ lavaedge index: -1 lead1 rotate: false - xy: 1013, 411 + xy: 443, 134 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead2 rotate: false - xy: 363, 113 + xy: 463, 144 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead3 rotate: false - xy: 373, 114 + xy: 433, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 mossblock rotate: false - xy: 403, 103 + xy: 463, 124 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil rotate: false - xy: 413, 103 + xy: 473, 134 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oiledge rotate: false - xy: 187, 14 + xy: 576, 174 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 rock1 rotate: false - xy: 786, 387 + xy: 523, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock2 rotate: false - xy: 796, 387 + xy: 513, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand1 rotate: false - xy: 836, 387 + xy: 533, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand2 rotate: false - xy: 846, 387 + xy: 543, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand3 rotate: false - xy: 856, 387 + xy: 533, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock1 rotate: false - xy: 866, 387 + xy: 543, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock2 rotate: false - xy: 876, 387 + xy: 553, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock3 rotate: false - xy: 886, 387 + xy: 543, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandedge rotate: false - xy: 201, 14 + xy: 576, 160 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shrub rotate: false - xy: 681, 231 + xy: 513, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shrubshadow rotate: false - xy: 682, 221 + xy: 523, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow1 rotate: false - xy: 423, 123 + xy: 553, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow2 rotate: false - xy: 423, 113 + xy: 563, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow3 rotate: false - xy: 423, 103 + xy: 573, 136 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock1 rotate: false - xy: 433, 144 + xy: 573, 126 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock2 rotate: false - xy: 443, 144 + xy: 573, 116 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock3 rotate: false - xy: 433, 134 + xy: 583, 136 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowedge rotate: false - xy: 592, 196 + xy: 337, 93 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 stone1 rotate: false - xy: 453, 124 + xy: 623, 138 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 463, 134 + xy: 613, 118 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 483, 144 + xy: 623, 128 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock1 rotate: false - xy: 443, 104 + xy: 633, 138 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock2 rotate: false - xy: 453, 114 + xy: 623, 118 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock3 rotate: false - xy: 463, 124 + xy: 633, 128 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneedge rotate: false - xy: 606, 196 + xy: 304, 65 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 thorium1 rotate: false - xy: 473, 124 + xy: 653, 138 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium2 rotate: false - xy: 483, 134 + xy: 653, 128 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium3 rotate: false - xy: 463, 104 + xy: 653, 118 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium1 rotate: false - xy: 473, 114 + xy: 777, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 483, 124 + xy: 787, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 493, 134 + xy: 797, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water rotate: false - xy: 513, 133 + xy: 907, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 wateredge rotate: false - xy: 620, 210 + xy: 318, 79 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 block-middle rotate: false - xy: 827, 417 + xy: 218, 60 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 827, 417 + xy: 218, 60 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 927, 417 + xy: 602, 188 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 668, 207 + xy: 610, 178 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -825,35 +825,35 @@ cross-4 index: -1 enemyspawn rotate: false - xy: 857, 407 + xy: 620, 168 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 playerspawn rotate: false - xy: 582, 165 + xy: 463, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ripples rotate: false - xy: 713, 333 + xy: 921, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 shadow rotate: false - xy: 713, 321 + xy: 933, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 battery rotate: false - xy: 129, 1 + xy: 139, 16 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -867,14 +867,14 @@ batterylarge index: -1 combustiongenerator rotate: false - xy: 887, 417 + xy: 633, 198 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustiongenerator-top rotate: false - xy: 897, 417 + xy: 643, 198 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -944,7 +944,7 @@ largesolarpanel index: -1 liquidcombustiongenerator rotate: false - xy: 383, 114 + xy: 443, 124 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -972,63 +972,63 @@ nuclearreactor-lights index: -1 powerinfinite rotate: false - xy: 592, 160 + xy: 473, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powernode rotate: false - xy: 592, 150 + xy: 483, 124 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powernodelarge rotate: false - xy: 677, 291 + xy: 504, 171 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powervoid rotate: false - xy: 582, 145 + xy: 493, 134 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator rotate: false - xy: 816, 387 + xy: 533, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator-top rotate: false - xy: 826, 387 + xy: 523, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldgenerator rotate: false - xy: 926, 387 + xy: 553, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldprojector rotate: false - xy: 504, 171 + xy: 540, 189 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 solarpanel rotate: false - xy: 453, 144 + xy: 583, 126 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1042,14 +1042,14 @@ teleporter index: -1 thermalgenerator rotate: false - xy: 463, 114 + xy: 643, 118 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 alloysmelter rotate: false - xy: 129, 11 + xy: 969, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1154,98 +1154,98 @@ cultivator-top index: -1 extractor rotate: false - xy: 867, 407 + xy: 630, 178 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 fluxpump rotate: false - xy: 877, 407 + xy: 642, 188 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill rotate: false - xy: 776, 397 + xy: 413, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-rotator rotate: false - xy: 786, 397 + xy: 677, 281 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-rotator rotate: false - xy: 786, 397 + xy: 677, 281 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-top rotate: false - xy: 796, 397 + xy: 687, 281 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemsource rotate: false - xy: 936, 397 + xy: 433, 144 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemvoid rotate: false - xy: 946, 397 + xy: 443, 144 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserdrill rotate: false - xy: 677, 309 + xy: 700, 345 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laserdrill-rotator rotate: false - xy: 698, 381 + xy: 695, 327 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laserdrill-top rotate: false - xy: 700, 363 + xy: 695, 309 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 lavasmelter rotate: false - xy: 1003, 411 + xy: 433, 124 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidsource rotate: false - xy: 383, 104 + xy: 483, 144 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 melter rotate: false - xy: 393, 103 + xy: 453, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1308,7 +1308,7 @@ oilextractor-top index: -1 oilrefinery rotate: false - xy: 572, 161 + xy: 493, 144 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1343,210 +1343,210 @@ plasmadrill-top index: -1 plasticformer rotate: false - xy: 738, 400 + xy: 1003, 421 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 plasticformer-top rotate: false - xy: 756, 404 + xy: 677, 291 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweralloysmelter rotate: false - xy: 985, 417 + xy: 695, 291 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweralloysmelter-top rotate: false - xy: 1003, 421 + xy: 504, 189 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powersmelter rotate: false - xy: 695, 291 + xy: 522, 189 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powersmelter-top rotate: false - xy: 504, 189 + xy: 522, 171 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 siliconsmelter-top rotate: false - xy: 504, 189 + xy: 522, 171 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 687, 281 + xy: 493, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 697, 281 + xy: 503, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump rotate: false - xy: 678, 207 + xy: 503, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill rotate: false - xy: 756, 384 + xy: 513, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-rotator rotate: false - xy: 766, 384 + xy: 503, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-top rotate: false - xy: 776, 387 + xy: 513, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator rotate: false - xy: 896, 387 + xy: 553, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 906, 387 + xy: 563, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconextractor rotate: false - xy: 423, 143 + xy: 533, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconsmelter rotate: false - xy: 522, 189 + xy: 540, 171 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 smelter rotate: false - xy: 423, 133 + xy: 543, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill rotate: false - xy: 453, 134 + xy: 603, 128 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-rotator rotate: false - xy: 473, 144 + xy: 613, 138 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-top rotate: false - xy: 433, 104 + xy: 603, 118 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stonedrill rotate: false - xy: 473, 134 + xy: 643, 138 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneformer rotate: false - xy: 493, 144 + xy: 633, 118 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill rotate: false - xy: 473, 104 + xy: 807, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-top rotate: false - xy: 483, 114 + xy: 817, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 waterextractor rotate: false - xy: 540, 171 + xy: 504, 153 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-liquid rotate: false - xy: 558, 189 + xy: 522, 153 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-rotator rotate: false - xy: 558, 171 + xy: 540, 153 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-top rotate: false - xy: 504, 153 + xy: 558, 153 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-1 rotate: false - xy: 817, 417 + xy: 1013, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1588,7 +1588,7 @@ chainturret index: -1 doubleturret rotate: false - xy: 837, 407 + xy: 600, 148 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1600,6 +1600,27 @@ flakturret orig: 16, 16 offset: 0, 0 index: -1 +flakturret-heat + rotate: false + xy: 134, 94 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 +flakturret-panel-left + rotate: false + xy: 134, 76 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 +flakturret-panel-right + rotate: false + xy: 152, 94 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 flameturret rotate: false xy: 81, 1 @@ -1630,63 +1651,63 @@ gatlingturret index: -1 laserturret rotate: false - xy: 658, 217 + xy: 873, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 magmaturret rotate: false - xy: 700, 345 + xy: 720, 400 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 megarepairturret rotate: false - xy: 695, 327 + xy: 738, 400 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 missileturret rotate: false - xy: 695, 309 + xy: 756, 404 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 railgunturret rotate: false - xy: 672, 241 + xy: 885, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 railgunturret-heat rotate: false - xy: 669, 229 + xy: 897, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 repairturret rotate: false - xy: 670, 217 + xy: 909, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 shotgunturret rotate: false - xy: 713, 309 + xy: 945, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 teslaturret rotate: false - xy: 713, 297 + xy: 957, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1700,56 +1721,56 @@ titancannon index: -1 flierfactory rotate: false - xy: 134, 94 + xy: 152, 76 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory rotate: false - xy: 134, 94 + xy: 152, 76 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 flierfactory-top rotate: false - xy: 134, 76 + xy: 170, 94 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory-top rotate: false - xy: 134, 76 + xy: 170, 94 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 flierfactory-top-open rotate: false - xy: 152, 94 + xy: 170, 76 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory-top-open rotate: false - xy: 152, 94 + xy: 170, 76 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 compositewall rotate: false - xy: 907, 417 + xy: 592, 188 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door rotate: false - xy: 817, 407 + xy: 620, 178 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1770,14 +1791,14 @@ door-large-open index: -1 door-open rotate: false - xy: 827, 407 + xy: 632, 188 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 duriumwall rotate: false - xy: 847, 407 + xy: 610, 158 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1791,49 +1812,49 @@ duriumwall-large index: -1 ironwall rotate: false - xy: 806, 397 + xy: 697, 281 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall rotate: false - xy: 443, 114 + xy: 613, 128 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall-large rotate: false - xy: 522, 171 + xy: 558, 189 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 stonewall rotate: false - xy: 453, 104 + xy: 643, 128 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumshieldwall rotate: false - xy: 493, 124 + xy: 827, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall rotate: false - xy: 483, 104 + xy: 837, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall-large rotate: false - xy: 540, 189 + xy: 558, 171 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1852,16 +1873,23 @@ bullet orig: 9, 9 offset: 0, 0 index: -1 -chainbullet +bullet-back rotate: false - xy: 582, 207 - size: 8, 7 - orig: 8, 7 + xy: 224, 102 + size: 9, 9 + orig: 9, 9 + offset: 0, 0 + index: -1 +casing + rotate: false + xy: 1021, 433 + size: 2, 4 + orig: 2, 4 offset: 0, 0 index: -1 enemyarrow rotate: false - xy: 644, 256 + xy: 235, 102 size: 8, 7 orig: 8, 7 offset: 0, 0 @@ -1889,126 +1917,119 @@ laserfull index: -1 shell rotate: false - xy: 916, 387 - size: 8, 8 - orig: 8, 8 + xy: 582, 215 + size: 9, 9 + orig: 9, 9 + offset: 0, 0 + index: -1 +shell-back + rotate: false + xy: 582, 204 + size: 9, 9 + orig: 9, 9 offset: 0, 0 index: -1 shot rotate: false - xy: 956, 387 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -shot-long - rotate: false - xy: 966, 387 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -titanshell - rotate: false - xy: 493, 114 + xy: 503, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-biomatter rotate: false - xy: 816, 397 + xy: 756, 384 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-coal rotate: false - xy: 826, 397 + xy: 766, 384 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-densealloy rotate: false - xy: 836, 397 + xy: 653, 198 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-iron rotate: false - xy: 846, 397 + xy: 652, 188 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead rotate: false - xy: 856, 397 + xy: 650, 178 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-plastic rotate: false - xy: 866, 397 + xy: 650, 168 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-sand rotate: false - xy: 876, 397 + xy: 650, 158 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 886, 397 + xy: 650, 148 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-steel rotate: false - xy: 896, 397 + xy: 423, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-stone rotate: false - xy: 906, 397 + xy: 423, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 916, 397 + xy: 423, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 926, 397 + xy: 423, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 standard-mech rotate: false - xy: 606, 210 + xy: 351, 93 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-ship rotate: false - xy: 592, 182 + xy: 304, 79 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -2184,21 +2205,21 @@ controller-cursor index: -1 icon-about rotate: false - xy: 540, 155 + xy: 136, 42 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-add rotate: false - xy: 556, 155 + xy: 154, 60 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-admin rotate: false - xy: 235, 111 + xy: 170, 60 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2219,7 +2240,7 @@ icon-areaDelete index: -1 icon-arrow rotate: false - xy: 251, 111 + xy: 186, 60 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2233,56 +2254,56 @@ icon-arrow-down index: -1 icon-arrow-left rotate: false - xy: 606, 184 + xy: 318, 67 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-right rotate: false - xy: 620, 198 + xy: 332, 81 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-up rotate: false - xy: 634, 212 + xy: 344, 81 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-back rotate: false - xy: 152, 76 + xy: 188, 94 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-ban rotate: false - xy: 267, 111 + xy: 202, 60 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-cancel rotate: false - xy: 283, 111 + xy: 139, 26 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-chat rotate: false - xy: 646, 212 + xy: 356, 81 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-check rotate: false - xy: 299, 111 + xy: 235, 111 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2310,504 +2331,504 @@ icon-close-over index: -1 icon-crafting rotate: false - xy: 224, 91 + xy: 638, 304 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-cursor rotate: false - xy: 224, 79 + xy: 638, 292 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-defense rotate: false - xy: 592, 170 + xy: 650, 289 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-dev-builds rotate: false - xy: 315, 107 + xy: 251, 111 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-discord rotate: false - xy: 331, 107 + xy: 267, 111 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-distribution rotate: false - xy: 189, 2 + xy: 662, 289 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-donate rotate: false - xy: 347, 107 + xy: 283, 111 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-dots rotate: false - xy: 584, 240 + xy: 299, 111 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-editor rotate: false - xy: 600, 240 + xy: 315, 107 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-egg rotate: false - xy: 616, 240 + xy: 331, 107 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-exit rotate: false - xy: 632, 240 + xy: 347, 107 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-file-text rotate: false - xy: 593, 224 + xy: 584, 240 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-fill rotate: false - xy: 170, 94 + xy: 188, 76 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-floppy rotate: false - xy: 609, 224 + xy: 600, 240 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-folder rotate: false - xy: 625, 224 + xy: 616, 240 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-folder-parent rotate: false - xy: 641, 224 + xy: 632, 240 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-github rotate: false - xy: 576, 191 + xy: 224, 86 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-google-play rotate: false - xy: 576, 175 + xy: 224, 70 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-grid rotate: false - xy: 170, 76 + xy: 206, 94 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-hold rotate: false - xy: 201, 2 + xy: 644, 277 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-holdDelete rotate: false - xy: 213, 2 + xy: 644, 265 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-home rotate: false - xy: 136, 60 + xy: 245, 95 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-host rotate: false - xy: 136, 44 + xy: 261, 95 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-info rotate: false - xy: 225, 2 + xy: 656, 277 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-itch.io rotate: false - xy: 152, 60 + xy: 277, 95 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-line rotate: false - xy: 188, 94 + xy: 206, 76 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-link rotate: false - xy: 152, 44 + xy: 293, 95 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-liquid rotate: false - xy: 638, 304 + xy: 656, 265 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-load rotate: false - xy: 168, 60 + xy: 240, 79 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-load-image rotate: false - xy: 188, 76 + xy: 572, 274 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-load-map rotate: false - xy: 206, 94 + xy: 572, 256 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-loading rotate: false - xy: 206, 76 + xy: 590, 274 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-logic rotate: false - xy: 638, 292 + xy: 713, 333 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu rotate: false - xy: 650, 289 + xy: 713, 321 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu-large rotate: false - xy: 572, 274 + xy: 590, 256 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-none rotate: false - xy: 662, 289 + xy: 713, 309 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pause rotate: false - xy: 237, 2 + xy: 713, 297 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pencil rotate: false - xy: 572, 256 + xy: 608, 274 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-pencil-small rotate: false - xy: 168, 44 + xy: 256, 79 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-pick rotate: false - xy: 590, 274 + xy: 608, 256 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-play rotate: false - xy: 644, 277 + xy: 713, 285 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-play-2 rotate: false - xy: 184, 60 + xy: 272, 79 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-players rotate: false - xy: 644, 265 + xy: 777, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-power rotate: false - xy: 656, 277 + xy: 789, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-production rotate: false - xy: 656, 265 + xy: 801, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-quit rotate: false - xy: 184, 44 + xy: 288, 79 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-redo rotate: false - xy: 590, 256 + xy: 620, 292 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-refresh rotate: false - xy: 200, 60 + xy: 240, 63 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rename rotate: false - xy: 200, 44 + xy: 256, 63 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-resize rotate: false - xy: 608, 274 + xy: 626, 274 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-rotate rotate: false - xy: 139, 28 + xy: 272, 63 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-arrow rotate: false - xy: 155, 28 + xy: 288, 63 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-left rotate: false - xy: 171, 28 + xy: 593, 224 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-right rotate: false - xy: 187, 28 + xy: 609, 224 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save rotate: false - xy: 203, 28 + xy: 625, 224 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save-image rotate: false - xy: 608, 256 + xy: 626, 256 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-save-map rotate: false - xy: 620, 292 + xy: 682, 345 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-settings rotate: false - xy: 654, 253 + xy: 813, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-terrain rotate: false - xy: 626, 274 + xy: 677, 327 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-tools rotate: false - xy: 216, 60 + xy: 641, 224 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-touch rotate: false - xy: 648, 241 + xy: 825, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-touchDelete rotate: false - xy: 660, 241 + xy: 837, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-trash rotate: false - xy: 216, 44 + xy: 593, 208 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-trash-16 rotate: false - xy: 626, 256 + xy: 677, 309 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-trello rotate: false - xy: 219, 28 + xy: 609, 208 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-tutorial rotate: false - xy: 139, 12 + xy: 625, 208 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-undo rotate: false - xy: 682, 345 + xy: 698, 381 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-units rotate: false - xy: 657, 229 + xy: 849, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-weapon rotate: false - xy: 666, 253 + xy: 861, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-wiki rotate: false - xy: 155, 12 + xy: 641, 208 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-zoom rotate: false - xy: 677, 327 + xy: 700, 363 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-zoom-small rotate: false - xy: 171, 12 + xy: 576, 188 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2878,7 +2899,7 @@ scroll-knob-vertical-black index: -1 selection rotate: false - xy: 763, 487 + xy: 136, 39 size: 1, 1 orig: 1, 1 offset: 0, 0 @@ -2913,7 +2934,7 @@ slider-knob-over index: -1 slider-vertical rotate: false - xy: 224, 76 + xy: 763, 450 size: 8, 1 orig: 8, 1 offset: 0, 0 @@ -2987,119 +3008,119 @@ flier index: -1 scout rotate: false - xy: 215, 14 + xy: 576, 146 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout-base rotate: false - xy: 229, 14 + xy: 309, 93 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-mech-base rotate: false - xy: 229, 14 + xy: 309, 93 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout-leg rotate: false - xy: 592, 210 + xy: 323, 93 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-mech-leg rotate: false - xy: 592, 210 + xy: 323, 93 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 beam rotate: false - xy: 139, 2 + xy: 129, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 beam-equip rotate: false - xy: 149, 2 + xy: 129, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster rotate: false - xy: 797, 417 + xy: 766, 394 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster-equip rotate: false - xy: 807, 417 + xy: 1003, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun rotate: false - xy: 837, 417 + xy: 228, 60 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun-equip rotate: false - xy: 847, 417 + xy: 593, 198 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun rotate: false - xy: 936, 387 + xy: 563, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 946, 387 + xy: 563, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster rotate: false - xy: 493, 104 + xy: 847, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster-equip rotate: false - xy: 503, 143 + xy: 857, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan rotate: false - xy: 523, 143 + xy: 887, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan-equip rotate: false - xy: 503, 123 + xy: 897, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 4f62ecaf5b..70c79a89f8 100644 Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ diff --git a/core/assets/version.properties b/core/assets/version.properties index 222d55e10a..e3849613b2 100644 --- a/core/assets/version.properties +++ b/core/assets/version.properties @@ -1,7 +1,7 @@ #Autogenerated file. Do not modify. -#Wed Apr 04 16:43:10 EDT 2018 +#Wed Apr 04 21:11:59 EDT 2018 version=release -androidBuildCode=822 +androidBuildCode=844 name=Mindustry code=3.4 build=custom build diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index ce09c4d6e3..d5a5636cdf 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -144,6 +144,7 @@ public class Vars{ public static final EntityGroup bulletGroup = Entities.addGroup(Bullet.class); public static final EntityGroup shieldGroup = Entities.addGroup(Shield.class, false); public static final EntityGroup effectGroup = Entities.addGroup(EffectEntity.class, false); + public static final EntityGroup staticEffectGroup = Entities.addGroup(EffectEntity.class, false); public static final EntityGroup[] unitGroups = new EntityGroup[Team.values().length]; static{ diff --git a/core/src/io/anuke/mindustry/content/AmmoTypes.java b/core/src/io/anuke/mindustry/content/AmmoTypes.java index 71da715fc4..aca979ddc5 100644 --- a/core/src/io/anuke/mindustry/content/AmmoTypes.java +++ b/core/src/io/anuke/mindustry/content/AmmoTypes.java @@ -10,5 +10,7 @@ public class AmmoTypes { basicSteel = new AmmoType(Items.steel, TurretBullets.basicSteel, 5, 0.8f), - basicFlame = new AmmoType(Liquids.oil, TurretBullets.basicFlame, 0.3f, 0.9f); + basicFlame = new AmmoType(Liquids.oil, TurretBullets.basicFlame, 0.3f, 0.9f), + + basicLeadFrag = new AmmoType(Items.lead, TurretBullets.basicLeadFragShell, 1, 0.8f); } diff --git a/core/src/io/anuke/mindustry/content/Weapons.java b/core/src/io/anuke/mindustry/content/Weapons.java index e572b52f37..e6b4d91b98 100644 --- a/core/src/io/anuke/mindustry/content/Weapons.java +++ b/core/src/io/anuke/mindustry/content/Weapons.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.content; import io.anuke.mindustry.content.bullets.TurretBullets; -import io.anuke.mindustry.graphics.fx.BulletFx; +import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.resource.Weapon; public class Weapons { diff --git a/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java b/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java index 59b7ffb7eb..2d8742ffc4 100644 --- a/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.content.blocks; import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Liquids; -import io.anuke.mindustry.graphics.fx.BlockFx; +import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.resource.ItemStack; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java b/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java index 3af61d154e..e9d5d29627 100644 --- a/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.content.blocks; -import io.anuke.mindustry.graphics.fx.BlockFx; +import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.types.Wall; import io.anuke.mindustry.world.blocks.types.defense.*; diff --git a/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java b/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java index 7284ca5c77..4aabcdb404 100644 --- a/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.content.blocks; -import io.anuke.mindustry.graphics.fx.BlockFx; +import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.types.defense.RepairTurret; import io.anuke.mindustry.world.blocks.types.defense.ShieldBlock; diff --git a/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java b/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java index 03200fe977..025ed7e3c9 100644 --- a/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.content.blocks; import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Liquids; -import io.anuke.mindustry.graphics.fx.BlockFx; +import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.types.production.Cultivator; import io.anuke.mindustry.world.blocks.types.production.Drill; diff --git a/core/src/io/anuke/mindustry/content/blocks/WeaponBlocks.java b/core/src/io/anuke/mindustry/content/blocks/WeaponBlocks.java index 2333425c6d..caddbe6369 100644 --- a/core/src/io/anuke/mindustry/content/blocks/WeaponBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/WeaponBlocks.java @@ -1,12 +1,16 @@ package io.anuke.mindustry.content.blocks; import io.anuke.mindustry.content.AmmoTypes; -import io.anuke.mindustry.graphics.fx.BulletFx; +import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.resource.AmmoType; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.types.defense.LaserTurret; import io.anuke.mindustry.world.blocks.types.defense.Turret; import io.anuke.mindustry.world.blocks.types.defense.turrets.*; +import io.anuke.ucore.graphics.Draw; +import io.anuke.ucore.util.Angles; +import io.anuke.ucore.util.Mathf; +import io.anuke.ucore.util.Strings; public class WeaponBlocks{ public static Block @@ -17,6 +21,7 @@ public class WeaponBlocks{ restitution = 0.03f; shootEffect = BulletFx.shootSmall; smokeEffect = BulletFx.shootSmallSmoke; + ammoUseEffect = BulletFx.shellEjectSmall; }}, gatlingturret = new BurstTurret("gatlingturret") {{ @@ -39,6 +44,10 @@ public class WeaponBlocks{ shootCone = 50f; shootEffect = BulletFx.shootSmallFlame; ammoUseEffect = BulletFx.shellEjectSmall; + + drawer = (tile, entity) -> { + Draw.rect(entity.target != null ? name + "-shoot" : name, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90); + }; }}, railgunturret = new ItemTurret("railgunturret"){{ @@ -51,20 +60,35 @@ public class WeaponBlocks{ shootShake = 2f; shootEffect = BulletFx.shootBig; smokeEffect = BulletFx.shootBigSmoke; - ammoUseEffect = BulletFx.shellEjectBig; + ammoUseEffect = BulletFx.shellEjectMedium; }}, flakturret = new ItemTurret("flakturret"){{ + size = 2; range = 100f; - ammoTypes = new AmmoType[]{AmmoTypes.basicSteel}; - reload = 100f; + ammoTypes = new AmmoType[]{AmmoTypes.basicLeadFrag}; + reload = 70f; restitution = 0.03f; - ammoEjectBack = 2f; + ammoEjectBack = 3f; + cooldown = 0.03f; recoil = 3f; shootShake = 2f; - shootEffect = BulletFx.shootBig; - smokeEffect = BulletFx.shootBigSmoke; + shootEffect = BulletFx.shootBig2; + smokeEffect = BulletFx.shootBigSmoke2; ammoUseEffect = BulletFx.shellEjectBig; + + drawer = (tile, entity) -> { + Draw.rect(name, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90); + float offsetx = (int)(Mathf.abscurve(Mathf.curve(entity.reload/reload, 0.3f, 0.2f)) * 3f); + float offsety = -(int)(Mathf.abscurve(Mathf.curve(entity.reload/reload, 0.3f, 0.2f)) * 2f); + + for(int i : Mathf.signs){ + float rot = entity.rotation + 90*i; + Draw.rect(name + "-panel-" + Strings.dir(i), + tile.drawx() + tr2.x + Angles.trnsx(rot, offsetx, offsety), + tile.drawy() + tr2.y + Angles.trnsy(rot, -offsetx, offsety), entity.rotation - 90); + } + }; }}, laserturret = new LaserTurret("laserturret"){ diff --git a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java index fda9357b7d..a329a13ce4 100644 --- a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java @@ -1,11 +1,14 @@ package io.anuke.mindustry.content.bullets; +import com.badlogic.gdx.graphics.Color; +import io.anuke.mindustry.content.fx.BulletFx; +import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.Bullet; import io.anuke.mindustry.entities.BulletType; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.graphics.fx.BulletFx; -import io.anuke.mindustry.graphics.fx.Fx; import io.anuke.ucore.graphics.Draw; +import io.anuke.ucore.util.Angles; +import io.anuke.ucore.util.Mathf; public class TurretBullets { @@ -14,9 +17,8 @@ public class TurretBullets { basicIron = new BulletType(3f, 0) { @Override public void draw(Bullet b) { - Draw.color(Palette.bulletYellow); - Draw.rect("bullet", b.x, b.y, 9f, 5f + b.fract()*7f, b.angle() - 90); - Draw.color(); + drawBullet(Palette.bulletYellow, Palette.bulletYellowBack, + "bullet", b.x, b.y, 9f, 5f + b.fract()*7f, b.angle() - 90); } }, @@ -28,9 +30,56 @@ public class TurretBullets { @Override public void draw(Bullet b) { - Draw.color(Palette.bulletYellow); - Draw.rect("bullet", b.x, b.y, 11f, 9f + b.fract()*8f, b.angle() - 90); - Draw.color(); + drawBullet(Palette.bulletYellow, Palette.bulletYellowBack, + "bullet", b.x, b.y, 11f, 9f + b.fract()*8f, b.angle() - 90); + } + }, + + basicLeadFragShell = new BulletType(3f, 0) { + { + hiteffect = BulletFx.flakExplosion; + knockback = 0.8f; + lifetime = 90f; + drag = 0.01f; + } + + @Override + public void draw(Bullet b) { + drawBullet(Palette.bulletYellow, Palette.bulletYellowBack, + "shell", b.x, b.y, 9f, 9f, b.angle() - 90); + } + + @Override + public void hit(Bullet b, float x, float y) { + super.hit(b, x, y); + for(int i = 0; i < 9; i ++){ + float len = Mathf.random(1f, 7f); + float a = Mathf.random(360f); + Bullet bullet = new Bullet(TurretBullets.basicLeadFrag, b, + x + Angles.trnsx(a, len), y + Angles.trnsy(a, len), a); + bullet.velocity.scl(Mathf.random(0.2f, 1f)); + bullet.add(); + } + } + + @Override + public void despawned(Bullet b) { + hit(b); + } + }, + + basicLeadFrag = new BulletType(3f, 0) { + { + drag = 0.1f; + hiteffect = Fx.none; + despawneffect = Fx.none; + hitsize = 4; + } + + @Override + public void draw(Bullet b) { + drawBullet(Palette.bulletYellow, Palette.bulletYellowBack, + "bullet", b.x, b.y, 10f, 1f + b.fract()*11f, b.angle() - 90); } }, @@ -47,4 +96,12 @@ public class TurretBullets { @Override public void draw(Bullet b) {} }; + + private static void drawBullet(Color first, Color second, String name, float x, float y, float w, float h, float rot){ + Draw.color(second); + Draw.rect(name + "-back", x, y, w, h, rot); + Draw.color(first); + Draw.rect(name, x, y, w, h, rot); + Draw.color(); + } } diff --git a/core/src/io/anuke/mindustry/graphics/fx/BlockFx.java b/core/src/io/anuke/mindustry/content/fx/BlockFx.java similarity index 99% rename from core/src/io/anuke/mindustry/graphics/fx/BlockFx.java rename to core/src/io/anuke/mindustry/content/fx/BlockFx.java index f0ba592d97..bb12c1c940 100644 --- a/core/src/io/anuke/mindustry/graphics/fx/BlockFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BlockFx.java @@ -1,4 +1,4 @@ -package io.anuke.mindustry.graphics.fx; +package io.anuke.mindustry.content.fx; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Colors; diff --git a/core/src/io/anuke/mindustry/graphics/fx/BulletFx.java b/core/src/io/anuke/mindustry/content/fx/BulletFx.java similarity index 57% rename from core/src/io/anuke/mindustry/graphics/fx/BulletFx.java rename to core/src/io/anuke/mindustry/content/fx/BulletFx.java index 08f8b8e5bc..c5eba925d6 100644 --- a/core/src/io/anuke/mindustry/graphics/fx/BulletFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BulletFx.java @@ -1,6 +1,7 @@ -package io.anuke.mindustry.graphics.fx; +package io.anuke.mindustry.content.fx; import com.badlogic.gdx.graphics.Color; +import io.anuke.mindustry.entities.effect.StaticEffectEntity.StaticEffect; import io.anuke.mindustry.graphics.Palette; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.graphics.Draw; @@ -40,6 +41,15 @@ public class BulletFx { Draw.reset(); }), + shootBig2 = new Effect(10, e -> { + Draw.color(Palette.lightOrange, Color.GRAY, e.ifract()); + float w = 1.2f + 8 * e.fract(); + Shapes.tri(e.x, e.y, w, 29f * e.fract(), e.rotation); + Shapes.tri(e.x, e.y, w, 5f * e.fract(), e.rotation + 180f); + Draw.reset(); + }), + + shootBigSmoke = new Effect(17f, e -> { Draw.color(Palette.lighterOrange, Color.LIGHT_GRAY, Color.GRAY, e.ifract()); @@ -50,6 +60,16 @@ public class BulletFx { Draw.reset(); }), + shootBigSmoke2 = new Effect(18f, e -> { + Draw.color(Palette.lightOrange, Color.LIGHT_GRAY, Color.GRAY, e.ifract()); + + Angles.randLenVectors(e.id, 9, e.powfract()*23f, e.rotation, 20f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, e.fract()*2.4f + 0.2f); + }); + + Draw.reset(); + }), + shootSmallFlame = new Effect(30f, e -> { Draw.color(Palette.lightFlame, Palette.darkFlame, Color.GRAY, e.ifract()); @@ -60,26 +80,31 @@ public class BulletFx { Draw.reset(); }), - shellEjectSmall = new Effect(30f, e -> { - Draw.color(Palette.lightOrange, Color.LIGHT_GRAY, Color.GRAY, e.ifract()); - Draw.alpha(e.fract()); + shellEjectSmall = new StaticEffect(30f, 300f, e -> { + Draw.color(Palette.lightOrange, Color.LIGHT_GRAY, Palette.lightishGray, e.ifract()); float rot = e.rotation + 90f; for(int i : Mathf.signs){ float len = (2f + e.powfract()*6f) * i; float lr = rot + e.ifract()*30f*i; - Draw.rect("white", e.x + Angles.trnsx(lr, len), e.y + Angles.trnsy(lr, len), 1f, 2f, rot + e.ifract()*50f*i); + Draw.rect("white", + e.x + Angles.trnsx(lr, len) + Mathf.randomSeedRange(e.id + i + 7, 3f * e.ifract()), + e.y + Angles.trnsy(lr, len) + Mathf.randomSeedRange(e.id + i + 8, 3f * e.ifract()), + 1f, 2f, rot + e.ifract()*50f*i); } Draw.color(); }), - shellEjectBig = new Effect(30f, e -> { - Draw.color(Palette.lightOrange, Color.LIGHT_GRAY, Color.GRAY, e.ifract()); + shellEjectMedium = new StaticEffect(34f, 300f, e -> { + Draw.color(Palette.lightOrange, Color.LIGHT_GRAY, Palette.lightishGray, e.ifract()); float rot = e.rotation + 90f; for(int i : Mathf.signs){ float len = (2f + e.powfract()*10f) * i; float lr = rot + e.ifract()*20f*i; - Draw.rect("white", e.x + Angles.trnsx(lr, len), e.y + Angles.trnsy(lr, len), 2f, 3f, rot); + Draw.rect("casing", + e.x + Angles.trnsx(lr, len) + Mathf.randomSeedRange(e.id + i + 7, 3f * e.ifract()), + e.y + Angles.trnsy(lr, len) + Mathf.randomSeedRange(e.id + i + 8, 3f * e.ifract()), + 2f, 3f, rot); } Draw.color(Color.LIGHT_GRAY, Color.GRAY, e.ifract()); @@ -93,6 +118,30 @@ public class BulletFx { Draw.color(); }), + shellEjectBig = new StaticEffect(22f, 300f, e -> { + Draw.color(Palette.lightOrange, Color.LIGHT_GRAY, Palette.lightishGray, e.ifract()); + float rot = e.rotation + 90f; + for(int i : Mathf.signs){ + float len = (4f + e.powfract()*8f) * i; + float lr = rot + Mathf.randomSeedRange(e.id + i + 6, 20f * e.ifract())*i; + Draw.rect("casing", + e.x + Angles.trnsx(lr, len) + Mathf.randomSeedRange(e.id + i + 7, 3f * e.ifract()), + e.y + Angles.trnsy(lr, len) + Mathf.randomSeedRange(e.id + i + 8, 3f * e.ifract()), + 2.5f, 4f, + rot+ e.ifract()*30f*i + Mathf.randomSeedRange(e.id + i + 9, 40f * e.ifract())); + } + + Draw.color(Color.LIGHT_GRAY); + + for(int i : Mathf.signs){ + Angles.randLenVectors(e.id, 4, -e.powfract()*15f, e.rotation + 90f*i, 25f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, e.fract()*2f); + }); + } + + Draw.color(); + }), + hitBulletSmall = new Effect(14, e -> { Draw.color(Color.WHITE, Palette.lightOrange, e.ifract()); Lines.stroke(0.5f + e.fract()); @@ -138,6 +187,30 @@ public class BulletFx { Lines.lineAngle(e.x + x, e.y + y, ang, e.fract()*2 + 1f); }); + Draw.reset(); + }), + + flakExplosion = new Effect(20, e -> { + + Draw.color(Palette.bulletYellow); + e.scaled(6, i -> { + Lines.stroke(3f * i.fract()); + Lines.circle(e.x, e.y, 3f + i.ifract()*10f); + }); + + Draw.color(Color.GRAY); + + Angles.randLenVectors(e.id, 5, 2f + 23f * e.powfract(), (x, y) ->{ + Fill.circle(e.x + x, e.y + y, e.fract()*3f + 0.5f); + }); + + Draw.color(Palette.lighterOrange); + Lines.stroke(1f * e.fract()); + + Angles.randLenVectors(e.id + 1, 4, 1f + 23f * e.powfract(), (x, y) -> { + Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), 1f + e.fract()*3f); + }); + Draw.reset(); }); } diff --git a/core/src/io/anuke/mindustry/graphics/fx/ExplosionFx.java b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java similarity index 57% rename from core/src/io/anuke/mindustry/graphics/fx/ExplosionFx.java rename to core/src/io/anuke/mindustry/content/fx/ExplosionFx.java index a31a585ed0..9861a3b542 100644 --- a/core/src/io/anuke/mindustry/graphics/fx/ExplosionFx.java +++ b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java @@ -1,43 +1,58 @@ -package io.anuke.mindustry.graphics.fx; +package io.anuke.mindustry.content.fx; import com.badlogic.gdx.graphics.Color; +import io.anuke.mindustry.graphics.Palette; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Fill; import io.anuke.ucore.graphics.Lines; import io.anuke.ucore.util.Angles; +import io.anuke.ucore.util.Mathf; public class ExplosionFx { public static final Effect generatorexplosion = new Effect(28, 40f, e -> { - Angles.randLenVectors(e.id, 16, 10f + e.ifract()*8f, (x, y)->{ + Angles.randLenVectors(e.id, 16, 10f + e.ifract()*8f, (x, y) -> { float size = e.fract()*12f + 1f; Draw.color(Color.WHITE, Color.PURPLE, e.ifract()); Draw.rect("circle", e.x + x, e.y + y, size, size); Draw.reset(); }); }), + shockwave = new Effect(10f, 80f, e -> { Draw.color(Color.WHITE, Color.LIGHT_GRAY, e.ifract()); Lines.stroke(e.fract()*2f + 0.2f); Lines.circle(e.x, e.y, e.ifract()*28f); Draw.reset(); }), + nuclearShockwave = new Effect(10f, 200f, e -> { Draw.color(Color.WHITE, Color.LIGHT_GRAY, e.ifract()); Lines.stroke(e.fract()*3f + 0.2f); Lines.poly(e.x, e.y, 40, e.ifract()*140f); Draw.reset(); }), - explosion = new Effect(11, e -> { - Lines.stroke(2f*e.fract()+0.5f); - Draw.color(Color.WHITE, Color.DARK_GRAY, e.powfract()); - Lines.circle(e.x, e.y, 5f + e.powfract() * 6f); - Draw.color(e.ifract() < 0.5f ? Color.WHITE : Color.DARK_GRAY); - Angles.randLenVectors(e.id, 5, 8f, (x, y)->{ - Fill.circle(e.x + x, e.y + y, e.fract()*5f + 2.5f); + explosion = new Effect(30, e -> { + e.scaled(7, i -> { + Lines.stroke(3f * i.fract()); + Lines.circle(e.x, e.y, 3f + i.ifract()*10f); + }); + + Draw.color(Color.GRAY); + + Angles.randLenVectors(e.id, 6, 2f + 19f * e.powfract(), (x, y) ->{ + Fill.circle(e.x + x, e.y + y, e.fract()*3f + 0.5f); + Fill.circle(e.x + x/2f, e.y + y/2f, e.fract()*1f); + }); + + Draw.color(Palette.lighterOrange, Palette.lightOrange, Color.GRAY, e.ifract()); + Lines.stroke(1.5f * e.fract()); + + Angles.randLenVectors(e.id + 1, 8, 1f + 23f * e.powfract(), (x, y) -> { + Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), 1f + e.fract()*3f); }); Draw.reset(); diff --git a/core/src/io/anuke/mindustry/graphics/fx/Fx.java b/core/src/io/anuke/mindustry/content/fx/Fx.java similarity index 97% rename from core/src/io/anuke/mindustry/graphics/fx/Fx.java rename to core/src/io/anuke/mindustry/content/fx/Fx.java index 70e403ffab..71e4094dec 100644 --- a/core/src/io/anuke/mindustry/graphics/fx/Fx.java +++ b/core/src/io/anuke/mindustry/content/fx/Fx.java @@ -1,4 +1,4 @@ -package io.anuke.mindustry.graphics.fx; +package io.anuke.mindustry.content.fx; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Colors; diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index 550005937b..dfc02d5fbf 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -352,6 +352,7 @@ public class Control extends Module{ if(!state.is(State.paused) || Net.active()){ Entities.update(effectGroup); + Entities.update(staticEffectGroup); if(respawntime > 0){ diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 490d3de2f2..220bff8dab 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -12,20 +12,22 @@ import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.FloatArray; import com.badlogic.gdx.utils.Pools; +import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.SyncEntity; +import io.anuke.mindustry.entities.effect.StaticEffectEntity; +import io.anuke.mindustry.entities.effect.StaticEffectEntity.StaticEffect; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.graphics.BlockRenderer; +import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.input.PlaceMode; import io.anuke.mindustry.ui.fragments.ToolFragment; import io.anuke.mindustry.world.BlockBar; -import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.world.Tile; -import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.ucore.core.*; import io.anuke.ucore.entities.EffectEntity; import io.anuke.ucore.entities.Entities; @@ -63,8 +65,13 @@ public class Renderer extends RendererModule{ Rectangle view = rect.setSize(camera.viewportWidth, camera.viewportHeight) .setCenter(camera.position.x, camera.position.y); Rectangle pos = rect2.setSize(name.size).setCenter(x, y); + if(view.overlaps(pos)){ - new EffectEntity(name, color, rotation).set(x, y).add(effectGroup); + int id = new EffectEntity(name, color, rotation).set(x, y).add(effectGroup).id; + + if(name instanceof StaticEffect){ + new StaticEffectEntity((StaticEffect) name, color, rotation).set(x, y).add(staticEffectGroup).id = id; + } } } }); @@ -183,6 +190,9 @@ public class Renderer extends RendererModule{ drawPadding(); blocks.drawFloor(); + + Entities.draw(staticEffectGroup); + blocks.processBlocks(); blocks.drawBlocks(Layer.overlay); diff --git a/core/src/io/anuke/mindustry/entities/BulletType.java b/core/src/io/anuke/mindustry/entities/BulletType.java index a52cc789e6..98648fd17d 100644 --- a/core/src/io/anuke/mindustry/entities/BulletType.java +++ b/core/src/io/anuke/mindustry/entities/BulletType.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities; -import io.anuke.mindustry.graphics.fx.BulletFx; +import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.ucore.core.Effects; import io.anuke.ucore.entities.BaseBulletType; diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 7b93bd8693..7b650a36ad 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -6,8 +6,8 @@ import io.anuke.mindustry.content.Mechs; import io.anuke.mindustry.content.Weapons; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.game.Team; -import io.anuke.mindustry.graphics.fx.ExplosionFx; -import io.anuke.mindustry.graphics.fx.Fx; +import io.anuke.mindustry.content.fx.ExplosionFx; +import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.NetEvents; import io.anuke.mindustry.resource.Mech; diff --git a/core/src/io/anuke/mindustry/entities/TileEntity.java b/core/src/io/anuke/mindustry/entities/TileEntity.java index eb457fc1a5..6f72d74fa1 100644 --- a/core/src/io/anuke/mindustry/entities/TileEntity.java +++ b/core/src/io/anuke/mindustry/entities/TileEntity.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities; -import io.anuke.mindustry.graphics.fx.Fx; +import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.NetEvents; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/entities/effect/StaticEffectEntity.java b/core/src/io/anuke/mindustry/entities/effect/StaticEffectEntity.java new file mode 100644 index 0000000000..66b0894168 --- /dev/null +++ b/core/src/io/anuke/mindustry/entities/effect/StaticEffectEntity.java @@ -0,0 +1,45 @@ +package io.anuke.mindustry.entities.effect; + +import com.badlogic.gdx.graphics.Color; +import io.anuke.ucore.core.Effects; +import io.anuke.ucore.core.Effects.Effect; +import io.anuke.ucore.core.Timers; +import io.anuke.ucore.entities.EffectEntity; +import io.anuke.ucore.function.EffectRenderer; +import io.anuke.ucore.util.Mathf; + +public class StaticEffectEntity extends EffectEntity { + private boolean once; + + public StaticEffectEntity(StaticEffect effect, Color color, float rotation) { + super(effect, color, rotation); + } + + @Override + public void update(){ + time += Timers.delta(); + + time = Mathf.clamp(time, 0, ((StaticEffect)renderer).staticLife); + + if(!once && time >= lifetime){ + once = true; + time = 0f; + }else if(once && time >= ((StaticEffect)renderer).staticLife){ + remove(); + } + } + + @Override + public void drawOver(){ + if(once) Effects.renderEffect(id, renderer, color, once ? lifetime : time, rotation, x, y); + } + + public static class StaticEffect extends Effect{ + public final float staticLife; + + public StaticEffect(float life, float staticLife, EffectRenderer draw) { + super(life, draw); + this.staticLife = staticLife; + } + } +} diff --git a/core/src/io/anuke/mindustry/entities/units/FlyingUnitType.java b/core/src/io/anuke/mindustry/entities/units/FlyingUnitType.java index ab62601174..64b42eb9cb 100644 --- a/core/src/io/anuke/mindustry/entities/units/FlyingUnitType.java +++ b/core/src/io/anuke/mindustry/entities/units/FlyingUnitType.java @@ -4,7 +4,7 @@ import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.ObjectSet; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.game.TeamInfo.TeamData; -import io.anuke.mindustry.graphics.fx.Fx; +import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Timers; diff --git a/core/src/io/anuke/mindustry/entities/units/UnitType.java b/core/src/io/anuke/mindustry/entities/units/UnitType.java index 503130759b..0f2f32a2c0 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitType.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitType.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.entities.Bullet; import io.anuke.mindustry.entities.BulletType; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.entities.Units; -import io.anuke.mindustry.graphics.fx.ExplosionFx; +import io.anuke.mindustry.content.fx.ExplosionFx; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.NetEvents; import io.anuke.ucore.core.Effects; diff --git a/core/src/io/anuke/mindustry/graphics/Palette.java b/core/src/io/anuke/mindustry/graphics/Palette.java index 943ea44061..75afaa607e 100644 --- a/core/src/io/anuke/mindustry/graphics/Palette.java +++ b/core/src/io/anuke/mindustry/graphics/Palette.java @@ -3,7 +3,8 @@ package io.anuke.mindustry.graphics; import com.badlogic.gdx.graphics.Color; public class Palette { - public static final Color bulletYellow = Color.valueOf("f3d47f"); + public static final Color bulletYellow = Color.valueOf("ffeec9"); + public static final Color bulletYellowBack = Color.valueOf("f9c87a"); public static final Color lightFlame = Color.valueOf("ffdd55"); public static final Color darkFlame = Color.valueOf("db401c"); @@ -12,4 +13,6 @@ public class Palette { public static final Color lightOrange = Color.valueOf("f68021"); public static final Color lighterOrange = Color.valueOf("f6e096"); + + public static final Color lightishGray = Color.valueOf("a2a2a2"); } diff --git a/core/src/io/anuke/mindustry/ui/fragments/DebugFragment.java b/core/src/io/anuke/mindustry/ui/fragments/DebugFragment.java index a314a841e4..4101664fb8 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/DebugFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/DebugFragment.java @@ -2,11 +2,13 @@ package io.anuke.mindustry.ui.fragments; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.files.FileHandle; +import io.anuke.mindustry.content.fx.ExplosionFx; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.content.UnitTypes; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.net.Net; +import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Timers; import io.anuke.ucore.scene.builders.button; import io.anuke.ucore.scene.builders.label; @@ -51,7 +53,7 @@ public class DebugFragment implements Fragment { row(); new button("blocks", "toggle", () -> showBlockDebug = !showBlockDebug); row(); - new button("paths", "toggle", () -> showPaths = !showPaths); + new button("effect", () -> Effects.effect(ExplosionFx.explosion, player)); row(); new button("wave", () -> state.wavetime = 0f); row(); diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index b90a3a98d0..1bc4fe3e46 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -9,7 +9,7 @@ import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.graphics.DrawLayer; import io.anuke.mindustry.graphics.Layer; -import io.anuke.mindustry.graphics.fx.ExplosionFx; +import io.anuke.mindustry.content.fx.ExplosionFx; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.NetEvents; import io.anuke.mindustry.resource.ItemStack; diff --git a/core/src/io/anuke/mindustry/world/Placement.java b/core/src/io/anuke/mindustry/world/Placement.java index 95a3d356b7..d63f937b9f 100644 --- a/core/src/io/anuke/mindustry/world/Placement.java +++ b/core/src/io/anuke/mindustry/world/Placement.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.content.Recipes; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.game.Team; -import io.anuke.mindustry.graphics.fx.Fx; +import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.resource.ItemStack; import io.anuke.mindustry.resource.Recipe; import io.anuke.ucore.core.Effects; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/Door.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/Door.java index a01970571e..6c903c6e7d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/Door.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/Door.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks.types.defense; import com.badlogic.gdx.math.Rectangle; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.Units; -import io.anuke.mindustry.graphics.fx.BlockFx; +import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.Wall; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/LaserTurret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/LaserTurret.java index 7e3929c2d5..61ee5aa804 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/LaserTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/LaserTurret.java @@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.math.MathUtils; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.graphics.Layer; -import io.anuke.mindustry.graphics.fx.Fx; +import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.defense.turrets.PowerTurret; import io.anuke.ucore.core.Effects; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java index 16c0ec4d1a..50056fffc5 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java @@ -2,10 +2,10 @@ package io.anuke.mindustry.world.blocks.types.defense; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.utils.Array; +import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.*; import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.graphics.fx.Fx; import io.anuke.mindustry.resource.AmmoType; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.BlockGroup; @@ -14,6 +14,7 @@ import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.core.Graphics; import io.anuke.ucore.core.Timers; +import io.anuke.ucore.function.BiConsumer; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Lines; import io.anuke.ucore.util.Angles; @@ -47,6 +48,7 @@ public abstract class Turret extends Block{ protected Translator tr = new Translator(); protected Translator tr2 = new Translator(); protected String base = null; //name of the region to draw under turret, usually null + protected BiConsumer drawer = (tile, entity) -> Draw.rect(name, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90); protected Effect shootEffect = Fx.none; protected Effect smokeEffect = Fx.none; @@ -96,9 +98,7 @@ public abstract class Turret extends Block{ tr2.trns(entity.rotation, -entity.recoil); - String region = entity.target != null && Draw.hasRegion(name + "-shoot") ? name + "-shoot" : name; - - Draw.rect(region, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90); + drawer.accept(tile, entity); if(Draw.hasRegion(name + "-heat")){ Graphics.setAdditiveBlending(); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/power/BurnerGenerator.java b/core/src/io/anuke/mindustry/world/blocks/types/power/BurnerGenerator.java index 09f4c2f746..43506a8d36 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/power/BurnerGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/power/BurnerGenerator.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.types.power; import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.entities.TileEntity; -import io.anuke.mindustry.graphics.fx.BlockFx; +import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.world.BarType; import io.anuke.mindustry.world.BlockBar; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/power/LiquidBurnerGenerator.java b/core/src/io/anuke/mindustry/world/blocks/types/power/LiquidBurnerGenerator.java index 4533cbac63..8d21ca08c1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/power/LiquidBurnerGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/power/LiquidBurnerGenerator.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.blocks.types.power; import io.anuke.mindustry.entities.TileEntity; -import io.anuke.mindustry.graphics.fx.BlockFx; +import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.resource.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.power.BurnerGenerator.BurnerEntity; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/power/NuclearReactor.java b/core/src/io/anuke/mindustry/world/blocks/types/power/NuclearReactor.java index 42cbeff32b..014f5176b8 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/power/NuclearReactor.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/power/NuclearReactor.java @@ -4,8 +4,8 @@ import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.effect.DamageArea; -import io.anuke.mindustry.graphics.fx.BlockFx; -import io.anuke.mindustry.graphics.fx.ExplosionFx; +import io.anuke.mindustry.content.fx.BlockFx; +import io.anuke.mindustry.content.fx.ExplosionFx; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.resource.Liquid; import io.anuke.mindustry.world.BarType; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/power/PowerGenerator.java b/core/src/io/anuke/mindustry/world/blocks/types/power/PowerGenerator.java index 71c6140087..6080003658 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/power/PowerGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/power/PowerGenerator.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.world.blocks.types.power; import com.badlogic.gdx.math.GridPoint2; import io.anuke.mindustry.entities.TileEntity; -import io.anuke.mindustry.graphics.fx.BlockFx; -import io.anuke.mindustry.graphics.fx.ExplosionFx; +import io.anuke.mindustry.content.fx.BlockFx; +import io.anuke.mindustry.content.fx.ExplosionFx; import io.anuke.mindustry.world.Edges; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.PowerBlock; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/Cultivator.java b/core/src/io/anuke/mindustry/world/blocks/types/production/Cultivator.java index 4e659596b5..fd909fe350 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/Cultivator.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/Cultivator.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks.types.production; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.g2d.TextureRegion; import io.anuke.mindustry.entities.TileEntity; -import io.anuke.mindustry.graphics.fx.Fx; +import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Timers; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java b/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java index 41a40d1729..72bf85fd7c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java @@ -5,7 +5,7 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.entities.TileEntity; -import io.anuke.mindustry.graphics.fx.BlockFx; +import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.resource.Liquid; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/GenericCrafter.java b/core/src/io/anuke/mindustry/world/blocks/types/production/GenericCrafter.java index 743dad3d58..5ca5313839 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/GenericCrafter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/GenericCrafter.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.world.blocks.types.production; import com.badlogic.gdx.graphics.g2d.TextureRegion; import io.anuke.mindustry.entities.TileEntity; -import io.anuke.mindustry.graphics.fx.BlockFx; -import io.anuke.mindustry.graphics.fx.Fx; +import io.anuke.mindustry.content.fx.BlockFx; +import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.resource.ItemStack; import io.anuke.mindustry.resource.Liquid; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/PowerSmelter.java b/core/src/io/anuke/mindustry/world/blocks/types/production/PowerSmelter.java index 92c2780658..cf11fcf7aa 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/PowerSmelter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/PowerSmelter.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.types.production; import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.entities.TileEntity; -import io.anuke.mindustry.graphics.fx.BlockFx; +import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.resource.ItemStack; import io.anuke.mindustry.world.BarType; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/Smelter.java b/core/src/io/anuke/mindustry/world/blocks/types/production/Smelter.java index 44d5f96b6a..8be2087f5d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/Smelter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/Smelter.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.types.production; import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.entities.TileEntity; -import io.anuke.mindustry.graphics.fx.BlockFx; +import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.world.BarType; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/SolidPump.java b/core/src/io/anuke/mindustry/world/blocks/types/production/SolidPump.java index 16ae1bfc91..945670a152 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/SolidPump.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/SolidPump.java @@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.entities.TileEntity; -import io.anuke.mindustry.graphics.fx.Fx; +import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.resource.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Effects; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/UnitFactory.java b/core/src/io/anuke/mindustry/world/blocks/types/production/UnitFactory.java index bcbc13be28..621459483b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/UnitFactory.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/UnitFactory.java @@ -8,7 +8,7 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.entities.units.UnitType; -import io.anuke.mindustry.graphics.fx.BlockFx; +import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.resource.ItemStack;