mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-02-02 04:13:44 +07:00
Fixed #8507
This commit is contained in:
parent
e47806b9b8
commit
b83f5c66ca
@ -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;
|
||||
|
@ -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(){
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -33,6 +33,7 @@ public class PayloadConveyor extends Block{
|
||||
priority = TargetPriority.transport;
|
||||
envEnabled |= Env.space | Env.underwater;
|
||||
sync = true;
|
||||
underBullets = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -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;
|
||||
});
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user