From a8c4e9f567842f23f84c6fe6e21b58b8ddec4563 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 12 Aug 2020 18:51:50 -0400 Subject: [PATCH] Logic bugfixes & tweaks --- core/src/mindustry/logic/LExecutor.java | 4 +++- core/src/mindustry/logic/LStatements.java | 14 +++++++------- .../mindustry/world/blocks/logic/LogicBlock.java | 8 ++++++-- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/core/src/mindustry/logic/LExecutor.java b/core/src/mindustry/logic/LExecutor.java index 715e1c63bb..754f669798 100644 --- a/core/src/mindustry/logic/LExecutor.java +++ b/core/src/mindustry/logic/LExecutor.java @@ -91,7 +91,7 @@ public class LExecutor{ public double num(int index){ Var v = vars[index]; - return v.isobj ? 1 : v.numval; + return v.isobj ? v.objval != null ? 1 : 0 : v.numval; } public int numi(int index){ @@ -309,6 +309,8 @@ public class LExecutor{ void find(Building b, float range, int sortDir, Team team){ Units.nearby(team, b.x, b.y, range, u -> { + if(!u.within(b, range)) return; + boolean valid = target1.func.get(b.team, u) && target2.func.get(b.team, u) && diff --git a/core/src/mindustry/logic/LStatements.java b/core/src/mindustry/logic/LStatements.java index 1947ef28d9..d1f91a5def 100644 --- a/core/src/mindustry/logic/LStatements.java +++ b/core/src/mindustry/logic/LStatements.java @@ -58,7 +58,7 @@ public class LStatements{ @RegisterStatement("write") public static class WriteStatement extends LStatement{ - public String input = "result", target = "@0", address = "0"; + public String input = "result", target = "cell1", address = "0"; @Override public void build(Table table){ @@ -90,7 +90,7 @@ public class LStatements{ @RegisterStatement("read") public static class ReadStatement extends LStatement{ - public String output = "result", target = "@0", address = "0"; + public String output = "result", target = "cell1", address = "0"; @Override public void build(Table table){ @@ -216,7 +216,7 @@ public class LStatements{ @RegisterStatement("drawflush") public static class DrawFlushStatement extends LStatement{ - public String target = "@0"; + public String target = "display1"; @Override public void build(Table table){ @@ -257,7 +257,7 @@ public class LStatements{ @RegisterStatement("printflush") public static class PrintFlushStatement extends LStatement{ - public String target = "@0"; + public String target = "message1"; @Override public void build(Table table){ @@ -279,7 +279,7 @@ public class LStatements{ @RegisterStatement("control") public static class ControlStatement extends LStatement{ public LAccess type = LAccess.enabled; - public String target = "@0", p1 = "0", p2 = "0", p3 = "0", p4 = "0"; + public String target = "block1", p1 = "0", p2 = "0", p3 = "0", p4 = "0"; @Override public void build(Table table){ @@ -333,7 +333,7 @@ public class LStatements{ public static class RadarStatement extends LStatement{ public RadarTarget target1 = RadarTarget.enemy, target2 = RadarTarget.any, target3 = RadarTarget.any; public RadarSort sort = RadarSort.distance; - public String radar = "@0", sortOrder = "0", output = "result"; + public String radar = "turret1", sortOrder = "0", output = "result"; @Override public void build(Table table){ @@ -388,7 +388,7 @@ public class LStatements{ @RegisterStatement("sensor") public static class SensorStatement extends LStatement{ public String to = "result"; - public String from = "@0", type = "@copper"; + public String from = "block1", type = "@copper"; private transient int selected = 0; private transient TextField tfield; diff --git a/core/src/mindustry/world/blocks/logic/LogicBlock.java b/core/src/mindustry/world/blocks/logic/LogicBlock.java index 9b8cb7d352..6421cc8c80 100644 --- a/core/src/mindustry/world/blocks/logic/LogicBlock.java +++ b/core/src/mindustry/world/blocks/logic/LogicBlock.java @@ -74,7 +74,12 @@ public class LogicBlock extends Block{ String name = block.name; if(name.contains("-")){ String[] split = name.split("-"); - name = split[split.length - 1]; + //filter out 'large' at the end of block names + if(split.length >= 2 && split[split.length - 1].equals("large")){ + name = split[split.length - 2]; + }else{ + name = split[split.length - 1]; + } } if(block.minfo.mod != null){ name = name.substring(block.minfo.mod.name.length() + 1); @@ -139,7 +144,6 @@ public class LogicBlock extends Block{ public String code = ""; public LExecutor executor = new LExecutor(); public float accumulator = 0; - public Seq links = new Seq<>(); public void readCompressed(byte[] data, boolean relative){