Dormany cyst item

This commit is contained in:
Anuken
2021-08-18 17:38:30 -04:00
parent f3cacb9e99
commit 130f32f3cd
7 changed files with 39 additions and 9 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 B

View File

@ -401,3 +401,4 @@
63308=beryllium|item-beryllium-ui 63308=beryllium|item-beryllium-ui
63307=fissile-matter|item-fissile-matter-ui 63307=fissile-matter|item-fissile-matter-ui
63306=neoplasm|liquid-neoplasm-ui 63306=neoplasm|liquid-neoplasm-ui
63305=dormant-cyst|item-dormant-cyst-ui

Binary file not shown.

View File

@ -8,7 +8,7 @@ public class Items implements ContentList{
public static Item public static Item
scrap, copper, lead, graphite, coal, titanium, thorium, silicon, plastanium, scrap, copper, lead, graphite, coal, titanium, thorium, silicon, plastanium,
phaseFabric, surgeAlloy, sporePod, sand, blastCompound, pyratite, metaglass, phaseFabric, surgeAlloy, sporePod, sand, blastCompound, pyratite, metaglass,
beryllium, fissileMatter; beryllium, fissileMatter, dormantCyst;
@Override @Override
public void load(){ public void load(){
@ -94,7 +94,7 @@ public class Items implements ContentList{
}}; }};
beryllium = new Item("beryllium", Color.valueOf("3a8f64")){{ beryllium = new Item("beryllium", Color.valueOf("3a8f64")){{
hardness = 4; hardness = 5;
cost = 1.3f; cost = 1.3f;
}}; }};
@ -102,5 +102,9 @@ public class Items implements ContentList{
hardness = 4; hardness = 4;
radioactivity = 1.5f; radioactivity = 1.5f;
}}; }};
dormantCyst = new Item("dormant-cyst", Color.valueOf("a5221c")){{
flammability = 0.1f;
}};
} }
} }

View File

@ -1,11 +1,17 @@
package mindustry.content; package mindustry.content;
import arc.graphics.*; import arc.graphics.*;
import arc.graphics.g2d.*;
import arc.math.*;
import mindustry.ctype.*; import mindustry.ctype.*;
import mindustry.entities.*;
import mindustry.graphics.*;
import mindustry.type.*; import mindustry.type.*;
import static arc.graphics.g2d.Draw.*;
public class Liquids implements ContentList{ public class Liquids implements ContentList{
public static Liquid water, slag, oil, cryofluid, neoplasm, rovazide; public static Liquid water, slag, oil, cryofluid, neoplasm;
@Override @Override
public void load(){ public void load(){
@ -44,11 +50,17 @@ public class Liquids implements ContentList{
temperature = 0.54f; temperature = 0.54f;
viscosity = 0.65f; viscosity = 0.65f;
flammability = 0.1f; flammability = 0.1f;
}};
//rovazide = new Liquid("rovafuel", Color.valueOf("9dde68")){{ Color from = Color.valueOf("f98f4a"), to = Color.valueOf("9e172c");
// flammability = 1.5f;
// explosiveness = 3f; //TODO could probably be improved...
//}}; particleSpacing = 65f;
particleEffect = new Effect(40f, e -> {
e.lifetime = Mathf.randomSeed(e.id + 2, 80f, 200f) * 3.2f;
color(from, to, Mathf.randomSeed(e.id, 1f));
Fill.circle(e.x, e.y, e.fslope() * Mathf.randomSeed(e.id + 1, 0.6f, 2.4f));
}).layer(Layer.debris - 0.5f);
}};
} }
} }

View File

@ -42,7 +42,7 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc{
@Import float x, y; @Import float x, y;
@Import boolean added; @Import boolean added;
transient float accepting, updateTime, lastRipple = Time.time + Mathf.random(40f); transient float accepting, updateTime, lastRipple = Time.time + Mathf.random(40f), effectTime = Mathf.random(50f);
float amount; float amount;
Tile tile; Tile tile;
Liquid liquid; Liquid liquid;
@ -101,6 +101,14 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc{
updateTime = 40f; updateTime = 40f;
} }
if(!headless && liquid.particleEffect != Fx.none){
if((effectTime += Time.delta) >= liquid.particleSpacing){
float size = Mathf.clamp(amount / (maxLiquid / 1.5f)) * 4f;
liquid.particleEffect.at(x + Mathf.range(size), y + Mathf.range(size));
effectTime = 0f;
}
}
updateTime -= Time.delta; updateTime -= Time.delta;
} }

View File

@ -4,6 +4,7 @@ import arc.graphics.*;
import arc.util.*; import arc.util.*;
import mindustry.content.*; import mindustry.content.*;
import mindustry.ctype.*; import mindustry.ctype.*;
import mindustry.entities.*;
import mindustry.world.meta.*; import mindustry.world.meta.*;
public class Liquid extends UnlockableContent{ public class Liquid extends UnlockableContent{
@ -25,6 +26,10 @@ public class Liquid extends UnlockableContent{
public float explosiveness; public float explosiveness;
/** The associated status effect. */ /** The associated status effect. */
public StatusEffect effect = StatusEffects.none; public StatusEffect effect = StatusEffects.none;
/** Effect shown in puddles. */
public Effect particleEffect = Fx.none;
/** Particle effect rate spacing in ticks. */
public float particleSpacing = 60f;
public Liquid(String name, Color color){ public Liquid(String name, Color color){
super(name); super(name);