From 5783b61631d6d46c7d3598a5ec86ffeb8acabada Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 10 Apr 2019 17:47:22 -0400 Subject: [PATCH] Bugfixes --- core/src/io/anuke/mindustry/content/Blocks.java | 4 ++-- core/src/io/anuke/mindustry/content/Zones.java | 2 +- core/src/io/anuke/mindustry/entities/type/Player.java | 3 +-- .../io/anuke/mindustry/ui/fragments/HudFragment.java | 6 +++--- .../mindustry/world/blocks/power/PowerGraph.java | 2 +- tests/src/test/java/MapTests.java | 11 ----------- tests/src/test/java/power/PowerTests.java | 2 +- 7 files changed, 9 insertions(+), 21 deletions(-) delete mode 100644 tests/src/test/java/MapTests.java diff --git a/core/src/io/anuke/mindustry/content/Blocks.java b/core/src/io/anuke/mindustry/content/Blocks.java index e0359df62e..055582f69f 100644 --- a/core/src/io/anuke/mindustry/content/Blocks.java +++ b/core/src/io/anuke/mindustry/content/Blocks.java @@ -1520,14 +1520,14 @@ public class Blocks implements ContentList{ recoil = 4f; size = 4; shootShake = 2f; - powerUsed = 0.5f; - consumes.powerBuffered(1200f); range = 190f; reload = 50f; firingMoveFract = 0.5f; shootDuration = 220f; + powerUsed = 1f / 2f; health = 200 * size * size; + consumes.powerBuffered(1200f); consumes.add(new ConsumeLiquidFilter(liquid -> liquid.temperature <= 0.5f && liquid.flammability < 0.1f, 0.5f)).update(false); }}; diff --git a/core/src/io/anuke/mindustry/content/Zones.java b/core/src/io/anuke/mindustry/content/Zones.java index 68a8569484..2d1a839fe6 100644 --- a/core/src/io/anuke/mindustry/content/Zones.java +++ b/core/src/io/anuke/mindustry/content/Zones.java @@ -38,7 +38,7 @@ public class Zones implements ContentList{ conditionWave = 10; zoneRequirements = ZoneRequirement.with(groundZero, 10); blockRequirements = new Block[]{Blocks.router}; - resources = new Item[]{Items.copper, Items.lead, Items.coal}; + resources = new Item[]{Items.copper, Items.lead, Items.coal, Items.sand}; rules = () -> new Rules(){{ waves = true; waveTimer = true; diff --git a/core/src/io/anuke/mindustry/entities/type/Player.java b/core/src/io/anuke/mindustry/entities/type/Player.java index 1a217f861f..922d4bd4ce 100644 --- a/core/src/io/anuke/mindustry/entities/type/Player.java +++ b/core/src/io/anuke/mindustry/entities/type/Player.java @@ -638,8 +638,7 @@ public class Player extends Unit implements BuilderTrait, ShooterTrait{ } protected void updateFlying(){ - if(Units.invalidateTarget(target, this) && !(target instanceof TileEntity && ((TileEntity)target).damaged() && target.getTeam() == team && - mech.canHeal && dst(target) < getWeapon().bullet.range())){ + if(Units.invalidateTarget(target, this) && !(target instanceof TileEntity && ((TileEntity)target).damaged() && target.isValid() && ((TileEntity)target).isAdded() && target.getTeam() == team && mech.canHeal && dst(target) < getWeapon().bullet.range())){ target = null; } diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index 29b5ed1215..ef847fb53e 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -26,10 +26,10 @@ import io.anuke.mindustry.net.Packets.AdminAction; import io.anuke.mindustry.ui.*; import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import static io.anuke.mindustry.Vars.*; - import java.lang.StringBuilder; +import static io.anuke.mindustry.Vars.*; + public class HudFragment extends Fragment{ public final PlacementFragment blockfrag = new PlacementFragment(); @@ -480,6 +480,6 @@ public class HudFragment extends Fragment{ } }).growY().fillX().right().width(40f) .visible(() -> state.rules.waves && ((Net.server() || player.isAdmin) || !Net.active()) && state.enemies() == 0 - && (!world.spawner.isSpawning() || !state.rules.waveTimer)); + && !world.spawner.isSpawning()); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java index f3a8494104..c4bcdb4fdc 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java @@ -118,7 +118,7 @@ public class PowerGraph{ public void distributePower(float needed, float produced){ //distribute even if not needed. this is because some might be requiring power but not requesting it; it updates consumers - float coverage = Mathf.isZero(needed) ? 1f : Math.min(1, produced / needed); + float coverage = Mathf.isZero(needed) && Mathf.isZero(produced) ? 0f : Mathf.isZero(needed) ? 1f : Math.min(1, produced / needed); for(Tile consumer : consumers){ Consumers consumes = consumer.block().consumes; if(consumes.hasPower()){ diff --git a/tests/src/test/java/MapTests.java b/tests/src/test/java/MapTests.java deleted file mode 100644 index 689c7f5d22..0000000000 --- a/tests/src/test/java/MapTests.java +++ /dev/null @@ -1,11 +0,0 @@ -import org.junit.jupiter.api.BeforeAll; - -public class MapTests{ - - @BeforeAll - static void launchApplication(){ - ApplicationTests.launchApplication(); - } - - //TODO -} diff --git a/tests/src/test/java/power/PowerTests.java b/tests/src/test/java/power/PowerTests.java index 7e15dc4e4b..c52a9532f3 100644 --- a/tests/src/test/java/power/PowerTests.java +++ b/tests/src/test/java/power/PowerTests.java @@ -42,7 +42,7 @@ public class PowerTests extends PowerTestFixture{ // That's why we inject the description into the test method for now. // Additional Note: If you don't see any labels in front of the values supplied as function parameters, use a better IDE like IntelliJ IDEA. dynamicTest("01", () -> simulateDirectConsumption(0.0f, 1.0f, 0.0f, "0.0 produced, 1.0 consumed (no power available)")), - dynamicTest("02", () -> simulateDirectConsumption(0.0f, 0.0f, 1.0f, "0.0 produced, 0.0 consumed (no power anywhere)")), + dynamicTest("02", () -> simulateDirectConsumption(0.0f, 0.0f, 0.0f, "0.0 produced, 0.0 consumed (no power anywhere)")), dynamicTest("03", () -> simulateDirectConsumption(1.0f, 0.0f, 1.0f, "1.0 produced, 0.0 consumed (no power requested)")), dynamicTest("04", () -> simulateDirectConsumption(1.0f, 1.0f, 1.0f, "1.0 produced, 1.0 consumed (stable consumption)")), dynamicTest("05", () -> simulateDirectConsumption(0.5f, 1.0f, 0.5f, "0.5 produced, 1.0 consumed (power shortage)")),