This commit is contained in:
Anuken
2021-08-21 18:35:27 -04:00
parent 7afc6d3631
commit b2aaca45d5
11 changed files with 31 additions and 10 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -313,10 +313,10 @@ public class Fx{
Lines.poly(e.x, e.y, 4, 13f * e.fout()); Lines.poly(e.x, e.y, 4, 13f * e.fout());
}).layer(Layer.debris), }).layer(Layer.debris),
crawlDust = new Effect(30, e -> { crawlDust = new Effect(35, e -> {
color(Tmp.c1.set(e.color).mul(1.1f)); color(Tmp.c1.set(e.color).mul(1.6f));
randLenVectors(e.id, 2, 10f * e.finpow(), (x, y) -> { randLenVectors(e.id, 2, 10f * e.finpow(), (x, y) -> {
Fill.circle(e.x + x, e.y + y, e.fslope() * 3f + 0.3f); Fill.circle(e.x + x, e.y + y, e.fslope() * 4f + 0.3f);
}); });
}).layer(Layer.debris), }).layer(Layer.debris),

View File

@@ -2412,12 +2412,14 @@ public class UnitTypes implements ContentList{
//region neoplasm //region neoplasm
scuttler = new UnitType("scuttler"){{ scuttler = new UnitType("scuttler"){{
hitSize = 44f; outlineColor = Pal.neoplasmOutline;
hitSize = 40f;
omniMovement = false; omniMovement = false;
rotateSpeed = 2f; rotateSpeed = 1.7f;
drawCell = false; drawCell = false;
segments = 4; segments = 4;
drawBody = false; drawBody = false;
crawlDamage = 2f;
segmentScl = 4f; segmentScl = 4f;
segmentPhase = 5f; segmentPhase = 5f;

View File

@@ -2,12 +2,14 @@ package mindustry.entities.comp;
import arc.math.*; import arc.math.*;
import arc.math.geom.*; import arc.math.geom.*;
import arc.util.*;
import mindustry.*; import mindustry.*;
import mindustry.ai.*; import mindustry.ai.*;
import mindustry.annotations.Annotations.*; import mindustry.annotations.Annotations.*;
import mindustry.content.*; import mindustry.content.*;
import mindustry.entities.*; import mindustry.entities.*;
import mindustry.entities.EntityCollisions.*; import mindustry.entities.EntityCollisions.*;
import mindustry.game.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.world.*; import mindustry.world.*;
@@ -20,6 +22,7 @@ import static mindustry.Vars.*;
abstract class CrawlComp implements Posc, Rotc, Hitboxc, Unitc{ abstract class CrawlComp implements Posc, Rotc, Hitboxc, Unitc{
@Import float x, y, speedMultiplier, rotation, hitSize; @Import float x, y, speedMultiplier, rotation, hitSize;
@Import UnitType type; @Import UnitType type;
@Import Team team;
@Import Vec2 vel; @Import Vec2 vel;
//TODO segments //TODO segments
@@ -72,6 +75,10 @@ abstract class CrawlComp implements Posc, Rotc, Hitboxc, Unitc{
solids ++; solids ++;
} }
if(t.build != null && t.build.team != team){
t.build.damage(team, type.crawlDamage * Time.delta);
}
if(Mathf.chanceDelta(0.04)){ if(Mathf.chanceDelta(0.04)){
Fx.crawlDust.at(t.worldx(), t.worldy(), t.floor().mapColor); Fx.crawlDust.at(t.worldx(), t.worldy(), t.floor().mapColor);
} }

View File

@@ -103,6 +103,8 @@ public class Pal{
adminChat = Color.valueOf("ff4000"), adminChat = Color.valueOf("ff4000"),
neoplasmOutline = Color.valueOf("2e191d"),
logicBlocks = Color.valueOf("d4816b"), logicBlocks = Color.valueOf("d4816b"),
logicControl = Color.valueOf("6bb2b2"), logicControl = Color.valueOf("6bb2b2"),
logicOperations = Color.valueOf("877bad"), logicOperations = Color.valueOf("877bad"),

View File

@@ -132,8 +132,9 @@ public class UnitType extends UnlockableContent{
public float segmentSpacing = 2f; public float segmentSpacing = 2f;
public float segmentScl = 4f, segmentPhase = 5f; public float segmentScl = 4f, segmentPhase = 5f;
public float segmentRotSpeed = 1f, segmentMaxRot = 30f; public float segmentRotSpeed = 1f, segmentMaxRot = 30f;
public float crawlSlowdown = 0.45f; public float crawlSlowdown = 0.5f;
public float crawlSlowdownFrac = 0.4f; public float crawlDamage = 0.5f;
public float crawlSlowdownFrac = 0.55f;
public ObjectSet<StatusEffect> immunities = new ObjectSet<>(); public ObjectSet<StatusEffect> immunities = new ObjectSet<>();
public Sound deathSound = Sounds.bang; public Sound deathSound = Sounds.bang;
@@ -897,7 +898,8 @@ public class UnitType extends UnlockableContent{
Unit unit = (Unit)crawl; Unit unit = (Unit)crawl;
applyColor(unit); applyColor(unit);
for(int p = 0; p < 2; p++){ //change to 2 TODO
for(int p = 0; p < 1; p++){
TextureRegion[] regions = p == 0 ? segmentOutlineRegions : segmentRegions; TextureRegion[] regions = p == 0 ? segmentOutlineRegions : segmentRegions;
for(int i = 0; i < segments; i++){ for(int i = 0; i < segments; i++){
@@ -907,6 +909,14 @@ public class UnitType extends UnlockableContent{
float rot = Mathf.slerp(crawl.segmentRot(), unit.rotation, i / (float)(segments - 1)); float rot = Mathf.slerp(crawl.segmentRot(), unit.rotation, i / (float)(segments - 1));
float tx = Angles.trnsx(rot, trns), ty = Angles.trnsy(rot, trns); float tx = Angles.trnsx(rot, trns), ty = Angles.trnsy(rot, trns);
//shadow
Draw.color(0f, 0f, 0f, 0.2f);
Draw.rect(regions[i], unit.x + tx + 2f, unit.y + ty - 2f, rot - 90);
applyColor(unit);
//TODO merge outlines? //TODO merge outlines?
Draw.rect(regions[i], unit.x + tx, unit.y + ty, rot - 90); Draw.rect(regions[i], unit.x + tx, unit.y + ty, rot - 90);
} }

View File

@@ -11,4 +11,4 @@ android.useAndroidX=true
#used for slow jitpack builds; TODO see if this actually works #used for slow jitpack builds; TODO see if this actually works
http.socketTimeout=80000 http.socketTimeout=80000
http.connectionTimeout=80000 http.connectionTimeout=80000
archash=4410a18d881622cb655c9d48e4cb0ff2ec40782f archash=f9d704c4e88dfc9772e1e956268cfe8414f7b133

View File

@@ -414,7 +414,7 @@ public class Generators{
type.loadIcon(); type.loadIcon();
type.init(); type.init();
Func<Pixmap, Pixmap> outline = i -> i.outline(Pal.darkerMetal, 3); Func<Pixmap, Pixmap> outline = i -> i.outline(type.outlineColor, 3);
Cons<TextureRegion> outliner = t -> { Cons<TextureRegion> outliner = t -> {
if(t != null && t.found()){ if(t != null && t.found()){
replace(t, outline.get(get(t))); replace(t, outline.get(get(t)));