diff --git a/core/assets-raw/sprites/mechs/mech-standard-icon.png b/core/assets-raw/sprites/mechs/mech-standard-icon.png new file mode 100644 index 0000000000..4546324c10 Binary files /dev/null and b/core/assets-raw/sprites/mechs/mech-standard-icon.png differ diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 59637b39c3..e0dc1b3da7 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -188,7 +188,7 @@ text.blocks.output=Output text.blocks.secondsitem=Seconds/item text.blocks.maxpowertransfersecond=Max power transfer/second text.blocks.explosive=Highly explosive! -text.blocks.repairssecond=Repairs/second +text.blocks.repairssecond=Repaired/second text.blocks.health=Health text.blocks.inaccuracy=Inaccuracy text.blocks.shots=Shots diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index a8ffc3901e..40c8ead303 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -27,49 +27,49 @@ blocks/blackrock1 index: -1 blocks/blackrockshadow1 rotate: false - xy: 166, 83 + xy: 214, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstone1 rotate: false - xy: 732, 381 + xy: 224, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstone2 rotate: false - xy: 736, 371 + xy: 732, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstone3 rotate: false - xy: 736, 361 + xy: 234, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstoneblock1 rotate: false - xy: 736, 351 + xy: 736, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstoneblock2 rotate: false - xy: 659, 282 + xy: 736, 361 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstoneblock3 rotate: false - xy: 669, 282 + xy: 736, 351 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -83,7 +83,7 @@ blocks/blackstoneedge index: -1 blocks/block rotate: false - xy: 250, 91 + xy: 264, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -104,7 +104,7 @@ blocks/block-3x3 index: -1 blocks/block-middle rotate: false - xy: 260, 91 + xy: 274, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -125,112 +125,112 @@ blocks/chainturret-icon index: -1 blocks/coal1 rotate: false - xy: 300, 95 + xy: 314, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coal2 rotate: false - xy: 310, 95 + xy: 324, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coal3 rotate: false - xy: 320, 95 + xy: 334, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coaldrill rotate: false - xy: 330, 95 + xy: 344, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coalgenerator rotate: false - xy: 340, 95 + xy: 354, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coalgenerator-top rotate: false - xy: 350, 95 + xy: 364, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coalpurifier rotate: false - xy: 360, 95 + xy: 374, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/combustiongenerator rotate: false - xy: 370, 95 + xy: 384, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/compositewall rotate: false - xy: 380, 95 + xy: 394, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduit rotate: false - xy: 390, 95 + xy: 404, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduitbottom rotate: false - xy: 400, 95 + xy: 414, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduitliquid rotate: false - xy: 410, 95 + xy: 424, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduittop rotate: false - xy: 420, 95 + xy: 434, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conveyor rotate: false - xy: 430, 95 + xy: 444, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conveyormove rotate: false - xy: 440, 95 + xy: 454, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conveyortunnel rotate: false - xy: 450, 95 + xy: 464, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -244,42 +244,42 @@ blocks/core index: -1 blocks/cross rotate: false - xy: 460, 95 + xy: 669, 282 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/crucible rotate: false - xy: 470, 95 + xy: 679, 282 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/deepwater rotate: false - xy: 113, 71 + xy: 591, 187 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirt1 rotate: false - xy: 113, 61 + xy: 624, 233 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirt2 rotate: false - xy: 113, 51 + xy: 624, 223 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirt3 rotate: false - xy: 117, 41 + xy: 624, 213 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -293,7 +293,7 @@ blocks/dirtedge index: -1 blocks/door rotate: false - xy: 117, 31 + xy: 634, 235 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -307,7 +307,7 @@ blocks/door-large index: -1 blocks/door-large-icon rotate: false - xy: 117, 21 + xy: 634, 225 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -321,7 +321,7 @@ blocks/door-large-open index: -1 blocks/door-open rotate: false - xy: 117, 11 + xy: 634, 215 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -335,7 +335,7 @@ blocks/doubleturret index: -1 blocks/duriumwall rotate: false - xy: 117, 1 + xy: 114, 80 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -349,14 +349,14 @@ blocks/duriumwall-large index: -1 blocks/duriumwall-large-icon rotate: false - xy: 624, 233 + xy: 113, 70 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/enemyspawn rotate: false - xy: 624, 223 + xy: 113, 60 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -370,42 +370,42 @@ blocks/flameturret index: -1 blocks/fluxpump rotate: false - xy: 624, 213 + xy: 113, 50 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass1 rotate: false - xy: 634, 235 + xy: 117, 40 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass2 rotate: false - xy: 634, 225 + xy: 117, 30 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass3 rotate: false - xy: 634, 215 + xy: 117, 20 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock1 rotate: false - xy: 627, 203 + xy: 117, 10 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock2 rotate: false - xy: 627, 193 + xy: 865, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -419,21 +419,21 @@ blocks/grassedge index: -1 blocks/ice1 rotate: false - xy: 637, 205 + xy: 178, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ice2 rotate: false - xy: 637, 195 + xy: 188, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ice3 rotate: false - xy: 637, 185 + xy: 198, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -447,98 +447,98 @@ blocks/iceedge index: -1 blocks/icerock1 rotate: false - xy: 865, 417 + xy: 208, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerock2 rotate: false - xy: 300, 85 + xy: 218, 77 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerockshadow1 rotate: false - xy: 310, 85 + xy: 228, 77 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rockshadow1 rotate: false - xy: 310, 85 + xy: 228, 77 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerockshadow2 rotate: false - xy: 320, 85 + xy: 238, 77 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rockshadow2 rotate: false - xy: 320, 85 + xy: 238, 77 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron1 rotate: false - xy: 410, 85 + xy: 328, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron2 rotate: false - xy: 420, 85 + xy: 338, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron3 rotate: false - xy: 430, 85 + xy: 348, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/irondrill rotate: false - xy: 440, 85 + xy: 358, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ironwall rotate: false - xy: 450, 85 + xy: 368, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/junction rotate: false - xy: 460, 85 + xy: 378, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/laserturret rotate: false - xy: 734, 392 + xy: 728, 333 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/lava rotate: false - xy: 470, 85 + xy: 388, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -552,63 +552,63 @@ blocks/lavaedge index: -1 blocks/lavasmelter rotate: false - xy: 480, 87 + xy: 398, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquiditemjunction rotate: false - xy: 875, 417 + xy: 408, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquidjunction rotate: false - xy: 885, 421 + xy: 418, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquidrouter rotate: false - xy: 895, 421 + xy: 428, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/machineturret rotate: false - xy: 724, 369 + xy: 728, 321 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/megarepairturret rotate: false - xy: 724, 357 + xy: 728, 309 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/mortarturret rotate: false - xy: 724, 345 + xy: 731, 297 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/mossblock rotate: false - xy: 905, 421 + xy: 438, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/mossstone rotate: false - xy: 905, 421 + xy: 438, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -629,7 +629,7 @@ blocks/nuclearreactor-center index: -1 blocks/nuclearreactor-icon rotate: false - xy: 915, 421 + xy: 448, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -650,336 +650,336 @@ blocks/nuclearreactor-small index: -1 blocks/oil rotate: false - xy: 925, 421 + xy: 458, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/oiledge rotate: false - xy: 535, 211 + xy: 535, 197 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/oilrefinery rotate: false - xy: 935, 421 + xy: 468, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/omnidrill rotate: false - xy: 945, 421 + xy: 601, 187 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/plasmaturret rotate: false - xy: 728, 333 + xy: 731, 285 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/playerspawn rotate: false - xy: 955, 421 + xy: 611, 189 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerbooster rotate: false - xy: 965, 421 + xy: 621, 189 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/poweredconveyor rotate: false - xy: 975, 421 + xy: 875, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/poweredconveyormove rotate: false - xy: 985, 421 + xy: 885, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlaser rotate: false - xy: 995, 421 + xy: 895, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlasercorner rotate: false - xy: 885, 411 + xy: 905, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlaserrouter rotate: false - xy: 895, 411 + xy: 915, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduit rotate: false - xy: 905, 411 + xy: 925, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduitbottom rotate: false - xy: 915, 411 + xy: 935, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduittop rotate: false - xy: 925, 411 + xy: 945, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pump rotate: false - xy: 935, 411 + xy: 955, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/repairturret rotate: false - xy: 728, 321 + xy: 853, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/rock1 rotate: false - xy: 945, 411 + xy: 965, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rock2 rotate: false - xy: 955, 411 + xy: 975, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/router rotate: false - xy: 965, 411 + xy: 985, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rtgenerator rotate: false - xy: 975, 411 + xy: 995, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rtgenerator-top rotate: false - xy: 985, 411 + xy: 248, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand1 rotate: false - xy: 995, 411 + xy: 258, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand2 rotate: false - xy: 532, 126 + xy: 268, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand3 rotate: false - xy: 532, 116 + xy: 278, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock1 rotate: false - xy: 530, 106 + xy: 288, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock2 rotate: false - xy: 542, 127 + xy: 298, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock3 rotate: false - xy: 542, 117 + xy: 308, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandedge rotate: false - xy: 535, 197 + xy: 549, 213 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/shadow rotate: false - xy: 728, 309 + xy: 142, 81 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/shieldgenerator rotate: false - xy: 746, 372 + xy: 328, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/shotgunturret rotate: false - xy: 731, 297 + xy: 154, 81 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/shrub rotate: false - xy: 644, 278 + xy: 378, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/shrubshadow rotate: false - xy: 644, 268 + xy: 388, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/smelter rotate: false - xy: 654, 272 + xy: 398, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/smelter-middle rotate: false - xy: 664, 272 + xy: 408, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sniperturret rotate: false - xy: 731, 285 + xy: 166, 81 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/snow1 rotate: false - xy: 674, 272 + xy: 418, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snow2 rotate: false - xy: 684, 272 + xy: 428, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snow3 rotate: false - xy: 644, 258 + xy: 438, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock1 rotate: false - xy: 654, 262 + xy: 448, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock2 rotate: false - xy: 644, 248 + xy: 458, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock3 rotate: false - xy: 654, 252 + xy: 468, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowedge rotate: false - xy: 563, 213 + xy: 549, 199 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/sorter rotate: false - xy: 664, 262 + xy: 478, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelconveyor rotate: false - xy: 644, 238 + xy: 488, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelconveyormove rotate: false - xy: 654, 242 + xy: 478, 77 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelwall rotate: false - xy: 664, 252 + xy: 488, 77 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -993,98 +993,98 @@ blocks/steelwall-large index: -1 blocks/steelwall-large-icon rotate: false - xy: 674, 262 + xy: 498, 80 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone1 rotate: false - xy: 644, 228 + xy: 508, 80 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone2 rotate: false - xy: 654, 232 + xy: 885, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone3 rotate: false - xy: 664, 242 + xy: 895, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock1 rotate: false - xy: 674, 252 + xy: 905, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock2 rotate: false - xy: 684, 262 + xy: 915, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock3 rotate: false - xy: 644, 218 + xy: 925, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stonedrill rotate: false - xy: 654, 222 + xy: 935, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneedge rotate: false - xy: 577, 207 + xy: 577, 193 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/stoneformer rotate: false - xy: 664, 232 + xy: 945, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stonewall rotate: false - xy: 674, 242 + xy: 955, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/teleporter rotate: false - xy: 684, 252 + xy: 965, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/teleporter-top rotate: false - xy: 664, 222 + xy: 975, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/thermalgenerator rotate: false - xy: 674, 232 + xy: 985, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1098,56 +1098,56 @@ blocks/titancannon index: -1 blocks/titancannon-icon rotate: false - xy: 853, 415 + xy: 178, 85 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/titanium1 rotate: false - xy: 684, 242 + xy: 995, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titanium2 rotate: false - xy: 674, 222 + xy: 308, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titanium3 rotate: false - xy: 684, 232 + xy: 318, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumdrill rotate: false - xy: 684, 222 + xy: 328, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumpurifier rotate: false - xy: 647, 208 + xy: 338, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumshieldwall rotate: false - xy: 647, 198 + xy: 348, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumwall rotate: false - xy: 647, 188 + xy: 358, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1161,63 +1161,63 @@ blocks/titaniumwall-large index: -1 blocks/titaniumwall-large-icon rotate: false - xy: 657, 212 + xy: 368, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/turret rotate: false - xy: 142, 81 + xy: 190, 85 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/uranium1 rotate: false - xy: 667, 202 + xy: 408, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uranium2 rotate: false - xy: 677, 212 + xy: 418, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uranium3 rotate: false - xy: 667, 192 + xy: 428, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uraniumdrill rotate: false - xy: 677, 202 + xy: 438, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/water rotate: false - xy: 687, 202 + xy: 468, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/wateredge rotate: false - xy: 577, 193 + xy: 591, 197 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/waveturret rotate: false - xy: 154, 81 + xy: 202, 85 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1231,21 +1231,21 @@ blocks/weaponfactory index: -1 blocks/weaponfactory-icon rotate: false - xy: 687, 192 + xy: 478, 67 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bullet rotate: false - xy: 270, 91 + xy: 284, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 chainbullet rotate: false - xy: 114, 81 + xy: 659, 283 size: 8, 7 orig: 8, 7 offset: 0, 0 @@ -1448,14 +1448,14 @@ enemies/targetenemy-t1 index: -1 enemies/standardenemy-t2 rotate: false - xy: 549, 199 + xy: 563, 199 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 enemies/standardenemy-t3 rotate: false - xy: 563, 199 + xy: 577, 207 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -1504,63 +1504,63 @@ enemies/titanenemy-t3 index: -1 enemyarrow rotate: false - xy: 627, 184 + xy: 117, 1 size: 8, 7 orig: 8, 7 offset: 0, 0 index: -1 icon-coal rotate: false - xy: 330, 85 + xy: 248, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-dirium rotate: false - xy: 340, 85 + xy: 258, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-iron rotate: false - xy: 350, 85 + xy: 268, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-sand rotate: false - xy: 360, 85 + xy: 278, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-steel rotate: false - xy: 370, 85 + xy: 288, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-stone rotate: false - xy: 380, 85 + xy: 298, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-titanium rotate: false - xy: 390, 85 + xy: 308, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-uranium rotate: false - xy: 400, 85 + xy: 318, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1593,37 +1593,44 @@ mechs/mech-standard orig: 12, 12 offset: 0, 0 index: -1 +mechs/mech-standard-icon + rotate: false + xy: 535, 211 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 mechs/ship-standard rotate: false - xy: 549, 213 + xy: 563, 213 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shell rotate: false - xy: 742, 382 + xy: 318, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot rotate: false - xy: 634, 277 + xy: 358, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot-long rotate: false - xy: 634, 267 + xy: 368, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanshell rotate: false - xy: 657, 202 + xy: 378, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1813,7 +1820,7 @@ ui/icons/icon-cancel index: -1 ui/icons/icon-chat rotate: false - xy: 591, 199 + xy: 605, 199 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1848,21 +1855,21 @@ ui/icons/icon-close-over index: -1 ui/icons/icon-crafting rotate: false - xy: 603, 199 + xy: 617, 199 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-cursor rotate: false - xy: 615, 199 + xy: 142, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-defense rotate: false - xy: 142, 93 + xy: 154, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1876,7 +1883,7 @@ ui/icons/icon-discord index: -1 ui/icons/icon-distribution rotate: false - xy: 154, 93 + xy: 166, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1946,14 +1953,14 @@ ui/icons/icon-grid index: -1 ui/icons/icon-hold rotate: false - xy: 166, 93 + xy: 536, 185 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-holdDelete rotate: false - xy: 591, 187 + xy: 536, 173 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1974,7 +1981,7 @@ ui/icons/icon-host index: -1 ui/icons/icon-info rotate: false - xy: 603, 187 + xy: 535, 161 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2016,21 +2023,21 @@ ui/icons/icon-loading index: -1 ui/icons/icon-menu rotate: false - xy: 615, 187 + xy: 535, 149 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-none rotate: false - xy: 536, 185 + xy: 535, 137 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-pause rotate: false - xy: 536, 173 + xy: 722, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2058,7 +2065,7 @@ ui/icons/icon-pick index: -1 ui/icons/icon-play rotate: false - xy: 535, 161 + xy: 722, 403 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2072,21 +2079,21 @@ ui/icons/icon-play-2 index: -1 ui/icons/icon-players rotate: false - xy: 535, 149 + xy: 722, 391 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-power rotate: false - xy: 535, 137 + xy: 734, 416 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-production rotate: false - xy: 722, 415 + xy: 734, 404 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2177,7 +2184,7 @@ ui/icons/icon-save-map index: -1 ui/icons/icon-settings rotate: false - xy: 722, 403 + xy: 734, 392 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2198,14 +2205,14 @@ ui/icons/icon-tools index: -1 ui/icons/icon-touch rotate: false - xy: 722, 391 + xy: 724, 369 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-touchDelete rotate: false - xy: 734, 416 + xy: 724, 357 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2240,7 +2247,7 @@ ui/icons/icon-undo index: -1 ui/icons/icon-weapon rotate: false - xy: 734, 404 + xy: 724, 345 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2318,14 +2325,14 @@ ui/scroll-knob-vertical-black index: -1 ui/selection rotate: false - xy: 644, 215 + xy: 865, 459 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 ui/slider rotate: false - xy: 689, 282 + xy: 474, 95 size: 1, 8 orig: 1, 8 offset: 0, 0 @@ -2434,70 +2441,70 @@ weapons/beam-equip index: -1 weapons/blaster rotate: false - xy: 679, 282 + xy: 244, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/blaster-equip rotate: false - xy: 240, 91 + xy: 254, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/clustergun rotate: false - xy: 280, 91 + xy: 294, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/clustergun-equip rotate: false - xy: 290, 91 + xy: 304, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/shockgun rotate: false - xy: 746, 362 + xy: 338, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/shockgun-equip rotate: false - xy: 746, 352 + xy: 348, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/triblaster rotate: false - xy: 667, 212 + xy: 388, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/triblaster-equip rotate: false - xy: 657, 192 + xy: 398, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/vulcan rotate: false - xy: 677, 192 + xy: 448, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/vulcan-equip rotate: false - xy: 687, 212 + xy: 458, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 253d5eeb63..33ad1545c8 100644 Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 25bd67fced..ef88cebdb7 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -226,7 +226,7 @@ public class Renderer extends RendererModule{ Draw.tscl(0.25f/2); for(Player player : playerGroup.all()){ - if(!player.isLocal){ + if(!player.isLocal && !player.isDead()){ layout.setText(Core.font, player.name); Draw.color(0f, 0f, 0f, 0.3f); Draw.rect("blank", player.x, player.y + 8 - layout.height/2, layout.width + 2, layout.height + 2); diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 328dfee9de..d542db35e5 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -62,7 +62,7 @@ public class Player extends SyncEntity{ return false; } } - return super.collides(other) && !isAndroid; + return !isDead() && super.collides(other) && !isAndroid; } @Override @@ -92,6 +92,7 @@ public class Player extends SyncEntity{ Timers.run(respawnduration + 5f, () -> { heal(); set(world.getSpawnX(), world.getSpawnY()); + interpolator.target.set(x, y); }); } diff --git a/core/src/io/anuke/mindustry/mapeditor/MapEditorDialog.java b/core/src/io/anuke/mindustry/mapeditor/MapEditorDialog.java index d00ef09d1c..97dbcfebf9 100644 --- a/core/src/io/anuke/mindustry/mapeditor/MapEditorDialog.java +++ b/core/src/io/anuke/mindustry/mapeditor/MapEditorDialog.java @@ -145,12 +145,12 @@ public class MapEditorDialog extends Dialog{ build.end(); tapped(() -> { - Element e = getScene().hit(Graphics.mouse().x, Graphics.mouse().y, true); - if(e == null || !e.isDescendantOf(pane)) getScene().setScrollFocus(null); + Element e = Core.scene.hit(Graphics.mouse().x, Graphics.mouse().y, true); + if(e == null || !e.isDescendantOf(pane)) Core.scene.setScrollFocus(null); }); update(() -> { - if(getScene().getKeyboardFocus() == this){ + if(Core.scene != null && Core.scene.getKeyboardFocus() == this){ doInput(); } }); @@ -189,7 +189,7 @@ public class MapEditorDialog extends Dialog{ } public boolean hasPane(){ - return getScene().getScrollFocus() == pane; + return Core.scene.getScrollFocus() == pane; } public void build(){ diff --git a/core/src/io/anuke/mindustry/net/Packets.java b/core/src/io/anuke/mindustry/net/Packets.java index 7c5f8e7223..4a817d21af 100644 --- a/core/src/io/anuke/mindustry/net/Packets.java +++ b/core/src/io/anuke/mindustry/net/Packets.java @@ -265,6 +265,7 @@ public class Packets { entity = (SyncEntity) ClassReflection.newInstance(group.getType()); entity.id = id; entity.readSpawn(buffer); + entity.interpolator.target.set(entity.x, entity.y); }catch (ReflectionException e){ throw new RuntimeException(e); } diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java index f0d4f7e1da..0933cee7b7 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java @@ -8,11 +8,14 @@ import io.anuke.mindustry.net.Packets.KickReason; import io.anuke.mindustry.ui.BorderImage; import io.anuke.ucore.core.Inputs; import io.anuke.ucore.graphics.Draw; +import io.anuke.ucore.scene.Element; import io.anuke.ucore.scene.builders.label; import io.anuke.ucore.scene.builders.table; import io.anuke.ucore.scene.ui.ScrollPane; +import io.anuke.ucore.scene.ui.layout.Stack; import io.anuke.ucore.scene.ui.layout.Table; import io.anuke.ucore.util.Bundles; +import io.anuke.ucore.util.Mathf; import static io.anuke.mindustry.Vars.*; @@ -72,9 +75,27 @@ public class PlayerListFragment implements Fragment{ Table button = new Table("button"); button.left(); button.margin(5).marginBottom(10); - BorderImage image = new BorderImage(Draw.region(player.isAndroid ? "ship-standard" : "mech-standard"), 3f); - button.add(image).size(h); - button.add(player.name).pad(10); + + Stack stack = new Stack(); + BorderImage image = new BorderImage(Draw.region(player.isAndroid ? "ship-standard" : "mech-standard-icon"), 3f); + + stack.add(image); + + if(!player.isAndroid) { + + stack.add(new Element(){ + public void draw(){ + float s = getWidth() / 12f; + for(int i : Mathf.signs){ + Draw.rect((i < 0 ? player.weaponLeft.name : player.weaponRight.name) + + "-equip", x + s * 6 + i * 3*s, y + s*6 + 2*s, -8*s*i, 8*s); + } + } + }); + } + + button.add(stack).size(h); + button.add("[#" + player.getColor().toString().toUpperCase() + "]" + player.name).pad(10); button.add().grow(); if(Net.server() && !player.isLocal){ diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java index b726454101..b13f53d322 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java @@ -30,7 +30,7 @@ public class RepairTurret extends PowerTurret{ list.add("[powerinfo]Power Capacity: " + (int)powerCapacity); list.add("[powerinfo]Power/shot: " + Strings.toFixed(powerUsed, 1)); list.add("[turretinfo]Range: " + (int)range); - list.add("[turretinfo]Repairs/Second: " + Strings.toFixed(60f/reload, 1)); + list.add("[turretinfo]Repairs/Second: " + Strings.toFixed(60f/reload * repairFrac * 100, 1) + "%"); } @Override