mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-07-15 02:07:53 +07:00
Logic bugfixes & tweaks
This commit is contained in:
@ -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) &&
|
||||
|
@ -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;
|
||||
|
@ -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<LogicLink> links = new Seq<>();
|
||||
|
||||
public void readCompressed(byte[] data, boolean relative){
|
||||
|
Reference in New Issue
Block a user