Fixed wave turret being sporadic / Fixed unnecessary fluid usage

This commit is contained in:
Anuken
2019-05-19 09:09:22 -04:00
parent 3464f40da3
commit 2461331e32
5 changed files with 9 additions and 6 deletions

View File

@@ -1151,7 +1151,7 @@ public class Blocks implements ContentList{
}}; }};
blastDrill = new Drill("blast-drill"){{ blastDrill = new Drill("blast-drill"){{
requirements(Category.production, ItemStack.with(Items.copper, 130, Items.silicon, 120, Items.titanium, 100, Items.thorium, 60)); requirements(Category.production, ItemStack.with(Items.copper, 130, Items.silicon, 120, Items.titanium, 100, Items.thorium, 90));
drillTime = 200; drillTime = 200;
size = 4; size = 4;
drawRim = true; drawRim = true;

View File

@@ -95,8 +95,6 @@ public class MapPlayDialog extends FloatingDialog{
show(); show();
} }
private void displayGameModeHelp(){ private void displayGameModeHelp(){
FloatingDialog d = new FloatingDialog(Core.bundle.get("mode.help.title")); FloatingDialog d = new FloatingDialog(Core.bundle.get("mode.help.title"));
d.setFillParent(false); d.setFillParent(false);

View File

@@ -146,8 +146,7 @@ public abstract class Turret extends Block{
public void update(Tile tile){ public void update(Tile tile){
TurretEntity entity = tile.entity(); TurretEntity entity = tile.entity();
if(entity.target != null && entity.target.isDead()) if(!validateTarget(tile)) entity.target = null;
entity.target = null;
entity.recoil = Mathf.lerpDelta(entity.recoil, 0f, restitution); entity.recoil = Mathf.lerpDelta(entity.recoil, 0f, restitution);
entity.heat = Mathf.lerpDelta(entity.heat, 0f, cooldown); entity.heat = Mathf.lerpDelta(entity.heat, 0f, cooldown);

View File

@@ -25,7 +25,6 @@ import static io.anuke.mindustry.Vars.tilesize;
* Liquids will take priority over items. * Liquids will take priority over items.
*/ */
public class ItemLiquidGenerator extends PowerGenerator{ public class ItemLiquidGenerator extends PowerGenerator{
protected float minItemEfficiency = 0.2f; protected float minItemEfficiency = 0.2f;
/** The time in number of ticks during which a single item will produce power. */ /** The time in number of ticks during which a single item will produce power. */
protected float itemDuration = 70f; protected float itemDuration = 70f;
@@ -71,6 +70,12 @@ public class ItemLiquidGenerator extends PowerGenerator{
} }
} }
@Override
public boolean shouldConsume(Tile tile){
ItemLiquidGeneratorEntity entity = tile.entity();
return entity.generateTime > 0;
}
@Override @Override
public void update(Tile tile){ public void update(Tile tile){
ItemLiquidGeneratorEntity entity = tile.entity(); ItemLiquidGeneratorEntity entity = tile.entity();

View File

@@ -4,6 +4,7 @@ import io.anuke.mindustry.type.Item;
import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.type.Liquid;
public class SingleTypeGenerator extends ItemLiquidGenerator{ public class SingleTypeGenerator extends ItemLiquidGenerator{
public SingleTypeGenerator(boolean hasItems, boolean hasLiquids, String name){ public SingleTypeGenerator(boolean hasItems, boolean hasLiquids, String name){
super(hasItems, hasLiquids, name); super(hasItems, hasLiquids, name);
} }