Added cool new reconstructors™️
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 763 B After Width: | Height: | Size: 757 B |
|
Before Width: | Height: | Size: 862 KiB After Width: | Height: | Size: 865 KiB |
|
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 278 KiB After Width: | Height: | Size: 279 KiB |
|
Before Width: | Height: | Size: 926 KiB After Width: | Height: | Size: 915 KiB |
@@ -77,7 +77,9 @@ public class Blocks implements ContentList{
|
|||||||
duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, spectre, meltdown, segment,
|
duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, spectre, meltdown, segment,
|
||||||
|
|
||||||
//units
|
//units
|
||||||
groundFactory, airFactory, navalFactory, basicReconstructor, advancedReconstructor, repairPoint,
|
groundFactory, airFactory, navalFactory,
|
||||||
|
reconstructorBasis, reconstructorMorphism, reconstructorFunctor, reconstructorPrime,
|
||||||
|
repairPoint,
|
||||||
|
|
||||||
//campaign
|
//campaign
|
||||||
launchPad, launchPadLarge, coreSilo, dataProcessor,
|
launchPad, launchPadLarge, coreSilo, dataProcessor,
|
||||||
@@ -1755,7 +1757,7 @@ public class Blocks implements ContentList{
|
|||||||
consumes.power(1.2f);
|
consumes.power(1.2f);
|
||||||
}};
|
}};
|
||||||
|
|
||||||
basicReconstructor = new Reconstructor("basic-reconstructor"){{
|
reconstructorBasis = new Reconstructor("reconstructor-basis"){{
|
||||||
requirements(Category.units, ItemStack.with(Items.copper, 50, Items.lead, 120, Items.silicon, 230));
|
requirements(Category.units, ItemStack.with(Items.copper, 50, Items.lead, 120, Items.silicon, 230));
|
||||||
|
|
||||||
size = 3;
|
size = 3;
|
||||||
@@ -1773,7 +1775,7 @@ public class Blocks implements ContentList{
|
|||||||
};
|
};
|
||||||
}};
|
}};
|
||||||
|
|
||||||
advancedReconstructor = new Reconstructor("advanced-reconstructor"){{
|
reconstructorMorphism = new Reconstructor("reconstructor-morphism"){{
|
||||||
requirements(Category.units, ItemStack.with(Items.copper, 50, Items.lead, 120, Items.silicon, 230));
|
requirements(Category.units, ItemStack.with(Items.copper, 50, Items.lead, 120, Items.silicon, 230));
|
||||||
|
|
||||||
size = 5;
|
size = 5;
|
||||||
@@ -1789,6 +1791,35 @@ public class Blocks implements ContentList{
|
|||||||
};
|
};
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
//TODO finish these
|
||||||
|
reconstructorFunctor = new Reconstructor("reconstructor-functor"){{
|
||||||
|
requirements(Category.units, ItemStack.with(Items.copper, 50, Items.lead, 120, Items.silicon, 230));
|
||||||
|
|
||||||
|
size = 7;
|
||||||
|
consumes.power(6f);
|
||||||
|
consumes.items(ItemStack.with(Items.silicon, 60, Items.titanium, 60));
|
||||||
|
itemCapacity = 80;
|
||||||
|
|
||||||
|
constructTime = 60f * 15f;
|
||||||
|
|
||||||
|
upgrades = new UnitType[][]{
|
||||||
|
};
|
||||||
|
}};
|
||||||
|
|
||||||
|
reconstructorPrime = new Reconstructor("reconstructor-prime"){{
|
||||||
|
requirements(Category.units, ItemStack.with(Items.copper, 50, Items.lead, 120, Items.silicon, 230));
|
||||||
|
|
||||||
|
size = 9;
|
||||||
|
consumes.power(6f);
|
||||||
|
consumes.items(ItemStack.with(Items.silicon, 60, Items.titanium, 60));
|
||||||
|
itemCapacity = 80;
|
||||||
|
|
||||||
|
constructTime = 60f * 15f;
|
||||||
|
|
||||||
|
upgrades = new UnitType[][]{
|
||||||
|
};
|
||||||
|
}};
|
||||||
|
|
||||||
repairPoint = new RepairPoint("repair-point"){{
|
repairPoint = new RepairPoint("repair-point"){{
|
||||||
requirements(Category.units, ItemStack.with(Items.lead, 15, Items.copper, 15, Items.silicon, 15));
|
requirements(Category.units, ItemStack.with(Items.lead, 15, Items.copper, 15, Items.silicon, 15));
|
||||||
repairSpeed = 0.5f;
|
repairSpeed = 0.5f;
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
org.gradle.daemon=true
|
org.gradle.daemon=true
|
||||||
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
||||||
archash=
|
archash=687070d8d8e81d8d89156062eabf017fde9408ed
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ sourceSets.main.java.srcDirs = ["src/"]
|
|||||||
import arc.struct.*
|
import arc.struct.*
|
||||||
import arc.graphics.*
|
import arc.graphics.*
|
||||||
import arc.packer.*
|
import arc.packer.*
|
||||||
|
import arc.util.Tmp
|
||||||
|
|
||||||
import javax.imageio.ImageIO
|
import javax.imageio.ImageIO
|
||||||
import java.awt.*
|
import java.awt.*
|
||||||
@@ -261,6 +262,35 @@ task swapColors(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task genPalette(){
|
||||||
|
doLast{
|
||||||
|
def total = 0
|
||||||
|
def size = 32
|
||||||
|
def outImage = new BufferedImage(size, size, BufferedImage.TYPE_INT_ARGB)
|
||||||
|
def colorsUsed = new IntSet()
|
||||||
|
|
||||||
|
fileTree(dir: '../core/assets-raw/sprites/blocks', include: "**/*.png").visit{ file ->
|
||||||
|
if(file.isDirectory()) return
|
||||||
|
|
||||||
|
def img = ImageIO.read(file.file)
|
||||||
|
for(x in (0..img.getWidth() - 1)){
|
||||||
|
for(y in (0..img.getHeight() - 1)){
|
||||||
|
def c = img.getRGB(x, y)
|
||||||
|
|
||||||
|
if(Tmp.c1.argb8888(c).a > 0.999f && colorsUsed.add(c)){
|
||||||
|
outImage.setRGB((int)(total / size), total % size, c)
|
||||||
|
total ++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ImageIO.write(outImage, "png", new File("palette.png"))
|
||||||
|
println "Found $total colors."
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
task antialiasImages(){
|
task antialiasImages(){
|
||||||
doLast{
|
doLast{
|
||||||
for(def img : project.getProperty("images").split(",")){
|
for(def img : project.getProperty("images").split(",")){
|
||||||
|
|||||||