From 605a3706790378a6580037f53bc4d4254df4c070 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 4 Oct 2020 09:58:53 -0400 Subject: [PATCH] Fixed turrets firing without power as players --- core/src/mindustry/content/Blocks.java | 2 +- core/src/mindustry/content/UnitTypes.java | 1 + core/src/mindustry/game/DefaultWaves.java | 2 +- .../mindustry/world/blocks/defense/turrets/PowerTurret.java | 2 +- core/src/mindustry/world/blocks/defense/turrets/Turret.java | 4 ++++ 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 2e49c1428e..b4b9cd038e 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1731,7 +1731,7 @@ public class Blocks implements ContentList{ health = 150 * size * size; consumes.add(new ConsumeLiquidFilter(liquid -> liquid.temperature <= 0.5f && liquid.flammability < 0.1f, 2f)).update(false).optional(true, true); - consumes.powerCond(10f, (TurretBuild entity) -> entity.target != null || (entity.logicControlled() && entity.logicShooting)); + consumes.powerCond(10f, TurretBuild::isActive); }}; spectre = new ItemTurret("spectre"){{ diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index d301b52652..5cae2c66bb 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -1314,6 +1314,7 @@ public class UnitTypes implements ContentList{ buildSpeed = 4f; drawShields = false; commandLimit = 6; + lowAltitude = true; ammoCapacity = 1300; ammoResupplyAmount = 20; diff --git a/core/src/mindustry/game/DefaultWaves.java b/core/src/mindustry/game/DefaultWaves.java index b5f31a940b..5f980fcfde 100644 --- a/core/src/mindustry/game/DefaultWaves.java +++ b/core/src/mindustry/game/DefaultWaves.java @@ -261,7 +261,7 @@ public class DefaultWaves{ curTier = Math.min(curTier, 3); //small chance to switch species - if(Mathf.chance(0.2)){ + if(Mathf.chance(0.3)){ curSpecies = Structs.random(species); } } diff --git a/core/src/mindustry/world/blocks/defense/turrets/PowerTurret.java b/core/src/mindustry/world/blocks/defense/turrets/PowerTurret.java index 9647c25bfc..f8b49195da 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/PowerTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/PowerTurret.java @@ -20,7 +20,7 @@ public class PowerTurret extends Turret{ @Override public void init(){ - consumes.powerCond(powerUse, (TurretBuild entity) -> entity.target != null || (entity.logicControlled() && entity.logicShooting)); + consumes.powerCond(powerUse, TurretBuild::isActive); super.init(); } diff --git a/core/src/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/mindustry/world/blocks/defense/turrets/Turret.java index 766de0045c..9aaa15768c 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/Turret.java @@ -195,6 +195,10 @@ public abstract class Turret extends Block{ return logicControlTime > 0; } + public boolean isActive(){ + return target != null || (logicControlled() && logicShooting) || (isControlled() && unit.isShooting()); + } + @Override public void draw(){ Draw.rect(baseRegion, x, y);