Added long descriptions for all blocks
This commit is contained in:
@@ -56,6 +56,10 @@ public class Control extends Module{
|
||||
|
||||
UCore.log("Total blocks loaded: " + Block.getAllBlocks().size);
|
||||
|
||||
for(Block block : Block.getAllBlocks()){
|
||||
block.postInit();
|
||||
}
|
||||
|
||||
Draw.setCircleVertices(14);
|
||||
|
||||
Gdx.input.setCatchBackKey(true);
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.badlogic.gdx.utils.TimeUtils;
|
||||
|
||||
import io.anuke.mindustry.GameState.State;
|
||||
import io.anuke.mindustry.io.Formatter;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.blocks.*;
|
||||
import io.anuke.ucore.core.Inputs;
|
||||
import io.anuke.ucore.core.Timers;
|
||||
@@ -31,12 +32,12 @@ public class Mindustry extends ModuleCore {
|
||||
|
||||
};
|
||||
//always initialize blocks in this order, otherwise there are ID errors
|
||||
public Class<?>[] blockClasses = new Class<?>[]{
|
||||
Blocks.class,
|
||||
DefenseBlocks.class,
|
||||
DistributionBlocks.class,
|
||||
ProductionBlocks.class,
|
||||
WeaponBlocks.class
|
||||
public Block[] blockClasses = {
|
||||
Blocks.air,
|
||||
DefenseBlocks.compositewall,
|
||||
DistributionBlocks.conduit,
|
||||
ProductionBlocks.coaldrill,
|
||||
WeaponBlocks.chainturret
|
||||
};
|
||||
|
||||
@Override
|
||||
|
||||
@@ -679,7 +679,7 @@ public class UI extends SceneModule{
|
||||
FloatingDialog d = new FloatingDialog("Block Info");
|
||||
Table top = new Table();
|
||||
top.left();
|
||||
top.add(new Image(region)).size(8*5).units(Unit.dp);
|
||||
top.add(new Image(Draw.region(recipe.result.name))).size(8*5 * recipe.result.width).units(Unit.dp);
|
||||
top.add("[orange]"+recipe.result.formalName).padLeft(6f).units(Unit.dp);
|
||||
d.content().add(top).fill().left();
|
||||
d.content().row();
|
||||
@@ -689,7 +689,7 @@ public class UI extends SceneModule{
|
||||
d.hide();
|
||||
}).size(110, 50).pad(10f).units(Unit.dp);
|
||||
d.show();
|
||||
}).fillX().top().right().size(36f, 40f).units(Unit.dp);
|
||||
}).expandX().padLeft(4).top().right().size(36f, 40f).units(Unit.dp);
|
||||
}
|
||||
|
||||
|
||||
@@ -722,8 +722,8 @@ public class UI extends SceneModule{
|
||||
|
||||
desctable.row();
|
||||
|
||||
Label label = new Label("[health]health: " + recipe.result.health + (recipe.result.description() == null ?
|
||||
"" : ("\n[]" + recipe.result.description())));
|
||||
Label label = new Label("[health]health: " + recipe.result.health + (recipe.result.description == null ?
|
||||
"" : ("\n[]" + recipe.result.description)));
|
||||
label.setWrap(true);
|
||||
desctable.add(label).width(200).padTop(4).padBottom(2).units(Unit.dp);
|
||||
|
||||
|
||||
@@ -57,8 +57,10 @@ public class Block{
|
||||
public Liquid liquidDrop = null;
|
||||
/**multiblock width/height*/
|
||||
public int width = 1, height = 1;
|
||||
/**Brief block description. Should be short enough fit in the place menu.*/
|
||||
public String description;
|
||||
/**Detailed description of the block. Can be as long as necesary.*/
|
||||
public String fullDescription; //TODO show this
|
||||
public String fullDescription;
|
||||
|
||||
public Block(String name) {
|
||||
blocks.add(this);
|
||||
@@ -72,15 +74,12 @@ public class Block{
|
||||
public void drawOver(Tile tile){}
|
||||
public void drawPixelOverlay(Tile tile){}
|
||||
public void drawPlace(int x, int y, boolean valid){}
|
||||
public void postInit(){}
|
||||
|
||||
public String name(){
|
||||
return name;
|
||||
}
|
||||
|
||||
public String description(){
|
||||
return null;
|
||||
}
|
||||
|
||||
public String errorMessage(Tile tile){
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -13,27 +13,30 @@ public class DefenseBlocks{
|
||||
stonewall = new Wall("stonewall"){{
|
||||
health = 50;
|
||||
formalName = "stone wall";
|
||||
fullDescription =
|
||||
"A cheap defensive block. Useful for protecting the core and turrets in the first few waves.";
|
||||
fullDescription = "A cheap defensive block. Useful for protecting the core and turrets in the first few waves.";
|
||||
}},
|
||||
|
||||
ironwall = new Wall("ironwall"){{
|
||||
health = 80;
|
||||
formalName = "iron wall";
|
||||
fullDescription = "A basic defensive block. Provides protection from enemies.";
|
||||
}},
|
||||
|
||||
steelwall = new Wall("steelwall"){{
|
||||
health = 110;
|
||||
formalName = "steel wall";
|
||||
fullDescription = "A standard defensive block. adequate protection from enemies.";
|
||||
}},
|
||||
|
||||
titaniumwall = new Wall("titaniumwall"){{
|
||||
health = 150;
|
||||
formalName = "titanium wall";
|
||||
fullDescription = "A strong defensive block. Provides protection from enemies.";
|
||||
}},
|
||||
diriumwall = new Wall("duriumwall"){{
|
||||
health = 190;
|
||||
formalName = "dirium wall";
|
||||
fullDescription = "A very strong defensive block. Provides protection from enemies.";
|
||||
}},
|
||||
compositewall = new Wall("compositewall"){{
|
||||
health = 270;
|
||||
@@ -43,24 +46,31 @@ public class DefenseBlocks{
|
||||
health = 110*4;
|
||||
formalName = "large steel wall";
|
||||
width = height = 2;
|
||||
fullDescription = "A standard defensive block. Spans multiple tiles.";
|
||||
}},
|
||||
titaniumwalllarge = new Wall("titaniumwall-large"){{
|
||||
health = 150*4;
|
||||
formalName = "large titanium wall";
|
||||
width = height = 2;
|
||||
fullDescription = "A strong defensive block. Spans multiple tiles.";
|
||||
}},
|
||||
diriumwalllarge = new Wall("duriumwall-large"){{
|
||||
health = 190*4;
|
||||
formalName = "large dirium wall";
|
||||
width = height = 2;
|
||||
fullDescription = "A very strong defensive block. Spans multiple tiles.";
|
||||
}},
|
||||
titaniumshieldwall = new ShieldedWallBlock("titaniumshieldwall"){{
|
||||
fullDescription = "A strong defensive block, with an extra built-in shield. Requires power. "
|
||||
+ "Uses energy to absorb enemy bullets. It is recommended to use power boosters to provide energy to this block.";
|
||||
health = 150;
|
||||
formalName = "shielded wall";
|
||||
}},
|
||||
|
||||
repairturret = new RepairTurret("repairturret"){
|
||||
{
|
||||
fullDescription = "Repairs nearby damaged blocks in range at a slow rate. "
|
||||
+ "Uses small amounts of power.";
|
||||
formalName = "heal turret";
|
||||
range = 30;
|
||||
reload = 40f;
|
||||
@@ -70,6 +80,8 @@ public class DefenseBlocks{
|
||||
|
||||
megarepairturret = new RepairTurret("megarepairturret"){
|
||||
{
|
||||
fullDescription = "Repairs nearby damaged blocks in range at a decent rate. "
|
||||
+ "Uses power.";
|
||||
formalName = "heal turret II";
|
||||
range = 44;
|
||||
reload = 20f;
|
||||
@@ -80,6 +92,8 @@ public class DefenseBlocks{
|
||||
shieldgenerator = new ShieldBlock("shieldgenerator"){
|
||||
{
|
||||
//TODO
|
||||
fullDescription = "An advanced defensive block. Shields all the blocks in a radius from attack. Uses power at a slow rate when idle, "
|
||||
+ "but drains energy quickly on bullet contact.";
|
||||
formalName = "shield generator";
|
||||
}
|
||||
};
|
||||
|
||||
@@ -9,27 +9,36 @@ public class DistributionBlocks{
|
||||
public static final Block
|
||||
|
||||
conduit = new LiquidBlock("conduit"){{
|
||||
fullDescription = "Basic liquid transport block. Works like a conveyor, but with liquids. "
|
||||
+ "Best used with pumps or other conduits.";
|
||||
health = 45;
|
||||
}},
|
||||
|
||||
pulseconduit = new LiquidBlock("pulseconduit"){{
|
||||
fullDescription = "Advanced liquid transport block. Transports liquids faster and stores more than standard conduits.";
|
||||
liquidCapacity = 16f;
|
||||
flowfactor = 4.9f;
|
||||
health = 65;
|
||||
}},
|
||||
|
||||
liquidrouter = new LiquidRouter("liquidrouter"){{
|
||||
description = "Splits input liquid into 3 directions.";
|
||||
fullDescription = "Works similarly to a router. Accepts liquid input from one side and outputs it to the other sides. "
|
||||
+ "Useful for splitting liquid from a single conduit into multiple other conduits.";
|
||||
formalName = "liquid router";
|
||||
}},
|
||||
|
||||
conveyor = new Conveyor("conveyor"){{
|
||||
|
||||
description = "Moves items.";
|
||||
fullDescription = "Basic item transport block. Moves items forward and automatically deposits them into turrets or crafters. "
|
||||
+ "Can be rotated.";
|
||||
}},
|
||||
|
||||
steelconveyor = new Conveyor("steelconveyor"){{
|
||||
health = 55;
|
||||
speed = 0.04f;
|
||||
formalName = "steel conveyor";
|
||||
fullDescription = "Advanced item transport block. Moves items faster than standard conveyors.";
|
||||
}},
|
||||
|
||||
//TODO
|
||||
@@ -37,47 +46,56 @@ public class DistributionBlocks{
|
||||
health = 90;
|
||||
speed = 0.09f;
|
||||
formalName = "pulse conveyor";
|
||||
fullDescription = "The ultimate item transport block. Moves items faster than steel conveyors.";
|
||||
}},
|
||||
|
||||
router = new Router("router"){
|
||||
},
|
||||
router = new Router("router"){{
|
||||
description = "Split input materials into 3 directions.";
|
||||
fullDescription = "Accepts items from one direction and outputs them to 3 other directions. Can also store a certain amount of items."
|
||||
+ "Useful for splitting the materials from one drill into multiple turrets.";
|
||||
}},
|
||||
|
||||
junction = new Junction("junction"){
|
||||
junction = new Junction("junction"){{
|
||||
description = "Serves as a conveyor junction.";
|
||||
fullDescription = "Acts as a bridge for two crossing conveyor belts. Useful in situations with "
|
||||
+ "two different conveyors carrying different materials to different locations.";
|
||||
|
||||
},
|
||||
liquidjunction = new LiquidJunction("liquidjunction"){
|
||||
{
|
||||
formalName = "liquid junction";
|
||||
}
|
||||
},
|
||||
liquiditemjunction = new LiquidItemJunction("liquiditemjunction"){
|
||||
{
|
||||
formalName = "liquid-item junction";
|
||||
}
|
||||
},
|
||||
powerbooster = new PowerBooster("powerbooster"){
|
||||
{
|
||||
formalName = "power booster";
|
||||
}
|
||||
},
|
||||
powerlaser = new PowerLaser("powerlaser"){
|
||||
{
|
||||
formalName = "power laser";
|
||||
}
|
||||
},
|
||||
powerlaserrouter = new PowerLaserRouter("powerlaserrouter"){
|
||||
{
|
||||
formalName = "laser router";
|
||||
}
|
||||
},
|
||||
teleporter = new Teleporter("teleporter"){
|
||||
{
|
||||
|
||||
}
|
||||
},
|
||||
sorter = new Sorter("sorter"){
|
||||
{
|
||||
|
||||
}
|
||||
};
|
||||
}},
|
||||
liquidjunction = new LiquidJunction("liquidjunction"){{
|
||||
formalName = "liquid junction";
|
||||
description = "Serves as a liquid junction.";
|
||||
fullDescription = "Acts as a bridge for two crossing conduits. Useful in situations with "
|
||||
+ "two different conduits carrying different liquids to different locations.";
|
||||
}},
|
||||
liquiditemjunction = new LiquidItemJunction("liquiditemjunction"){{
|
||||
formalName = "liquid-item junction";
|
||||
description = "Serves as a junction for items and liquids.";
|
||||
fullDescription = "Acts as a bridge for crossing conduits and conveyors.";
|
||||
}},
|
||||
powerbooster = new PowerBooster("powerbooster"){{
|
||||
formalName = "power booster";
|
||||
powerRange = 4;
|
||||
fullDescription = "Distributes power to all blocks within its radius. ";
|
||||
}},
|
||||
powerlaser = new PowerLaser("powerlaser"){{
|
||||
formalName = "power laser";
|
||||
fullDescription = "Creates a laser that transmits power to the block in front of it. Does not generate any power itself. "
|
||||
+ "Best used with generators or other lasers.";
|
||||
}},
|
||||
powerlaserrouter = new PowerLaserRouter("powerlaserrouter"){{
|
||||
formalName = "laser router";
|
||||
fullDescription = "Laser that distributes power to three directions at once. "
|
||||
+ "Useful in situations where it is required to power multiple blocks from one generator.";
|
||||
}},
|
||||
teleporter = new Teleporter("teleporter"){{
|
||||
description = "[interact]Tap block to config[]\nTeleports items to others of the same color.";
|
||||
fullDescription = "Advanced item transport block. Teleporters input items to other teleporters of the same color."
|
||||
+ " Does nothing if no teleporters of the same color exist. If multiple teleporters exist of the same color, a random one is selected."
|
||||
+ " Tap and click the arrows to change color.";
|
||||
}},
|
||||
sorter = new Sorter("sorter"){{
|
||||
description = "[interact]Tap block to config[]\nSorts input items by type.";
|
||||
fullDescription = "Sorts item by material type. Material to accept is indicated by the color in the block. "
|
||||
+ "All items that match the sort material are outputted forward, everything else is outputted to the left and right.";
|
||||
}};
|
||||
}
|
||||
|
||||
@@ -39,11 +39,14 @@ public class ProductionBlocks{
|
||||
},
|
||||
|
||||
pump = new Pump("pump"){{
|
||||
|
||||
description = "Pumps liquids into nearby conduits.";
|
||||
fullDescription = "Pumps liquids from a source block- usually water, lava or oil. Outputs liquid into nearby conduits.";
|
||||
}},
|
||||
|
||||
fluxpump = new Pump("fluxpump"){{
|
||||
pumpspeed = 3f;
|
||||
description = "Pumps liquids into nearby conduits.";
|
||||
fullDescription = "An advanced version of the pump. Stores more liquid and pumps liquid faster.";
|
||||
}},
|
||||
|
||||
smelter = new Crafter("smelter"){
|
||||
@@ -51,11 +54,8 @@ public class ProductionBlocks{
|
||||
health = 70;
|
||||
requirements = new Item[]{Item.coal, Item.iron};
|
||||
result = Item.steel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Converts coal + iron to steel.";
|
||||
description = "Converts coal + iron to steel.";
|
||||
fullDescription = "The essential crafting block. When inputted 1x iron and 1x iron, outputs one steel.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -64,11 +64,8 @@ public class ProductionBlocks{
|
||||
health = 90;
|
||||
requirements = new Item[]{Item.titanium, Item.steel};
|
||||
result = Item.dirium;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Converts steel + titanium to dirium.";
|
||||
description = "Converts steel + titanium to dirium.";
|
||||
fullDescription = "An advanced crafting block. When inputted 1x titanium and 1x steel, outputs one dirium.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -82,11 +79,8 @@ public class ProductionBlocks{
|
||||
output = Item.coal;
|
||||
health = 50;
|
||||
purifyTime = 60;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Converts stone + water to coal.";
|
||||
description = "Converts stone + water to coal.";
|
||||
fullDescription = "A basic extractor block. Outputs coal when supplied with large amounts of water and stone.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -101,11 +95,8 @@ public class ProductionBlocks{
|
||||
purifyTime = 80;
|
||||
output = Item.titanium;
|
||||
health = 70;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Converts iron + water to titanium.";
|
||||
description = "Converts iron + water to titanium.";
|
||||
fullDescription = "A standard extractor block. Outputs titanium when supplied with large amounts of water and iron.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -119,11 +110,8 @@ public class ProductionBlocks{
|
||||
output = Item.coal;
|
||||
health = 80;
|
||||
craftEffect = Fx.purifyoil;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Converts oil to coal.";
|
||||
description = "Converts oil to coal.";
|
||||
fullDescription = "Refines large amounts of oil into coal items. Useful for fueling coal-based turrets when coal veins are scarce.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -139,11 +127,8 @@ public class ProductionBlocks{
|
||||
output = Item.stone;
|
||||
health = 80;
|
||||
craftEffect = Fx.purifystone;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Converts lava to stone.";
|
||||
description = "Converts lava to stone.";
|
||||
fullDescription = "Soldifies liquid lava into stone. Useful for producing massive amounts of stone for coal purifiers.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -153,34 +138,12 @@ public class ProductionBlocks{
|
||||
inputLiquid = Liquid.lava;
|
||||
liquidAmount = 40f;
|
||||
liquidCapacity = 41f;
|
||||
purifyTime = 25;
|
||||
purifyTime = 30;
|
||||
output = Item.stone;
|
||||
health = 80;
|
||||
craftEffect = Fx.purifystone;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Converts iron + lava to steel.";
|
||||
}
|
||||
},
|
||||
|
||||
//TODO
|
||||
lavacompressor = new LiquidCrafter("lavacompressor"){
|
||||
{
|
||||
formalName = "lava compressor";
|
||||
inputLiquid = Liquid.lava;
|
||||
liquidAmount = 40f;
|
||||
liquidCapacity = 41f;
|
||||
purifyTime = 25;
|
||||
output = Item.iron;
|
||||
health = 80;
|
||||
craftEffect = Fx.purifystone;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Converts stone + lava to iron.";
|
||||
description = "Converts iron + lava to steel.";
|
||||
fullDescription = "Uses lava to convert iron to steel. An alternative to smelteries. Useful in situations where coal is scarace.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -188,18 +151,24 @@ public class ProductionBlocks{
|
||||
resource = Blocks.stone;
|
||||
result = Item.stone;
|
||||
formalName = "stone drill";
|
||||
description = "Mines 1 "+resource.name+" every "+time+" seconds.";
|
||||
fullDescription = "The essential drill. When placed on stone tiles, outputs stone at a slow pace indefinitely.";
|
||||
}},
|
||||
|
||||
irondrill = new Drill("irondrill"){{
|
||||
resource = Blocks.iron;
|
||||
result = Item.iron;
|
||||
formalName = "iron drill";
|
||||
description = "Mines 1 "+resource.name+" every "+time+" seconds.";
|
||||
fullDescription = "A basic drill. When placed on iron ore tiles, outputs iron at a slow pace indefinitely.";
|
||||
}},
|
||||
|
||||
coaldrill = new Drill("coaldrill"){{
|
||||
resource = Blocks.coal;
|
||||
result = Item.coal;
|
||||
formalName = "coal drill";
|
||||
description = "Mines 1 "+resource.name+" every "+time+" seconds.";
|
||||
fullDescription = "A basic drill. When placed on coal ore tiles, outputs coal at a slow pace indefinitely.";
|
||||
}},
|
||||
|
||||
uraniumdrill = new Drill("uraniumdrill"){{
|
||||
@@ -207,18 +176,24 @@ public class ProductionBlocks{
|
||||
result = Item.uranium;
|
||||
formalName = "uranium drill";
|
||||
time = 7;
|
||||
description = "Mines 1 "+resource.name+" every "+time+" seconds.";
|
||||
fullDescription = "An advanced drill. When placed on uranium ore tiles, outputs uranium at a slow pace indefinitely.";
|
||||
}},
|
||||
|
||||
titaniumdrill = new Drill("titaniumdrill"){{
|
||||
resource = Blocks.titanium;
|
||||
result = Item.titanium;
|
||||
formalName = "titanium drill";
|
||||
description = "Mines 1 "+resource.name+" every "+time+" seconds.";
|
||||
fullDescription = "An advanced drill. When placed on titanium ore tiles, outputs titanium at a slow pace indefinitely.";
|
||||
}},
|
||||
|
||||
omnidrill = new Drill("omnidrill"){
|
||||
{
|
||||
time = 3;
|
||||
formalName = "omnidrill";
|
||||
description = "Mines 1 of any resource every "+time+" seconds.";
|
||||
fullDescription = "The ultimate drill. Will mine any ore it is placed on at a rapid pace.";
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -233,11 +208,6 @@ public class ProductionBlocks{
|
||||
tryDump(tile);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Mines 1 of any resource every "+time+" seconds.";
|
||||
}
|
||||
},
|
||||
coalgenerator = new ItemPowerGenerator("coalgenerator"){
|
||||
{
|
||||
@@ -246,11 +216,8 @@ public class ProductionBlocks{
|
||||
generateItem = Item.coal;
|
||||
generateAmount = 4f;
|
||||
powerCapacity = 40f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Generates power from coal.";
|
||||
description = "Generates power from coal.";
|
||||
fullDescription = "The essential generator. Generates power from coal. Outputs power as lasers to its 4 sides.";
|
||||
}
|
||||
},
|
||||
thermalgenerator = new LiquidPowerGenerator("thermalgenerator"){
|
||||
@@ -261,11 +228,8 @@ public class ProductionBlocks{
|
||||
inputLiquid = 20f;
|
||||
generatePower = 1f;
|
||||
powerCapacity = 40f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Generates power from lava.";
|
||||
description = "Generates power from lava.";
|
||||
fullDescription = "Generates power from lava. Outputs power as lasers to its 4 sides.";
|
||||
}
|
||||
},
|
||||
combustiongenerator = new LiquidPowerGenerator("combustiongenerator"){
|
||||
@@ -276,26 +240,20 @@ public class ProductionBlocks{
|
||||
inputLiquid = 14f;
|
||||
generatePower = 1f;
|
||||
powerCapacity = 40f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Generates power from oil.";
|
||||
description = "Generates power from oil.";
|
||||
fullDescription = "Generates power from oil. Outputs power as lasers to its 4 sides.";
|
||||
}
|
||||
},
|
||||
rtgenerator = new ItemPowerGenerator("rtgenerator"){
|
||||
{
|
||||
//TODO make this generate slowly
|
||||
formalName = "radioisotope generator";
|
||||
formalName = "RTG generator";
|
||||
generateItem = Item.uranium;
|
||||
generateAmount = 10f;
|
||||
powerCapacity = 40f;
|
||||
generateTime = 50f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Generates small amounts of power from uranium.";
|
||||
description = "Generates power from uranium.";
|
||||
fullDescription = "Generates small amounts of power from the radioactive decay of uranium. Outputs power as lasers to its 4 sides.";
|
||||
}
|
||||
},
|
||||
nuclearReactor = new LiquidItemPowerGenerator("nuclearreactor"){
|
||||
@@ -312,11 +270,9 @@ public class ProductionBlocks{
|
||||
health = 500;
|
||||
breaktime *= 2.2f;
|
||||
powerCapacity = 100f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Generates power from uranium + water.";
|
||||
description = "Generates power from uranium + water.";
|
||||
fullDescription = "The ultimate power generator. Highly volatile. Generates power from uranium. Requires constant cooling in the form of water. "
|
||||
+ "Will explode violently if insufficient amounts of coolant are supplied. ";
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ public class WeaponBlocks{
|
||||
reload = 15f;
|
||||
bullet = BulletType.stone;
|
||||
ammo = Item.stone;
|
||||
fullDescription = "A basic, cheap turret. Uses stone for ammo. Has slightly more range than the double-turret.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -39,6 +40,7 @@ public class WeaponBlocks{
|
||||
bullet = BulletType.stone;
|
||||
ammo = Item.stone;
|
||||
health = 50;
|
||||
fullDescription = "A slightly more powerful version of the turret. Uses stone for ammo. Does significantly more damage, but has a lower range. Shoots two bullets.";
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -61,6 +63,7 @@ public class WeaponBlocks{
|
||||
bullet = BulletType.iron;
|
||||
ammo = Item.iron;
|
||||
health = 65;
|
||||
fullDescription = "A standard all-around turret. Uses iron for ammo. Has a fast fire rate with decent damage.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -72,6 +75,8 @@ public class WeaponBlocks{
|
||||
bullet = BulletType.iron;
|
||||
ammo = Item.iron;
|
||||
health = 70;
|
||||
fullDescription = "A standard turret. Uses iron for ammo. Shoots a spread of 7 bullets. "
|
||||
+ "Lower range, but higher damage output than the gattling turret.";
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -94,6 +99,8 @@ public class WeaponBlocks{
|
||||
bullet = BulletType.flame;
|
||||
ammo = Item.coal;
|
||||
health = 90;
|
||||
fullDescription = "Advanced close-range turret. Uses coal for ammo. Has very low range, but very high damage and damage. "
|
||||
+ "Good for close quarters. Recommended to be used behind walls.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -105,6 +112,8 @@ public class WeaponBlocks{
|
||||
bullet = BulletType.sniper;
|
||||
ammo = Item.steel;
|
||||
health = 70;
|
||||
fullDescription = "Advanced long-range turret. Uses steel for ammo. Very high damage, but low fire rate. "
|
||||
+ "Expensive to use, but can be placed far away from enemy lines due to its range.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -118,6 +127,9 @@ public class WeaponBlocks{
|
||||
ammo = Item.coal;
|
||||
ammoMultiplier = 5;
|
||||
health = 110;
|
||||
fullDescription = "Advanced splash-damage turret. Uses coal for ammo. "
|
||||
+ "Very slow fire rate and bullets, but very high single-target and splash damage. "
|
||||
+ "Useful for large crowds of enemies.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -130,6 +142,8 @@ public class WeaponBlocks{
|
||||
damage = 10;
|
||||
health = 110;
|
||||
powerUsed = 0.2f;
|
||||
fullDescription = "Advanced single-target turret. Uses power. Good medium-range all-around turret. "
|
||||
+ "Single-target only. Never misses.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -141,6 +155,8 @@ public class WeaponBlocks{
|
||||
bullet = BulletType.shell;
|
||||
ammo = Item.coal;
|
||||
health = 140;
|
||||
fullDescription = "Advanced multi-target turret. Uses power. Medium range. Never misses."
|
||||
+ "Average to low damage, but can hit multiple enemies simultaneously with chain lighting.";
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -163,6 +179,8 @@ public class WeaponBlocks{
|
||||
ammo = Item.coal;
|
||||
health = 180;
|
||||
ammoMultiplier = 40;
|
||||
fullDescription = "Highly advanced version of the flamer turret. Uses coal as ammo. "
|
||||
+ "Very high damage, low to medium range.";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -177,6 +195,8 @@ public class WeaponBlocks{
|
||||
health = 430;
|
||||
width = height = 2;
|
||||
shootCone = 9f;
|
||||
fullDescription = "The ultimate rapid-fire turret. Uses uranium as ammo. Shoots large slugs at a high fire rate. "
|
||||
+ "Medium range. Spans multiple tiles. Extremely tough.";
|
||||
}
|
||||
|
||||
//TODO specify turret shoot effect in turret instead of doing it manually
|
||||
@@ -211,6 +231,8 @@ public class WeaponBlocks{
|
||||
width = height = 3;
|
||||
rotatespeed = 0.07f;
|
||||
shootCone = 9f;
|
||||
fullDescription = "The ultimate long-range turret. Uses uranium as ammo. Shoots large splash-damage shells at a medium rate of fire. "
|
||||
+ "Long range. Spans multiple tiles. Extremely tough.";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,15 +17,11 @@ public class LiquidBlock extends Block implements LiquidAcceptor{
|
||||
|
||||
public LiquidBlock(String name) {
|
||||
super(name);
|
||||
description = "Transports liquids.";
|
||||
rotate = true;
|
||||
update = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Transports liquids.";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Tile tile){
|
||||
LiquidEntity entity = tile.entity();
|
||||
|
||||
@@ -25,8 +25,8 @@ public class LaserTurret extends PowerTurret{
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "[turretinfo]Ammo: "+(ammo==null ? "N/A" : ammo.name())+"\nRange: " + (int)range + "\nDamage: " + damage;
|
||||
public void postInit(){
|
||||
description = "[turretinfo]Ammo: "+(ammo==null ? "N/A" : ammo.name())+"\nRange: " + (int)range + "\nDamage: " + damage;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,6 +17,11 @@ public class RepairTurret extends Turret{
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postInit(){
|
||||
description = "[turretinfo]Range: " + (int)range + "\n[description]Heals nearby tiles.";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(Tile tile){
|
||||
TurretEntity entity = tile.entity();
|
||||
@@ -71,9 +76,4 @@ public class RepairTurret extends Turret{
|
||||
|
||||
Draw.rect(name(), tile.worldx(), tile.worldy(), entity.rotation - 90);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "[turretinfo]Range: " + (int)range + "\n[description]Heals nearby tiles.";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,11 @@ public class Turret extends Block{
|
||||
solid = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postInit(){
|
||||
description = "[turretinfo]Ammo: "+(ammo==null ? "N/A" : ammo.name())+"\nRange: " + (int)range + "\nDamage: " + bullet.damage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canReplace(Block other){
|
||||
return other instanceof Turret;
|
||||
@@ -100,11 +105,6 @@ public class Turret extends Block{
|
||||
public boolean acceptItem(Item item, Tile dest, Tile source){
|
||||
return item == ammo && dest.<TurretEntity>entity().ammo < maxammo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "[turretinfo]Ammo: "+(ammo==null ? "N/A" : ammo.name())+"\nRange: " + (int)range + "\nDamage: " + bullet.damage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(Tile tile){
|
||||
|
||||
@@ -115,11 +115,6 @@ public class Conveyor extends Block{
|
||||
return ((direction == 0) && minitem > 0.05f) ||
|
||||
((direction %2 == 1) && minitem > 0.5f);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Moves items.";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleItem(Item item, Tile tile, Tile source){
|
||||
|
||||
@@ -37,9 +37,4 @@ public class Junction extends Block{
|
||||
return to != null && to.block().acceptItem(item, to, dest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Serves as a conveyor junction.";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -61,9 +61,4 @@ public class LiquidItemJunction extends LiquidBlock{
|
||||
Tile to = dest.getNearby()[dir];
|
||||
return to != null && to.block().acceptItem(item, to, dest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Serves as a junction for items and liquids.";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,9 +37,4 @@ public class LiquidJunction extends LiquidBlock{
|
||||
return to != null && to.block() != this && to.block() instanceof LiquidBlock &&
|
||||
((LiquidBlock)to.block()).acceptLiquid(to, dest, liquid, amount);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Serves as a liquid junction.";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,11 +17,6 @@ public class LiquidRouter extends LiquidBlock{
|
||||
solid = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Splits input liquid into 3 directions.";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(Tile tile){
|
||||
LiquidEntity entity = tile.entity();
|
||||
|
||||
@@ -54,10 +54,5 @@ public class Router extends Block{
|
||||
|
||||
Vars.renderer.drawBar(Color.GREEN, tile.worldx(), tile.worldy() + 6, fract);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Split input materials into 3 directions.";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -36,11 +36,6 @@ public class Sorter extends Junction implements Configurable{
|
||||
Draw.rect(Tmp.tr1, tile.worldx(), tile.worldy(), 4f, 4f);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "[interact]Tap block to config[]\nSorts input items by type.";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean acceptItem(Item item, Tile dest, Tile source){
|
||||
Tile to = getTileTarget(item, dest, source, false);
|
||||
|
||||
@@ -40,11 +40,6 @@ public class Teleporter extends Block implements Configurable{
|
||||
solid = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "[interact]Tap block to config[]\nTeleports items to others of the same color.";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Tile tile){
|
||||
TeleporterEntity entity = tile.entity();
|
||||
|
||||
@@ -33,11 +33,6 @@ public class Drill extends Block{
|
||||
tryDump(tile);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Mines 1 "+resource.name+" every "+time+" seconds.";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawOver(Tile tile){
|
||||
|
||||
@@ -16,11 +16,6 @@ public class Pump extends LiquidBlock{
|
||||
solid = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description(){
|
||||
return "Pumps liquids from blocks into conduits.";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean acceptLiquid(Tile tile, Tile source, Liquid liquid, float amount){
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user