mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-07-15 10:17:39 +07:00
Logic bugfixes & tweaks
This commit is contained in:
@ -91,7 +91,7 @@ public class LExecutor{
|
|||||||
|
|
||||||
public double num(int index){
|
public double num(int index){
|
||||||
Var v = vars[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){
|
public int numi(int index){
|
||||||
@ -309,6 +309,8 @@ public class LExecutor{
|
|||||||
|
|
||||||
void find(Building b, float range, int sortDir, Team team){
|
void find(Building b, float range, int sortDir, Team team){
|
||||||
Units.nearby(team, b.x, b.y, range, u -> {
|
Units.nearby(team, b.x, b.y, range, u -> {
|
||||||
|
if(!u.within(b, range)) return;
|
||||||
|
|
||||||
boolean valid =
|
boolean valid =
|
||||||
target1.func.get(b.team, u) &&
|
target1.func.get(b.team, u) &&
|
||||||
target2.func.get(b.team, u) &&
|
target2.func.get(b.team, u) &&
|
||||||
|
@ -58,7 +58,7 @@ public class LStatements{
|
|||||||
|
|
||||||
@RegisterStatement("write")
|
@RegisterStatement("write")
|
||||||
public static class WriteStatement extends LStatement{
|
public static class WriteStatement extends LStatement{
|
||||||
public String input = "result", target = "@0", address = "0";
|
public String input = "result", target = "cell1", address = "0";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void build(Table table){
|
public void build(Table table){
|
||||||
@ -90,7 +90,7 @@ public class LStatements{
|
|||||||
|
|
||||||
@RegisterStatement("read")
|
@RegisterStatement("read")
|
||||||
public static class ReadStatement extends LStatement{
|
public static class ReadStatement extends LStatement{
|
||||||
public String output = "result", target = "@0", address = "0";
|
public String output = "result", target = "cell1", address = "0";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void build(Table table){
|
public void build(Table table){
|
||||||
@ -216,7 +216,7 @@ public class LStatements{
|
|||||||
|
|
||||||
@RegisterStatement("drawflush")
|
@RegisterStatement("drawflush")
|
||||||
public static class DrawFlushStatement extends LStatement{
|
public static class DrawFlushStatement extends LStatement{
|
||||||
public String target = "@0";
|
public String target = "display1";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void build(Table table){
|
public void build(Table table){
|
||||||
@ -257,7 +257,7 @@ public class LStatements{
|
|||||||
|
|
||||||
@RegisterStatement("printflush")
|
@RegisterStatement("printflush")
|
||||||
public static class PrintFlushStatement extends LStatement{
|
public static class PrintFlushStatement extends LStatement{
|
||||||
public String target = "@0";
|
public String target = "message1";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void build(Table table){
|
public void build(Table table){
|
||||||
@ -279,7 +279,7 @@ public class LStatements{
|
|||||||
@RegisterStatement("control")
|
@RegisterStatement("control")
|
||||||
public static class ControlStatement extends LStatement{
|
public static class ControlStatement extends LStatement{
|
||||||
public LAccess type = LAccess.enabled;
|
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
|
@Override
|
||||||
public void build(Table table){
|
public void build(Table table){
|
||||||
@ -333,7 +333,7 @@ public class LStatements{
|
|||||||
public static class RadarStatement extends LStatement{
|
public static class RadarStatement extends LStatement{
|
||||||
public RadarTarget target1 = RadarTarget.enemy, target2 = RadarTarget.any, target3 = RadarTarget.any;
|
public RadarTarget target1 = RadarTarget.enemy, target2 = RadarTarget.any, target3 = RadarTarget.any;
|
||||||
public RadarSort sort = RadarSort.distance;
|
public RadarSort sort = RadarSort.distance;
|
||||||
public String radar = "@0", sortOrder = "0", output = "result";
|
public String radar = "turret1", sortOrder = "0", output = "result";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void build(Table table){
|
public void build(Table table){
|
||||||
@ -388,7 +388,7 @@ public class LStatements{
|
|||||||
@RegisterStatement("sensor")
|
@RegisterStatement("sensor")
|
||||||
public static class SensorStatement extends LStatement{
|
public static class SensorStatement extends LStatement{
|
||||||
public String to = "result";
|
public String to = "result";
|
||||||
public String from = "@0", type = "@copper";
|
public String from = "block1", type = "@copper";
|
||||||
|
|
||||||
private transient int selected = 0;
|
private transient int selected = 0;
|
||||||
private transient TextField tfield;
|
private transient TextField tfield;
|
||||||
|
@ -74,7 +74,12 @@ public class LogicBlock extends Block{
|
|||||||
String name = block.name;
|
String name = block.name;
|
||||||
if(name.contains("-")){
|
if(name.contains("-")){
|
||||||
String[] split = name.split("-");
|
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){
|
if(block.minfo.mod != null){
|
||||||
name = name.substring(block.minfo.mod.name.length() + 1);
|
name = name.substring(block.minfo.mod.name.length() + 1);
|
||||||
@ -139,7 +144,6 @@ public class LogicBlock extends Block{
|
|||||||
public String code = "";
|
public String code = "";
|
||||||
public LExecutor executor = new LExecutor();
|
public LExecutor executor = new LExecutor();
|
||||||
public float accumulator = 0;
|
public float accumulator = 0;
|
||||||
|
|
||||||
public Seq<LogicLink> links = new Seq<>();
|
public Seq<LogicLink> links = new Seq<>();
|
||||||
|
|
||||||
public void readCompressed(byte[] data, boolean relative){
|
public void readCompressed(byte[] data, boolean relative){
|
||||||
|
Reference in New Issue
Block a user