This commit is contained in:
Anuken
2021-08-09 11:41:39 -04:00
parent 42486cd784
commit c60f6d155f
7 changed files with 23 additions and 10 deletions

View File

@@ -41,6 +41,7 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc{
@Import int id;
@Import float x, y;
transient private boolean mismatch = false;
transient float accepting, updateTime, lastRipple = Time.time + Mathf.random(40f);
float amount;
Tile tile;
@@ -73,8 +74,15 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc{
amount = Mathf.clamp(amount, 0, maxLiquid);
if(amount <= 0f || Puddles.get(tile) != self()){
if(amount <= 0f){
remove();
return;
}
if(Puddles.get(tile) != self()){
mismatch = true;
remove();
return;
}
//effects-only code
@@ -83,7 +91,7 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc{
Units.nearby(rect.setSize(Mathf.clamp(amount / (maxLiquid / 1.5f)) * 10f).setCenter(x, y), unitCons);
if(liquid.temperature > 0.7f && (tile.build != null) && Mathf.chance(0.5)){
if(liquid.temperature > 0.7f && tile.build != null && Mathf.chance(0.5)){
Fires.create(tile);
}
@@ -126,7 +134,9 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc{
@Override
public void remove(){
Puddles.remove(tile);
if(!mismatch){
Puddles.remove(tile);
}
}
@Override