From e1b0e07f3c89ee2285f553974416f280258689f3 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 8 Mar 2021 09:52:36 -0500 Subject: [PATCH] Return 1 for sensing `dead` in null objects --- core/src/mindustry/logic/LExecutor.java | 5 +++++ core/src/mindustry/world/blocks/logic/LogicBlock.java | 11 ++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/core/src/mindustry/logic/LExecutor.java b/core/src/mindustry/logic/LExecutor.java index c7082e4cb1..2e636cf4cd 100644 --- a/core/src/mindustry/logic/LExecutor.java +++ b/core/src/mindustry/logic/LExecutor.java @@ -636,6 +636,11 @@ public class LExecutor{ Object target = exec.obj(from); Object sense = exec.obj(type); + if(target == null && sense == LAccess.dead){ + exec.setnum(to, 1); + return; + } + //note that remote units/buildings can be sensed as well if(target instanceof Senseable se){ if(sense instanceof Content co){ diff --git a/core/src/mindustry/world/blocks/logic/LogicBlock.java b/core/src/mindustry/world/blocks/logic/LogicBlock.java index 7cd1d031c6..ac597fa1e7 100644 --- a/core/src/mindustry/world/blocks/logic/LogicBlock.java +++ b/core/src/mindustry/world/blocks/logic/LogicBlock.java @@ -197,7 +197,7 @@ public class LogicBlock extends Block{ public LExecutor executor = new LExecutor(); public float accumulator = 0; public Seq links = new Seq<>(); - public boolean checkedDuplicates = false, unboxed = false; + public boolean checkedDuplicates = false; public void readCompressed(byte[] data, boolean relative){ DataInputStream stream = new DataInputStream(new InflaterInputStream(new ByteArrayInputStream(data))); @@ -254,13 +254,10 @@ public class LogicBlock extends Block{ super.onProximityAdded(); //unbox buildings after reading - if(!unboxed){ - for(var v : executor.vars){ - if(v.objval instanceof BuildingBox b){ - v.objval = world.build(b.pos); - } + for(var v : executor.vars){ + if(v.objval instanceof BuildingBox b){ + v.objval = world.build(b.pos); } - unboxed = true; } }