Unspoiled

This commit is contained in:
Anuken
2021-06-02 11:15:30 -04:00
parent 28b235ef07
commit e9129e6f43
85 changed files with 645 additions and 20 deletions

View File

@@ -37,8 +37,11 @@ public class Blocks implements ContentList{
//environment
air, spawn, cliff, deepwater, water, taintedWater, tar, slag, stone, craters, charr, sand, darksand, dirt, mud, ice, snow, darksandTaintedWater, space,
dacite,
dacite, rhyolite, rhyoliteCrater, regolith, yellowStone, redmat, bluemat,
stoneWall, dirtWall, sporeWall, iceWall, daciteWall, sporePine, snowPine, pine, shrubs, whiteTree, whiteTreeDead, sporeCluster,
redweed, purbush, coralChunk, glowBlob, yellowCoral,
regolithWall, yellowStoneWall, rhyoliteWall, carbonWall,
graphiticStone,
iceSnow, sandWater, darksandWater, duneWall, sandWall, moss, sporeMoss, shale, shaleWall, shaleBoulder, sandBoulder, daciteBoulder, boulder, snowBoulder, basaltBoulder, grass, salt,
metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor5, basalt, magmarock, hotrock, snowWall, saltWall,
darkPanel1, darkPanel2, darkPanel3, darkPanel4, darkPanel5, darkPanel6, darkMetal,
@@ -47,9 +50,14 @@ public class Blocks implements ContentList{
//ores
oreCopper, oreLead, oreScrap, oreCoal, oreTitanium, oreThorium,
//wall ores
wallOreBeryl, graphiticWall,
berylWall, //TODO remove?
//crafting
siliconSmelter, siliconCrucible, kiln, graphitePress, plastaniumCompressor, multiPress, phaseWeaver, surgeSmelter, pyratiteMixer, blastMixer, cryofluidMixer,
siliconSmelter, siliconCrucible, siliconArcFurnace, kiln, graphitePress, plastaniumCompressor, multiPress, phaseWeaver, surgeSmelter, pyratiteMixer, blastMixer, cryofluidMixer,
melter, separator, disassembler, sporePress, pulverizer, incinerator, coalCentrifuge,
cellSynthesisChamber,
//sandbox
powerSource, powerVoid, itemSource, itemVoid, liquidSource, liquidVoid, payloadVoid, payloadSource, illuminator,
@@ -73,6 +81,7 @@ public class Blocks implements ContentList{
//production
mechanicalDrill, pneumaticDrill, laserDrill, blastDrill, waterExtractor, oilExtractor, cultivator,
beamDrill,
//storage
coreShard, coreFoundation, coreNucleus, vault, container, unloader,
@@ -93,7 +102,10 @@ public class Blocks implements ContentList{
message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, memoryCell, memoryBank,
//campaign
launchPad, interplanetaryAccelerator,
launchPad, payloadLaunchPad, interplanetaryAccelerator,
//nuclear?
nuclearWarhead, warheadAssembler, ballisticSilo, //TODO
//misc experimental
blockForge, blockLoader, blockUnloader
@@ -278,6 +290,30 @@ public class Blocks implements ContentList{
dacite = new Floor("dacite");
rhyolite = new Floor("rhyolite"){{
attributes.set(Attribute.water, -1f);
}};
rhyoliteCrater = new Floor("rhyolite-crater"){{
attributes.set(Attribute.water, -1f);
blendGroup = rhyolite;
}};
regolith = new Floor("regolith"){{
attributes.set(Attribute.water, -1f);
}};
yellowStone = new Floor("yellow-stone"){{
attributes.set(Attribute.water, -1f);
}};
graphiticStone = new Floor("graphitic-stone"){{
variants = 4;
}};
redmat = new Floor("redmat");
bluemat = new Floor("bluemat");
grass = new Floor("grass"){{
attributes.set(Attribute.water, 0.1f);
}};
@@ -339,6 +375,26 @@ public class Blocks implements ContentList{
basalt.asFloor().wall = darksandWater.asFloor().wall = darksandTaintedWater.asFloor().wall = this;
}};
regolithWall = new StaticWall("regolith-wall"){{
variants = 2;
regolith.asFloor().wall = this;
}};
yellowStoneWall = new StaticWall("yellow-stone-wall"){{
variants = 2;
yellowStone.asFloor().wall = this;
}};
rhyoliteWall = new StaticWall("rhyolite-wall"){{
variants = 2;
rhyolite.asFloor().wall = rhyoliteCrater.asFloor().wall = this;
}};
carbonWall = new StaticWall("carbon-wall"){{
variants = 2;
graphiticStone.asFloor().wall = this;
}};
sandWall = new StaticWall("sand-wall"){{
variants = 2;
sandWater.asFloor().wall = water.asFloor().wall = deepwater.asFloor().wall = this;
@@ -372,6 +428,29 @@ public class Blocks implements ContentList{
variants = 3;
}};
redweed = new Seaweed("redweed"){{
variants = 3;
}};
purbush = new SeaBush("pur-bush"){{
}};
yellowCoral = new SeaBush("yellowcoral"){{
lobesMin = 2;
lobesMax = 3;
magMax = 8f;
magMin = 2f;
origin = 0.3f;
spread = 40f;
sclMin = 60f;
sclMax = 100f;
}};
coralChunk = new StaticCoralWall("coralchunk"){{
}};
//glowBlob = new Prop("glowblob"){{
// variants = 1;
//}};
@@ -482,6 +561,20 @@ public class Blocks implements ContentList{
oreScale = 25.380953f;
}};
//endregion
//region wall ore
wallOreBeryl = new WallOreBlock(Items.beryllium);
berylWall = new StaticWall("beryl-wall"){{
itemDrop = Items.beryllium;
}};
graphiticWall = new StaticWall("graphitic-wall"){{
itemDrop = Items.graphite;
variants = 3;
}};
//endregion
//region crafting
@@ -544,6 +637,24 @@ public class Blocks implements ContentList{
consumes.power(4f);
}};
//TODO
siliconArcFurnace = new GenericCrafter("silicon-arc-furnace"){{
requirements(Category.crafting, with(Items.thorium, 200, Items.metaglass, 120, Items.beryllium, 40, Items.silicon, 80));
craftEffect = Fx.none;
outputItem = new ItemStack(Items.silicon, 5);
craftTime = 40f;
size = 3;
hasPower = true;
hasLiquids = false;
envEnabled |= Env.space | Env.underwater;
itemCapacity = 30;
drawer = new DrawArcSmelter();
//TODO don't use sand?
consumes.items(with(Items.graphite, 1, Items.sand, 4));
consumes.power(6f);
}};
kiln = new GenericCrafter("kiln"){{
requirements(Category.crafting, with(Items.copper, 60, Items.graphite, 30, Items.lead, 30));
craftEffect = Fx.smeltsmoke;
@@ -741,6 +852,35 @@ public class Blocks implements ContentList{
consumes.power(0.50f);
}};
cellSynthesisChamber = new LiquidConverter("cell-synthesis-chamber"){{
//TODO booster mechanics?
requirements(Category.crafting, with(Items.thorium, 100, Items.phaseFabric, 120, Items.titanium, 150, Items.surgeAlloy, 70));
outputLiquid = new LiquidStack(Liquids.neoplasm, 0.4f);
craftTime = 200f;
size = 3;
hasPower = true;
hasItems = true;
hasLiquids = true;
rotate = false;
solid = true;
outputsLiquid = true;
drawer = new DrawCells(){{
color = Color.valueOf("9e172c");
particleColorFrom = Color.valueOf("9e172c");
particleColorTo = Color.valueOf("f98f4a");
radius = 2.5f;
lifetime = 1400f;
recurrence = 2f;
particles = 20;
range = 3f;
}};
liquidCapacity = 30f;
consumes.power(2f);
consumes.items(with(Items.sporePod, 3, Items.phaseFabric, 1));
consumes.liquid(Liquids.water, 0.8f);
}};
//endregion
//region defense
@@ -1033,17 +1173,17 @@ public class Blocks implements ContentList{
//special transport blocks
duct = new Duct("duct"){{
requirements(Category.distribution, BuildVisibility.debugOnly, with(Items.graphite, 5, Items.copper, 5));
requirements(Category.distribution, with(Items.graphite, 5, Items.copper, 5));
speed = 5f;
}};
ductRouter = new DuctRouter("duct-router"){{
requirements(Category.distribution, BuildVisibility.debugOnly, with(Items.graphite, 10, Items.copper, 5));
requirements(Category.distribution, with(Items.graphite, 10, Items.copper, 5));
speed = 5f;
}};
ductBridge = new DuctBridge("duct-bridge"){{
requirements(Category.distribution, BuildVisibility.debugOnly, with(Items.graphite, 20, Items.copper, 15));
requirements(Category.distribution, with(Items.graphite, 20, Items.copper, 15));
}};
//endregion
@@ -1356,6 +1496,14 @@ public class Blocks implements ContentList{
consumes.liquid(Liquids.water, 0.15f);
}};
beamDrill = new BeamDrill("beam-drill"){{
requirements(Category.production, with(Items.copper, 150));
consumes.power(0.2f);
tier = 4;
size = 2;
range = 4;
}};
//endregion
//region storage
@@ -2121,6 +2269,15 @@ public class Blocks implements ContentList{
consumes.power(4f);
}};
//TODO
payloadLaunchPad = new PayloadLaunchPad("payload-launch-pad"){{
requirements(Category.units, BuildVisibility.debugOnly, ItemStack.with(Items.titanium, 200, Items.silicon, 150, Items.lead, 250, Items.plastanium, 75));
size = 5;
launchTime = 60f;
hasPower = true;
consumes.power(7f);
}};
interplanetaryAccelerator = new Accelerator("interplanetary-accelerator"){{
requirements(Category.effect, BuildVisibility.campaignOnly, with(Items.copper, 16000, Items.silicon, 11000, Items.thorium, 13000, Items.titanium, 12000, Items.surgeAlloy, 6000, Items.phaseFabric, 5000));
researchCostMultiplier = 0.1f;
@@ -2131,6 +2288,23 @@ public class Blocks implements ContentList{
health = size * size * 80;
}};
nuclearWarhead = new NuclearWarhead("nuclear-warhead"){{
requirements(Category.crafting, BuildVisibility.debugOnly, with(Items.thorium, 40));
size = 2;
}};
warheadAssembler = new SingleBlockProducer("warhead-assembler"){{
requirements(Category.crafting, BuildVisibility.debugOnly, with(Items.thorium, 100));
result = nuclearWarhead;
size = 3;
buildSpeed = 0.3f;
}};
ballisticSilo = new BallisticSilo("ballistic-silo"){{
requirements(Category.crafting, BuildVisibility.debugOnly, with(Items.thorium, 100));
size = 5;
}};
//endregion campaign
//region logic

View File

@@ -7,7 +7,8 @@ import mindustry.type.*;
public class Items implements ContentList{
public static Item
scrap, copper, lead, graphite, coal, titanium, thorium, silicon, plastanium,
phaseFabric, surgeAlloy, sporePod, sand, blastCompound, pyratite, metaglass;
phaseFabric, surgeAlloy, sporePod, sand, blastCompound, pyratite, metaglass,
beryllium, fissileMatter;
@Override
public void load(){
@@ -91,5 +92,15 @@ public class Items implements ContentList{
flammability = 1.4f;
explosiveness = 0.4f;
}};
beryllium = new Item("beryllium", Color.valueOf("3a8f64")){{
hardness = 4;
cost = 1.3f;
}};
fissileMatter = new Item("fissile-matter", Color.valueOf("536631")){{
hardness = 4;
radioactivity = 1.5f;
}};
}
}

View File

@@ -5,7 +5,7 @@ import mindustry.ctype.*;
import mindustry.type.*;
public class Liquids implements ContentList{
public static Liquid water, slag, oil, cryofluid;
public static Liquid water, slag, oil, cryofluid, neoplasm, rovazide;
@Override
public void load(){
@@ -38,5 +38,17 @@ public class Liquids implements ContentList{
effect = StatusEffects.freezing;
lightColor = Color.valueOf("0097f5").a(0.2f);
}};
neoplasm = new Liquid("neoplasm", Color.valueOf("e05438")){{
heatCapacity = 0.4f;
temperature = 0.54f;
viscosity = 0.65f;
flammability = 0.1f;
}};
//rovazide = new Liquid("rovafuel", Color.valueOf("9dde68")){{
// flammability = 1.5f;
// explosiveness = 3f;
//}};
}
}

View File

@@ -9,6 +9,8 @@ import mindustry.type.*;
public class Planets implements ContentList{
public static Planet
sun,
erekir,
tantros,
serpulo;
@Override
@@ -30,6 +32,25 @@ public class Planets implements ContentList{
);
}};
erekir = new Planet("erekir", sun, 2, 1){{
generator = new ErekirPlanetGenerator();
meshLoader = () -> new HexMesh(this, 4);
atmosphereColor = Color.valueOf("f07218");
startSector = 10;
atmosphereRadIn = 0.02f;
atmosphereRadOut = 0.3f;
tidalLock = true;
}};
tantros = new Planet("tantros", sun, 2, 1){{
generator = new TantrosPlanetGenerator();
meshLoader = () -> new HexMesh(this, 4);
atmosphereColor = Color.valueOf("3db899");
startSector = 10;
atmosphereRadIn = -0.01f;
atmosphereRadOut = 0.3f;
}};
serpulo = new Planet("serpulo", sun, 3, 1){{
generator = new SerpuloPlanetGenerator();
meshLoader = () -> new HexMesh(this, 6);