diff --git a/core/assets-raw/sprites/blocks/production/irondrill-rotator.png b/core/assets-raw/sprites/blocks/production/irondrill-rotator.png new file mode 100644 index 0000000000..390dcd53a3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/irondrill-rotator.png differ diff --git a/core/assets-raw/sprites/blocks/production/irondrill-top.png b/core/assets-raw/sprites/blocks/production/irondrill-top.png new file mode 100644 index 0000000000..f14021f914 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/irondrill-top.png differ diff --git a/core/assets-raw/sprites/blocks/production/irondrill.png b/core/assets-raw/sprites/blocks/production/irondrill.png index ef0550b268..9ce0ba779c 100644 Binary files a/core/assets-raw/sprites/blocks/production/irondrill.png and b/core/assets-raw/sprites/blocks/production/irondrill.png differ diff --git a/core/assets-raw/sprites/blocks/production/laserdrill-rotator.png b/core/assets-raw/sprites/blocks/production/laserdrill-rotator.png new file mode 100644 index 0000000000..1e856fa7af Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/laserdrill-rotator.png differ diff --git a/core/assets-raw/sprites/blocks/production/laserdrill-top.png b/core/assets-raw/sprites/blocks/production/laserdrill-top.png new file mode 100644 index 0000000000..1c92ebe9f7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/laserdrill-top.png differ diff --git a/core/assets-raw/sprites/blocks/production/laserdrill.png b/core/assets-raw/sprites/blocks/production/laserdrill.png index aa4fde0910..2edf982c8f 100644 Binary files a/core/assets-raw/sprites/blocks/production/laserdrill.png and b/core/assets-raw/sprites/blocks/production/laserdrill.png differ diff --git a/core/assets-raw/sprites/blocks/walls/door-large-open.png b/core/assets-raw/sprites/blocks/walls/door-large-open.png index 42037513d6..d4f26329ec 100644 Binary files a/core/assets-raw/sprites/blocks/walls/door-large-open.png and b/core/assets-raw/sprites/blocks/walls/door-large-open.png differ diff --git a/core/assets-raw/sprites/blocks/walls/door-large.png b/core/assets-raw/sprites/blocks/walls/door-large.png index a40f67f0be..d0a93cccbe 100644 Binary files a/core/assets-raw/sprites/blocks/walls/door-large.png and b/core/assets-raw/sprites/blocks/walls/door-large.png differ diff --git a/core/assets-raw/sprites/blocks/walls/door-open.png b/core/assets-raw/sprites/blocks/walls/door-open.png index dafd8a137b..0112c2cf03 100644 Binary files a/core/assets-raw/sprites/blocks/walls/door-open.png and b/core/assets-raw/sprites/blocks/walls/door-open.png differ diff --git a/core/assets-raw/sprites/blocks/walls/door.png b/core/assets-raw/sprites/blocks/walls/door.png index bcbe7a5d03..84266f37da 100644 Binary files a/core/assets-raw/sprites/blocks/walls/door.png and b/core/assets-raw/sprites/blocks/walls/door.png differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 2d0618c06d..b3f41fede9 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: 274, 93 + xy: 274, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top rotate: false - xy: 274, 83 + xy: 274, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduittunnel rotate: false - xy: 284, 93 + xy: 284, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor rotate: false - xy: 284, 83 + xy: 274, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyormove rotate: false - xy: 294, 103 + xy: 284, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyortunnel rotate: false - xy: 294, 93 + xy: 284, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -62,42 +62,42 @@ core index: -1 junction rotate: false - xy: 487, 142 + xy: 626, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidjunction rotate: false - xy: 622, 246 + xy: 636, 266 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter rotate: false - xy: 636, 286 + xy: 636, 256 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-bottom rotate: false - xy: 636, 276 + xy: 632, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-liquid rotate: false - xy: 636, 266 + xy: 642, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-top rotate: false - xy: 636, 256 + xy: 652, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -125,77 +125,77 @@ liquidtank-top index: -1 multiplexer rotate: false - xy: 572, 254 + xy: 590, 256 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweredconveyor rotate: false - xy: 646, 256 + xy: 656, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyormove rotate: false - xy: 642, 246 + xy: 656, 266 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-bottom rotate: false - xy: 656, 256 + xy: 689, 341 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-top rotate: false - xy: 652, 246 + xy: 689, 331 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 694, 363 + xy: 662, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sortedunloader rotate: false - xy: 375, 117 + xy: 750, 396 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sorter rotate: false - xy: 385, 113 + xy: 760, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 splitter rotate: false - xy: 395, 113 + xy: 770, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyor rotate: false - xy: 405, 113 + xy: 780, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyormove rotate: false - xy: 415, 113 + xy: 790, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -209,7 +209,7 @@ teleporter-top index: -1 unloader rotate: false - xy: 374, 107 + xy: 304, 107 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -223,70 +223,70 @@ vault index: -1 vault-icon rotate: false - xy: 374, 97 + xy: 314, 107 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weaponfactory rotate: false - xy: 921, 461 + xy: 698, 373 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 blackrock1 rotate: false - xy: 223, 113 + xy: 465, 150 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackrockshadow1 rotate: false - xy: 233, 113 + xy: 475, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone1 rotate: false - xy: 243, 113 + xy: 223, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone2 rotate: false - xy: 253, 113 + xy: 233, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone3 rotate: false - xy: 263, 113 + xy: 243, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock1 rotate: false - xy: 273, 113 + xy: 253, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock2 rotate: false - xy: 283, 113 + xy: 263, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock3 rotate: false - xy: 293, 113 + xy: 273, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -300,35 +300,35 @@ blackstoneedge index: -1 coal1 rotate: false - xy: 244, 93 + xy: 244, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal2 rotate: false - xy: 254, 103 + xy: 234, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 244, 83 + xy: 244, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater rotate: false - xy: 674, 363 + xy: 294, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt1 rotate: false - xy: 684, 363 + xy: 294, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -489,7 +489,7 @@ iron3 index: -1 lava rotate: false - xy: 622, 296 + xy: 626, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -503,35 +503,35 @@ lavaedge index: -1 lead1 rotate: false - xy: 626, 286 + xy: 626, 256 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead2 rotate: false - xy: 626, 276 + xy: 622, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead3 rotate: false - xy: 626, 266 + xy: 636, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 mossblock rotate: false - xy: 642, 296 + xy: 646, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil rotate: false - xy: 652, 299 + xy: 646, 266 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -545,56 +545,56 @@ oiledge index: -1 rock1 rotate: false - xy: 689, 333 + xy: 694, 361 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock2 rotate: false - xy: 689, 323 + xy: 704, 363 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand1 rotate: false - xy: 699, 343 + xy: 699, 351 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand2 rotate: false - xy: 699, 333 + xy: 699, 341 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand3 rotate: false - xy: 699, 323 + xy: 699, 331 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock1 rotate: false - xy: 750, 406 + xy: 699, 321 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock2 rotate: false - xy: 750, 396 + xy: 697, 311 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock3 rotate: false - xy: 760, 399 + xy: 692, 301 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -608,56 +608,56 @@ sandedge index: -1 shrub rotate: false - xy: 840, 399 + xy: 719, 350 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shrubshadow rotate: false - xy: 850, 399 + xy: 709, 330 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow1 rotate: false - xy: 305, 117 + xy: 729, 340 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow2 rotate: false - xy: 315, 117 + xy: 729, 330 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow3 rotate: false - xy: 325, 117 + xy: 712, 301 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock1 rotate: false - xy: 335, 117 + xy: 739, 350 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock2 rotate: false - xy: 345, 117 + xy: 739, 340 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock3 rotate: false - xy: 355, 117 + xy: 739, 330 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -671,42 +671,42 @@ snowedge index: -1 stone1 rotate: false - xy: 435, 115 + xy: 810, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 445, 116 + xy: 820, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 455, 116 + xy: 830, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock1 rotate: false - xy: 465, 116 + xy: 840, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock2 rotate: false - xy: 304, 107 + xy: 850, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock3 rotate: false - xy: 304, 97 + xy: 860, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -720,49 +720,49 @@ stoneedge index: -1 thorium1 rotate: false - xy: 314, 87 + xy: 335, 117 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium2 rotate: false - xy: 324, 97 + xy: 345, 117 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium3 rotate: false - xy: 334, 107 + xy: 355, 117 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium1 rotate: false - xy: 334, 97 + xy: 375, 117 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 344, 107 + xy: 385, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 334, 87 + xy: 395, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water rotate: false - xy: 384, 93 + xy: 324, 107 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -776,28 +776,28 @@ wateredge index: -1 block-middle rotate: false - xy: 224, 83 + xy: 224, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 224, 83 + xy: 224, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 284, 103 + xy: 264, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 294, 83 + xy: 294, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -825,21 +825,21 @@ enemyspawn index: -1 playerspawn rotate: false - xy: 646, 266 + xy: 656, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ripples rotate: false - xy: 453, 158 + xy: 429, 146 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 shadow rotate: false - xy: 441, 146 + xy: 453, 158 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -860,21 +860,21 @@ batterylarge index: -1 coalgenerator rotate: false - xy: 254, 83 + xy: 254, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coalgenerator-top rotate: false - xy: 264, 93 + xy: 264, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustiongenerator rotate: false - xy: 274, 103 + xy: 254, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -909,56 +909,56 @@ nuclearreactor-lights index: -1 powerinfinite rotate: false - xy: 656, 286 + xy: 656, 256 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powernode rotate: false - xy: 656, 276 + xy: 652, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powervoid rotate: false - xy: 656, 266 + xy: 689, 351 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator rotate: false - xy: 662, 299 + xy: 672, 301 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator-top rotate: false - xy: 699, 353 + xy: 682, 301 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldgenerator rotate: false - xy: 790, 399 + xy: 734, 360 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldprojector rotate: false - xy: 817, 409 + xy: 853, 409 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 solarpanel rotate: false - xy: 365, 117 + xy: 750, 406 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -972,7 +972,7 @@ teleporter index: -1 thermalgenerator rotate: false - xy: 324, 107 + xy: 325, 117 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1035,14 +1035,14 @@ centrifuge index: -1 coaldrill rotate: false - xy: 254, 93 + xy: 254, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coalextractor rotate: false - xy: 264, 103 + xy: 244, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1105,21 +1105,35 @@ fluxpump index: -1 irondrill rotate: false - xy: 467, 138 + xy: 431, 125 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +irondrill-rotator + rotate: false + xy: 441, 126 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +irondrill-top + rotate: false + xy: 451, 126 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemsource rotate: false - xy: 667, 311 + xy: 622, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemvoid rotate: false - xy: 487, 152 + xy: 632, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1131,23 +1145,37 @@ laserdrill orig: 16, 16 offset: 0, 0 index: -1 +laserdrill-rotator + rotate: false + xy: 716, 404 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 +laserdrill-top + rotate: false + xy: 716, 386 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 lavasmelter rotate: false - xy: 632, 296 + xy: 626, 266 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 leaddrill rotate: false - xy: 626, 256 + xy: 636, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 melter rotate: false - xy: 632, 246 + xy: 646, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1182,168 +1210,168 @@ oilextractor-top index: -1 oilrefinery rotate: false - xy: 646, 286 + xy: 646, 256 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 omnidrill rotate: false - xy: 646, 276 + xy: 642, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 plasticformer rotate: false - xy: 590, 274 + xy: 608, 274 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 plasticformer-top rotate: false - xy: 590, 256 + xy: 608, 256 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweralloysmelter rotate: false - xy: 608, 274 + xy: 763, 409 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweralloysmelter-top rotate: false - xy: 608, 256 + xy: 781, 409 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powersmelter rotate: false - xy: 763, 409 + xy: 799, 409 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powersmelter-top rotate: false - xy: 781, 409 + xy: 817, 409 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 689, 353 + xy: 689, 321 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump rotate: false - xy: 689, 343 + xy: 687, 311 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 quartzextractor rotate: false - xy: 799, 409 + xy: 835, 409 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 separator rotate: false - xy: 770, 399 + xy: 714, 360 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconextractor rotate: false - xy: 860, 399 + xy: 719, 340 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 smelter rotate: false - xy: 870, 397 + xy: 729, 350 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 smelter-middle rotate: false - xy: 746, 384 + xy: 719, 330 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stonedrill rotate: false - xy: 314, 107 + xy: 870, 397 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneformer rotate: false - xy: 304, 87 + xy: 305, 117 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thoriumdrill rotate: false - xy: 324, 87 + xy: 365, 117 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill rotate: false - xy: 344, 97 + xy: 405, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumextractor rotate: false - xy: 354, 107 + xy: 415, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 uraniumextractor rotate: false - xy: 364, 87 + xy: 304, 97 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 waterextractor rotate: false - xy: 885, 461 + xy: 921, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-liquid rotate: false - xy: 903, 461 + xy: 680, 371 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-1 rotate: false - xy: 234, 103 + xy: 224, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1385,7 +1413,7 @@ chainturret index: -1 doubleturret rotate: false - xy: 602, 246 + xy: 612, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1420,56 +1448,56 @@ gatlingturret index: -1 laserturret rotate: false - xy: 429, 158 + xy: 417, 145 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 magmaturret rotate: false - xy: 716, 404 + xy: 572, 272 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 megarepairturret rotate: false - xy: 716, 386 + xy: 572, 254 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 missileturret rotate: false - xy: 572, 272 + xy: 590, 274 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 railgunturret rotate: false - xy: 441, 158 + xy: 429, 158 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 repairturret rotate: false - xy: 429, 146 + xy: 441, 158 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 shotgunturret rotate: false - xy: 453, 146 + xy: 441, 146 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 teslaturret rotate: false - xy: 465, 148 + xy: 453, 146 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1525,14 +1553,14 @@ walkerfactory-top-open index: -1 compositewall rotate: false - xy: 264, 83 + xy: 264, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door rotate: false - xy: 477, 152 + xy: 592, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1553,14 +1581,14 @@ door-large-open index: -1 door-open rotate: false - xy: 592, 246 + xy: 602, 246 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 duriumwall rotate: false - xy: 612, 246 + xy: 485, 152 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1574,49 +1602,49 @@ duriumwall-large index: -1 ironwall rotate: false - xy: 477, 142 + xy: 461, 126 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall rotate: false - xy: 425, 115 + xy: 800, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall-large rotate: false - xy: 835, 409 + xy: 885, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 stonewall rotate: false - xy: 314, 97 + xy: 315, 117 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumshieldwall rotate: false - xy: 344, 87 + xy: 425, 115 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall rotate: false - xy: 354, 97 + xy: 435, 115 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall-large rotate: false - xy: 853, 409 + xy: 903, 461 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1630,7 +1658,7 @@ blank index: -1 bullet rotate: false - xy: 234, 93 + xy: 234, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1672,112 +1700,112 @@ laserfull index: -1 shell rotate: false - xy: 780, 399 + xy: 724, 360 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot rotate: false - xy: 820, 399 + xy: 709, 350 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot-long rotate: false - xy: 830, 399 + xy: 709, 340 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanshell rotate: false - xy: 364, 107 + xy: 445, 116 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-biomatter rotate: false - xy: 431, 125 + xy: 669, 351 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-coal rotate: false - xy: 441, 126 + xy: 669, 341 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-densealloy rotate: false - xy: 451, 126 + xy: 669, 331 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-iron rotate: false - xy: 461, 126 + xy: 674, 361 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead rotate: false - xy: 669, 351 + xy: 684, 361 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-plastic rotate: false - xy: 669, 341 + xy: 679, 351 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-quartz rotate: false - xy: 669, 331 + xy: 679, 341 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 679, 353 + xy: 679, 331 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-steel rotate: false - xy: 679, 343 + xy: 669, 321 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-stone rotate: false - xy: 679, 333 + xy: 679, 321 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 669, 321 + xy: 667, 311 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 679, 323 + xy: 677, 311 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2002,7 +2030,7 @@ icon-areaDelete index: -1 icon-arrow rotate: false - xy: 680, 373 + xy: 716, 370 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2310,14 +2338,14 @@ icon-loading index: -1 icon-logic rotate: false - xy: 385, 123 + xy: 732, 370 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu rotate: false - xy: 397, 123 + xy: 385, 123 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2331,14 +2359,14 @@ icon-menu-large index: -1 icon-none rotate: false - xy: 136, 53 + xy: 397, 123 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pause rotate: false - xy: 154, 64 + xy: 136, 53 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2366,7 +2394,7 @@ icon-pick index: -1 icon-play rotate: false - xy: 166, 64 + xy: 154, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2380,21 +2408,21 @@ icon-play-2 index: -1 icon-players rotate: false - xy: 178, 64 + xy: 166, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-power rotate: false - xy: 190, 64 + xy: 178, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-production rotate: false - xy: 202, 64 + xy: 190, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2485,7 +2513,7 @@ icon-save-map index: -1 icon-settings rotate: false - xy: 214, 64 + xy: 202, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2506,14 +2534,14 @@ icon-tools index: -1 icon-touch rotate: false - xy: 574, 195 + xy: 214, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-touchDelete rotate: false - xy: 409, 123 + xy: 574, 195 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2555,14 +2583,14 @@ icon-undo index: -1 icon-units rotate: false - xy: 417, 157 + xy: 409, 123 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-weapon rotate: false - xy: 417, 145 + xy: 417, 157 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2812,70 +2840,70 @@ beam-equip index: -1 blaster rotate: false - xy: 224, 103 + xy: 283, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster-equip rotate: false - xy: 224, 93 + xy: 293, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun rotate: false - xy: 244, 103 + xy: 224, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun-equip rotate: false - xy: 234, 83 + xy: 234, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun rotate: false - xy: 800, 399 + xy: 702, 301 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 810, 399 + xy: 707, 311 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster rotate: false - xy: 354, 87 + xy: 455, 116 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster-equip rotate: false - xy: 364, 97 + xy: 465, 116 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan rotate: false - xy: 374, 87 + xy: 304, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan-equip rotate: false - xy: 384, 103 + xy: 314, 97 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 6b7a8ca86f..d85ab6dcb8 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 1ea8926681..5db9c533c8 100644 --- a/core/assets/version.properties +++ b/core/assets/version.properties @@ -1,7 +1,7 @@ #Autogenerated file. Do not modify. -#Wed Mar 28 21:22:01 EDT 2018 +#Wed Mar 28 22:57:35 EDT 2018 version=release -androidBuildCode=708 +androidBuildCode=718 name=Mindustry code=3.4 build=custom build diff --git a/core/src/io/anuke/mindustry/content/Recipes.java b/core/src/io/anuke/mindustry/content/Recipes.java index f9c9e751d2..4362748b18 100644 --- a/core/src/io/anuke/mindustry/content/Recipes.java +++ b/core/src/io/anuke/mindustry/content/Recipes.java @@ -69,11 +69,11 @@ public class Recipes { //new Recipe(production, ProductionBlocks.stonedrill, stack(Item.stone, 12)), new Recipe(production, ProductionBlocks.irondrill, stack(Items.iron, 25)), - new Recipe(production, ProductionBlocks.leaddrill, stack(Items.iron, 25)), - new Recipe(production, ProductionBlocks.coaldrill, stack(Items.iron, 25), stack(Items.iron, 40)), - new Recipe(production, ProductionBlocks.titaniumdrill, stack(Items.iron, 50), stack(Items.steel, 50)), - new Recipe(production, ProductionBlocks.thoriumdrill, stack(Items.iron, 40), stack(Items.steel, 40)), - new Recipe(production, ProductionBlocks.quartzextractor, stack(Items.titanium, 40), stack(Items.densealloy, 40)), + //new Recipe(production, ProductionBlocks.leaddrill, stack(Items.iron, 25)), + //new Recipe(production, ProductionBlocks.coaldrill, stack(Items.iron, 25), stack(Items.iron, 40)), + //new Recipe(production, ProductionBlocks.titaniumdrill, stack(Items.iron, 50), stack(Items.steel, 50)), + //new Recipe(production, ProductionBlocks.thoriumdrill, stack(Items.iron, 40), stack(Items.steel, 40)), + //new Recipe(production, ProductionBlocks.quartzextractor, stack(Items.titanium, 40), stack(Items.densealloy, 40)), new Recipe(production, ProductionBlocks.cultivator, stack(Items.titanium, 40), stack(Items.densealloy, 40)), new Recipe(production, ProductionBlocks.laserdrill, stack(Items.titanium, 40), stack(Items.densealloy, 40)), new Recipe(production, ProductionBlocks.waterextractor, stack(Items.titanium, 40), stack(Items.densealloy, 40)), diff --git a/core/src/io/anuke/mindustry/content/blocks/Blocks.java b/core/src/io/anuke/mindustry/content/blocks/Blocks.java index 213e4a40b7..feb6885eac 100644 --- a/core/src/io/anuke/mindustry/content/blocks/Blocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/Blocks.java @@ -132,19 +132,16 @@ public class Blocks { rock = new Rock("rock") {{ variants = 2; varyShadow = true; - drops = new ItemStack(Items.stone, 3); }}, icerock = new Rock("icerock") {{ variants = 2; varyShadow = true; - drops = new ItemStack(Items.stone, 3); }}, blackrock = new Rock("blackrock") {{ variants = 1; varyShadow = true; - drops = new ItemStack(Items.stone, 3); }}, dirtblock = new StaticBlock("dirtblock") {{ diff --git a/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java b/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java index 69258eaa50..f242e2ac14 100644 --- a/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java @@ -93,7 +93,7 @@ public class ProductionBlocks { powerUse = 0.6f; pumpAmount = 0.06f; size = 3; - liquidCapacity = 80f; + liquidCapacity = 30f; }}, cultivator = new Cultivator("cultivator") {{ diff --git a/core/src/io/anuke/mindustry/graphics/Fx.java b/core/src/io/anuke/mindustry/graphics/Fx.java index 436cdf70c8..55f052c144 100644 --- a/core/src/io/anuke/mindustry/graphics/Fx.java +++ b/core/src/io/anuke/mindustry/graphics/Fx.java @@ -194,6 +194,14 @@ public class Fx{ Draw.reset(); }); }), + + pulverizeSmall = new Effect(30, e -> { + Angles.randLenVectors(e.id, 5, 3f + e.ifract()*8f, (x, y)->{ + Draw.color(Color.LIGHT_GRAY, Color.GRAY, e.ifract()); + Fill.poly(e.x + x, e.y + y, 4, e.fract() * 1f + 0.5f, 45); + Draw.reset(); + }); + }), laserspark = new Effect(14, e -> { Angles.randLenVectors(e.id, 8, 1f + e.ifract()*11f, (x, y)->{ @@ -344,18 +352,12 @@ public class Fx{ Draw.reset(); }), - spark = new Effect(10, e -> { - Lines.stroke(1f); - Draw.color(Color.WHITE, Color.GRAY, e.ifract()); - Lines.spikes(e.x, e.y, e.ifract() * 5f, 2, 8); - Draw.reset(); - }), - - sparkbig = new Effect(11, e -> { - Lines.stroke(1f); - Draw.color(lightRed, Color.GRAY, e.ifract()); - Lines.spikes(e.x, e.y, e.ifract() * 5f, 2.3f, 8); - Draw.reset(); + mine = new Effect(20, e -> { + Angles.randLenVectors(e.id, 6, 3f + e.ifract()*6f, (x, y)->{ + Draw.color(Color.WHITE, Color.GRAY, e.ifract()); + Fill.poly(e.x + x, e.y + y, 4, e.fract() * 2f, 45); + Draw.reset(); + }); }), smelt = new Effect(10, e -> { 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 f5b16ad12e..11346540f8 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 @@ -1,12 +1,13 @@ package io.anuke.mindustry.world.blocks.types.production; +import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.graphics.Fx; +import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.BlockGroup; -import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Effects.Effect; @@ -14,6 +15,7 @@ import io.anuke.ucore.core.Timers; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.util.Mathf; import io.anuke.ucore.util.Strings; +import io.anuke.ucore.util.Tmp; public class Drill extends Block{ protected final int timerDrill = timers++; @@ -24,7 +26,8 @@ public class Drill extends Block{ protected Block resource; protected Item result; protected float drillTime = 300; - protected Effect drillEffect = Fx.spark; + protected Effect drillEffect = Fx.mine; + protected float rotateSpeed = 2f; public Drill(String name) { super(name); @@ -34,6 +37,23 @@ public class Drill extends Block{ itemCapacity = 5; group = BlockGroup.drills; } + + @Override + public void draw(Tile tile) { + Draw.rect(name, tile.drawx(), tile.drawy()); + Draw.rect(name + "-rotator", tile.drawx(), tile.drawy(), Timers.time() * rotateSpeed); + Draw.rect(name + "-top", tile.drawx(), tile.drawy()); + + TextureRegion region = result.region; + Tmp.tr1.setRegion(region, 4, 4, 1, 1); + + Draw.rect(Tmp.tr1, tile.drawx(), tile.drawy(), 2f, 2f); + } + + @Override + public TextureRegion[] getIcon() { + return new TextureRegion[]{Draw.region(name), Draw.region(name + "-rotator"), Draw.region(name + "-top")}; + } @Override public void setStats(){ diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/Fracker.java b/core/src/io/anuke/mindustry/world/blocks/types/production/Fracker.java index 451cb85ba6..4e8f7f36fb 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/Fracker.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/Fracker.java @@ -19,15 +19,15 @@ public class Fracker extends SolidPump { public void draw(Tile tile) { FrackerEntity entity = tile.entity(); - Draw.rect(name, tile.worldx(), tile.worldy()); + Draw.rect(name, tile.drawx(), tile.drawy()); Draw.color(tile.entity.liquid.liquid.color); Draw.alpha(tile.entity.liquid.amount/liquidCapacity); - Draw.rect(name + "-liquid", tile.worldx(), tile.worldy()); + Draw.rect(name + "-liquid", tile.drawx(), tile.drawy()); Draw.color(); - Draw.rect(name + "-rotator", tile.worldx(), tile.worldy(), entity.pumpTime); - Draw.rect(name + "-top", tile.worldx(), tile.worldy()); + Draw.rect(name + "-rotator", tile.drawx(), tile.drawy(), entity.pumpTime); + Draw.rect(name + "-top", tile.drawx(), tile.drawy()); } @Override @@ -42,6 +42,8 @@ public class Fracker extends SolidPump { if(entity.input >= inputLiquidUse * Timers.delta()){ super.update(tile); entity.input -= inputLiquidUse * Timers.delta(); + }else{ + tryDumpLiquid(tile); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/GenericDrill.java b/core/src/io/anuke/mindustry/world/blocks/types/production/GenericDrill.java index 081a8a09d8..5aa8b79d2d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/GenericDrill.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/GenericDrill.java @@ -1,13 +1,18 @@ package io.anuke.mindustry.world.blocks.types.production; +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; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.resource.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Effects; +import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.core.Timers; +import io.anuke.ucore.graphics.Draw; +import io.anuke.ucore.util.Mathf; /**Generic drill, can use both power and liquids. Set 'resource' to null to make it drill any block with drops.*/ public class GenericDrill extends Drill{ @@ -17,12 +22,30 @@ public class GenericDrill extends Drill{ protected float liquidUse = 0.1f; protected Liquid inputLiquid = Liquids.water; + protected float rotateSpeed = 1.5f; + protected Effect updateEffect = Fx.pulverizeSmall; + protected float updateEffectChance = 0.02f; + private Array toAdd = new Array<>(); public GenericDrill(String name){ super(name); } + @Override + public void draw(Tile tile) { + DrillEntity entity = tile.entity(); + + Draw.rect(name, tile.drawx(), tile.drawy()); + Draw.rect(name + "-rotator", tile.drawx(), tile.drawy(), entity.drillTime * rotateSpeed); + Draw.rect(name + "-top", tile.drawx(), tile.drawy()); + } + + @Override + public TextureRegion[] getIcon() { + return new TextureRegion[]{Draw.region(name), Draw.region(name + "-rotator"), Draw.region(name + "-top")}; + } + @Override public void update(Tile tile){ toAdd.clear(); @@ -38,26 +61,34 @@ public class GenericDrill extends Drill{ } } + entity.drillTime += entity.warmup * Timers.delta(); + float powerUsed = Math.min(powerCapacity, powerUse * Timers.delta()); float liquidUsed = Math.min(liquidCapacity, liquidUse * Timers.delta()); + //TODO slow down when no space. if((!hasPower || entity.power.amount >= powerUsed) && (!hasLiquids || entity.liquid.amount >= liquidUsed)){ if(hasPower) entity.power.amount -= powerUsed; if(hasLiquids) entity.liquid.amount -= liquidUsed; - entity.time += Timers.delta() * multiplier; + entity.warmup = Mathf.lerpDelta(entity.warmup, 1f, 0.02f); + entity.progress += Timers.delta() * multiplier; + + if(Mathf.chance(Timers.delta() * updateEffectChance)) + Effects.effect(updateEffect, entity.x + Mathf.range(size*2f), entity.y + Mathf.range(size*2f)); }else{ + entity.warmup = Mathf.lerpDelta(entity.warmup, 0f, 0.02f); return; } - if(toAdd.size > 0 && entity.time >= drillTime + if(toAdd.size > 0 && entity.progress >= drillTime && tile.entity.inventory.totalItems() < itemCapacity){ int index = entity.index % toAdd.size; offloadNear(tile, toAdd.get(index)); entity.index ++; - entity.time = 0f; + entity.progress = 0f; Effects.effect(drillEffect, tile.drawx(), tile.drawy()); } @@ -87,7 +118,9 @@ public class GenericDrill extends Drill{ } public static class DrillEntity extends TileEntity{ - public float time; + public float progress; public int index; + public float warmup; + public float drillTime; } }