Merge branch '6.0' into crater

# Conflicts:
#	core/assets/icons/icons.properties
#	core/assets/sprites/block_colors.png
#	core/assets/sprites/sprites.atlas
#	core/assets/sprites/sprites.png
#	core/assets/sprites/sprites2.png
#	core/assets/sprites/sprites4.png
#	core/assets/sprites/sprites6.png
This commit is contained in:
Patrick 'Quezler' Mounier
2020-04-16 22:38:51 +02:00
19 changed files with 373 additions and 10 deletions

View File

@@ -18,6 +18,7 @@ import mindustry.world.blocks.defense.*;
import mindustry.world.blocks.defense.turrets.*;
import mindustry.world.blocks.distribution.*;
import mindustry.world.blocks.environment.*;
import mindustry.world.blocks.experimental.*;
import mindustry.world.blocks.legacy.*;
import mindustry.world.blocks.liquid.*;
import mindustry.world.blocks.logic.*;
@@ -76,7 +77,11 @@ public class Blocks implements ContentList{
duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, spectre, meltdown,
//units
groundFactory, repairPoint
groundFactory, repairPoint,
//misc experimental
blockForge, blockLauncher;
;
@@ -1733,6 +1738,23 @@ public class Blocks implements ContentList{
new LegacyUnitFactory("legacy-unit-factory");
new LegacyCommandCenter("legacy-command-center");
//endregion
//region experimental
blockForge = new BlockForge("block-forge"){{
requirements(Category.production, ItemStack.with(Items.thorium, 100));
hasPower = true;
consumes.power(2f);
size = 3;
}};
blockLauncher = new BlockLauncher("block-launcher"){{
requirements(Category.production, ItemStack.with(Items.thorium, 100));
size = 3;
hasPower = true;
consumes.power(2f);
}};
//endregion
}
}

View File

@@ -12,6 +12,8 @@ import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.type.*;
import mindustry.ui.*;
import mindustry.world.*;
import mindustry.world.blocks.experimental.BlockLauncher.*;
import static arc.graphics.g2d.Draw.*;
import static arc.graphics.g2d.Lines.*;
@@ -86,6 +88,20 @@ public class Fx{
Fill.circle(x, y, e.fslope() * 1.5f * size);
}),
blockTransfer = new Effect(25f, e -> {
if(!(e.data instanceof LaunchedBlock)) return;
LaunchedBlock l = e.data();
Block block = l.block;
Position to = Tmp.v3.set(l.x * tilesize, l.y * tilesize).add(block.offset(), block.offset());
Tmp.v1.set(e.x, e.y).interpolate(Tmp.v2.set(to), e.fin(), Interpolation.linear);
float x = Tmp.v1.x, y = Tmp.v1.y;
Draw.rect(block.icon(Cicon.full), x, y);
}),
lightning = new Effect(10f, 500f, e -> {
if(!(e.data instanceof Array)) return;
Array<Vec2> lines = e.data();