diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index a7f095835d..16e4d815e2 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -2687,6 +2687,7 @@ laccess.displaywidth = Width of a display block in pixels. laccess.displayheight = Height of a display block in pixels. laccess.buffersize = For messages: Length of the contents.\nFor displays: Number of unprocessed graphics commands. laccess.operations = Number of operations performed on the block.\nFor displays, returns the number of drawflush operations. +laccess.maxunits = Maximum units that a team can have.\nCan only be sensed from cores. lcategory.unknown = Unknown lcategory.unknown.description = Uncategorized instructions. diff --git a/core/src/mindustry/logic/LAccess.java b/core/src/mindustry/logic/LAccess.java index 3128aff224..5f3b25f890 100644 --- a/core/src/mindustry/logic/LAccess.java +++ b/core/src/mindustry/logic/LAccess.java @@ -62,6 +62,7 @@ public enum LAccess{ payloadType, totalPayload, payloadCapacity, + maxUnits, id, //values with parameters are considered controllable diff --git a/core/src/mindustry/world/blocks/storage/CoreBlock.java b/core/src/mindustry/world/blocks/storage/CoreBlock.java index cabdbe6549..7afd737ef3 100644 --- a/core/src/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/mindustry/world/blocks/storage/CoreBlock.java @@ -550,9 +550,16 @@ public class CoreBlock extends StorageBlock{ @Override public double sense(LAccess sensor){ if(sensor == LAccess.itemCapacity) return storageCapacity; + if(sensor == LAccess.maxUnits) return Units.getCap(team); return super.sense(sensor); } + @Override + public double sense(Content content){ + if(content instanceof UnitType type) return team.data().countType(type); + return super.sense(content); + } + @Override public boolean canControlSelect(Unit player){ return player.isPlayer();