Added RTG generator

This commit is contained in:
Anuken
2017-11-19 19:53:21 -05:00
parent 06baed836a
commit 4c53b720c6
10 changed files with 73 additions and 44 deletions

View File

@@ -100,7 +100,7 @@ public class Control extends Module{
spawns = Array.with(
new EnemySpawn(TitanEnemy.class){{
after = 3;
after = 4;
spacing = 2;
scaling = 5;
}},

View File

@@ -17,7 +17,6 @@ public enum Recipe{
titaniumwalllarge(defense, DefenseBlocks.titaniumwalllarge, stack(Item.titanium, 8)),
duriumwalllarge(defense, DefenseBlocks.diriumwalllarge, stack(Item.dirium, 8)),
titaniumshieldwall(defense, DefenseBlocks.titaniumshieldwall, stack(Item.titanium, 2)),
shieldgenerator(defense, DefenseBlocks.shieldgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
conveyor(distribution, DistributionBlocks.conveyor, stack(Item.stone, 1)),
steelconveyor(distribution, DistributionBlocks.steelconveyor, stack(Item.steel, 1)),
@@ -60,11 +59,15 @@ public enum Recipe{
coalgenerator(power, ProductionBlocks.coalgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
thermalgenerator(power, ProductionBlocks.thermalgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
combustiongenerator(power, ProductionBlocks.combustiongenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
rtgenerator(power, ProductionBlocks.rtgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
nuclearreactor(power, ProductionBlocks.nuclearReactor, stack(Item.titanium, 10), stack(Item.dirium, 10)),
powerbooster(power, DistributionBlocks.powerbooster, stack(Item.titanium, 10), stack(Item.dirium, 10)),
powerlaser(power, DistributionBlocks.powerlaser, stack(Item.titanium, 10), stack(Item.dirium, 10)),
powerlaserrouter(power, DistributionBlocks.powerlaserrouter, stack(Item.titanium, 10), stack(Item.dirium, 10)),
teleporter(power, DistributionBlocks.teleporter, stack(Item.titanium, 10), stack(Item.dirium, 10)),
shieldgenerator(power, DefenseBlocks.shieldgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
teleporter(distribution, DistributionBlocks.teleporter, stack(Item.titanium, 10), stack(Item.dirium, 10)),
healturret(power, DefenseBlocks.repairturret, stack(Item.iron, 30)),
megahealturret(power, DefenseBlocks.megarepairturret, stack(Item.iron, 20), stack(Item.steel, 30)),

View File

@@ -46,7 +46,9 @@ public class DistributionBlocks{
},
liquidjunction = new LiquidJunction("liquidjunction"){
{
formalName = "liquid junction";
}
},
liquiditemjunction = new LiquidItemJunction("liquiditemjunction"){
{

View File

@@ -239,7 +239,7 @@ public class ProductionBlocks{
formalName = "thermal generator";
//TODO
generateLiquid = Liquid.lava;
inputLiquid = 5f;
inputLiquid = 20f;
generatePower = 1f;
powerCapacity = 40f;
}
@@ -254,7 +254,7 @@ public class ProductionBlocks{
formalName = "combustion generator";
//TODO
generateLiquid = Liquid.oil;
inputLiquid = 8f;
inputLiquid = 14f;
generatePower = 1f;
powerCapacity = 40f;
}
@@ -264,6 +264,21 @@ public class ProductionBlocks{
return "Generates power from oil.";
}
},
rtgenerator = new ItemPowerGenerator("rtgenerator"){
{
//TODO make this generate slowly
formalName = "radioisotope generator";
generateItem = Item.uranium;
generateAmount = 10f;
powerCapacity = 40f;
generateTime = 50f;
}
@Override
public String description(){
return "Generates small amounts of power from uranium.";
}
},
nuclearReactor = new LiquidItemPowerGenerator("nuclearreactor"){
{
//TODO

View File

@@ -8,11 +8,13 @@ import io.anuke.mindustry.entities.TileEntity;
import io.anuke.mindustry.resource.Item;
import io.anuke.mindustry.world.Tile;
import io.anuke.ucore.core.Effects;
import io.anuke.ucore.core.Timers;
public class ItemPowerGenerator extends Generator{
public int itemCapacity = 20;
public Item generateItem;
public float generateAmount;
public float generateTime = 2f;
public ItemPowerGenerator(String name) {
super(name);
@@ -37,7 +39,7 @@ public class ItemPowerGenerator extends Generator{
public void update(Tile tile){
PowerEntity entity = tile.entity();
if(entity.hasItem(generateItem) && tryAddPower(tile, generateAmount)){
if(Timers.get(tile, "generate", generateTime) && entity.hasItem(generateItem) && tryAddPower(tile, generateAmount)){
Effects.effect(Fx.generate, tile.entity);
entity.removeItem(generateItem, 1);
}