From b83f5c66ca380a7b4fd48411e409e9f5efb95033 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 15 Apr 2023 22:17:46 -0400 Subject: [PATCH] Fixed #8507 --- core/src/mindustry/entities/comp/FireComp.java | 10 ++-------- core/src/mindustry/ui/fragments/MinimapFragment.java | 2 +- core/src/mindustry/world/Tile.java | 2 +- .../world/blocks/payloads/PayloadConveyor.java | 1 + core/src/mindustry/world/blocks/storage/CoreBlock.java | 6 ++++++ gradle.properties | 2 +- 6 files changed, 12 insertions(+), 11 deletions(-) diff --git a/core/src/mindustry/entities/comp/FireComp.java b/core/src/mindustry/entities/comp/FireComp.java index 33f6e3c4ae..14ce9d8b1a 100644 --- a/core/src/mindustry/entities/comp/FireComp.java +++ b/core/src/mindustry/entities/comp/FireComp.java @@ -30,9 +30,8 @@ abstract class FireComp implements Timedc, Posc, Syncc, Drawc{ @Import float time, lifetime, x, y; Tile tile; - private transient Block block; private transient float - baseFlammability = -1, puddleFlammability, damageTimer = Mathf.random(40f), + puddleFlammability, damageTimer = Mathf.random(40f), spreadTimer = Mathf.random(spreadDelay), fireballTimer = Mathf.random(fireballDelay), warmup = 0f, animation = Mathf.random(frames - 1); @@ -64,12 +63,7 @@ abstract class FireComp implements Timedc, Posc, Syncc, Drawc{ Building entity = tile.build; boolean damage = entity != null; - if(baseFlammability < 0 || block != tile.block()){ - baseFlammability = tile.getFlammability(); - block = tile.block(); - } - - float flammability = baseFlammability + puddleFlammability; + float flammability = tile.getFlammability() + puddleFlammability; if(!damage && flammability <= 0){ time += Time.delta * 8; diff --git a/core/src/mindustry/ui/fragments/MinimapFragment.java b/core/src/mindustry/ui/fragments/MinimapFragment.java index 583c80d63e..2fe8df586e 100644 --- a/core/src/mindustry/ui/fragments/MinimapFragment.java +++ b/core/src/mindustry/ui/fragments/MinimapFragment.java @@ -129,7 +129,7 @@ public class MinimapFragment{ public void panTo(float relativeX, float relativeY){ Rect r = getRectBounds(); Tmp.v1.set(relativeX, relativeY).sub(r.x, r.y).scl(1f / r.width, 1f / r.height).scl(world.unitWidth(), world.unitHeight()); - control.input.panCamera(Tmp.v1); + control.input.panCamera(Tmp.v1.clamp(-tilesize/2f, -tilesize/2f, world.unitWidth() + tilesize/2f, world.unitHeight() + tilesize/2f)); } public boolean shown(){ diff --git a/core/src/mindustry/world/Tile.java b/core/src/mindustry/world/Tile.java index 567ba0fb64..2debd9effe 100644 --- a/core/src/mindustry/world/Tile.java +++ b/core/src/mindustry/world/Tile.java @@ -134,7 +134,7 @@ public class Tile implements Position, QuadTreeObject, Displayable{ }else if(build != null){ float result = 0f; - if(block.hasItems){ + if(block.hasItems && build.items.total() > 0){ result += build.items.sum((item, amount) -> item.flammability * amount) / Math.max(block.itemCapacity, 1) * Mathf.clamp(block.itemCapacity / 2.4f, 1f, 3f); } diff --git a/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java b/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java index 49966047bb..a10863bbe4 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadConveyor.java @@ -33,6 +33,7 @@ public class PayloadConveyor extends Block{ priority = TargetPriority.transport; envEnabled |= Env.space | Env.underwater; sync = true; + underBullets = true; } @Override diff --git a/core/src/mindustry/world/blocks/storage/CoreBlock.java b/core/src/mindustry/world/blocks/storage/CoreBlock.java index aa0ed7ba29..d0a5bebda5 100644 --- a/core/src/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/mindustry/world/blocks/storage/CoreBlock.java @@ -492,6 +492,12 @@ public class CoreBlock extends StorageBlock{ storageCapacity = itemCapacity + proximity().sum(e -> owns(e) ? e.block.itemCapacity : 0); proximity.each(this::owns, t -> { + //add inventory if there is something in it from a payload + if(t.items != items){ + items.add(t.items); + t.items.clear(); + } + t.items = items; ((StorageBuild)t).linkedCore = this; }); diff --git a/gradle.properties b/gradle.properties index b8acff58b9..2fad05d87a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,4 +25,4 @@ org.gradle.caching=true #used for slow jitpack builds; TODO see if this actually works org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 -archash=d62ba7f6c3 +archash=2ef12ecfa1