Ammo colors for remaining turrets / Stone + basalt vents

This commit is contained in:
Anuken
2025-04-06 11:06:37 -04:00
parent 70f95aef12
commit a5be9b9956
10 changed files with 128 additions and 33 deletions

View File

@@ -49,7 +49,7 @@ public class Blocks{
redmat, bluemat,
stoneWall, dirtWall, sporeWall, iceWall, daciteWall, sporePine, snowPine, pine, shrubs, whiteTree, whiteTreeDead, sporeCluster,
redweed, purbush, yellowCoral,
rhyoliteVent, carbonVent, arkyicVent, yellowStoneVent, redStoneVent, crystallineVent,
rhyoliteVent, carbonVent, arkyicVent, yellowStoneVent, redStoneVent, crystallineVent, stoneVent, basaltVent,
regolithWall, yellowStoneWall, rhyoliteWall, carbonWall, redIceWall, ferricStoneWall, beryllicStoneWall, arkyicWall, crystallineStoneWall, redStoneWall, redDiamondWall,
ferricStone, ferricCraters, carbonStone, beryllicStone, crystallineStone, crystalFloor, yellowStonePlates,
iceSnow, sandWater, darksandWater, duneWall, sandWall, moss, sporeMoss, shale, shaleWall, grass, salt,
@@ -502,6 +502,16 @@ public class Blocks{
attributes.set(Attribute.steam, 1f);
}};
stoneVent = new SteamVent("stone-vent"){{
parent = blendGroup = stone;
attributes.set(Attribute.steam, 1f);
}};
basaltVent = new SteamVent("basalt-vent"){{
parent = blendGroup = basalt;
attributes.set(Attribute.steam, 1f);
}};
redmat = new Floor("redmat");
bluemat = new Floor("bluemat");
@@ -3073,8 +3083,8 @@ public class Blocks{
ammoMultiplier = 2;
hitEffect = despawnEffect = Fx.hitBulletColor;
hitColor = backColor = trailColor = Color.valueOf("d39169");
frontColor = Color.valueOf("eac1a8");
hitColor = backColor = trailColor = Pal.copperAmmoBack;
frontColor = Pal.copperAmmoFront;
}},
Items.graphite, new BasicBulletType(3.5f, 18){{
width = 9f;
@@ -3084,8 +3094,8 @@ public class Blocks{
rangeChange = 16f;
hitEffect = despawnEffect = Fx.hitBulletColor;
hitColor = backColor = trailColor = Color.valueOf("858a9b");
frontColor = Color.valueOf("dae1ee");
hitColor = backColor = trailColor = Pal.graphiteAmmoBack;
frontColor = Pal.graphiteAmmoFront;
}},
Items.silicon, new BasicBulletType(3f, 12){{
width = 7f;
@@ -3099,8 +3109,8 @@ public class Blocks{
trailWidth = 1.5f;
hitEffect = despawnEffect = Fx.hitBulletColor;
hitColor = backColor = trailColor = Color.valueOf("707594");
frontColor = Color.valueOf("999ba0");
hitColor = backColor = trailColor = Pal.siliconAmmoBack;
frontColor = Pal.siliconAmmoFront;
}}
);
@@ -3147,6 +3157,10 @@ public class Blocks{
hitEffect = Fx.flakExplosion;
splashDamage = 22f * 1.5f;
splashDamageRadius = 24f;
frontColor = Pal.scrapAmmoFront;
backColor = hitColor = Pal.scrapAmmoBack;
despawnEffect = Fx.hitBulletColor;
}},
Items.lead, new FlakBulletType(4.2f, 3){{
lifetime = 60f;
@@ -3159,6 +3173,10 @@ public class Blocks{
splashDamageRadius = 15f;
}},
Items.metaglass, new FlakBulletType(4f, 3){{
backColor = trailColor = Pal.glassAmmoBack;
hitColor = frontColor = Pal.glassAmmoFront;
despawnEffect = Fx.hitBulletColor;
lifetime = 60f;
ammoMultiplier = 5f;
shootEffect = Fx.shootSmall;
@@ -3174,8 +3192,8 @@ public class Blocks{
height = 12f;
shrinkY = 1f;
lifetime = 20f;
backColor = Pal.gray;
frontColor = Color.white;
backColor = trailColor = Pal.glassAmmoBack;
hitColor = frontColor = Pal.glassAmmoFront;
despawnEffect = Fx.none;
collidesGround = false;
}};
@@ -3265,6 +3283,10 @@ public class Blocks{
collidesTiles = false;
splashDamageRadius = 25f * 0.75f;
splashDamage = 33f;
hitColor = backColor = trailColor = Pal.graphiteAmmoBack;
frontColor = Pal.graphiteAmmoFront;
despawnEffect = Fx.hitBulletColor;
}},
Items.silicon, new ArtilleryBulletType(3f, 20){{
knockback = 0.8f;
@@ -3277,6 +3299,13 @@ public class Blocks{
ammoMultiplier = 3f;
homingPower = 0.08f;
homingRange = 50f;
trailLength = 7;
trailWidth = 3f;
hitColor = backColor = trailColor = Pal.siliconAmmoBack;
frontColor = Pal.siliconAmmoFront;
despawnEffect = Fx.hitBulletColor;
}},
Items.pyratite, new ArtilleryBulletType(3f, 25){{
hitEffect = Fx.blastExplosion;
@@ -3288,11 +3317,12 @@ public class Blocks{
splashDamage = 45f;
status = StatusEffects.burning;
statusDuration = 60f * 12f;
frontColor = Pal.lightishOrange;
frontColor = trailColor = hitColor = Pal.lightishOrange;
backColor = Pal.lightOrange;
makeFire = true;
trailEffect = Fx.incendTrail;
ammoMultiplier = 4f;
despawnEffect = Fx.hitBulletColor;
}}
);
targetAir = false;
@@ -3447,6 +3477,9 @@ public class Blocks{
status = StatusEffects.blasted;
statusDuration = 60f;
hitColor = backColor = trailColor = Pal.blastAmmoBack;
frontColor = Pal.blastAmmoFront;
}},
Items.pyratite, new MissileBulletType(3.7f, 12){{
frontColor = Pal.lightishOrange;
@@ -3474,6 +3507,9 @@ public class Blocks{
lightningDamage = 10;
lightning = 2;
lightningLength = 10;
hitColor = backColor = trailColor = Pal.surgeAmmoBack;
frontColor = Pal.surgeAmmoFront;
}}
);
@@ -3511,8 +3547,8 @@ public class Blocks{
ammoMultiplier = 2;
hitEffect = despawnEffect = Fx.hitBulletColor;
hitColor = backColor = trailColor = Color.valueOf("d39169");
frontColor = Color.valueOf("eac1a8");
hitColor = backColor = trailColor = Pal.copperAmmoBack;
frontColor = Pal.copperAmmoFront;
}},
Items.graphite, new BasicBulletType(3.5f, 20){{
width = 9f;
@@ -3523,16 +3559,16 @@ public class Blocks{
rangeChange = 4f * 8f;
hitEffect = despawnEffect = Fx.hitBulletColor;
hitColor = backColor = trailColor = Color.valueOf("858a9b");
frontColor = Color.valueOf("dae1ee");
hitColor = backColor = trailColor = Pal.graphiteAmmoBack;
frontColor = Pal.graphiteAmmoFront;
}},
Items.pyratite, new BasicBulletType(3.2f, 18){{
width = 10f;
height = 12f;
frontColor = Pal.lightishOrange;
frontColor = hitColor = Pal.lightishOrange;
backColor = Pal.lightOrange;
status = StatusEffects.burning;
hitEffect = new MultiEffect(Fx.hitBulletSmall, Fx.fireHit);
hitEffect = new MultiEffect(Fx.hitBulletColor, Fx.fireHit);
ammoMultiplier = 5;
@@ -3553,8 +3589,8 @@ public class Blocks{
trailLength = 5;
trailWidth = 1.5f;
hitEffect = despawnEffect = Fx.hitBulletColor;
hitColor = backColor = trailColor = Color.valueOf("707594");
frontColor = Color.valueOf("999ba0");
hitColor = backColor = trailColor = Pal.siliconAmmoBack;
frontColor = Pal.siliconAmmoFront;
}},
Items.thorium, new BasicBulletType(4f, 29, "bullet"){{
width = 8f;
@@ -3565,8 +3601,8 @@ public class Blocks{
lifetime = 60f;
hitEffect = despawnEffect = Fx.hitBulletColor;
backColor = hitColor = trailColor = Color.valueOf("f595be");
frontColor = Color.white;
backColor = hitColor = trailColor = Pal.thoriumAmmoBack;
frontColor = Pal.thoriumAmmoFront;
}}
);
@@ -3728,6 +3764,10 @@ public class Blocks{
collidesTiles = false;
splashDamageRadius = 25f * 0.75f;
splashDamage = 33f;
backColor = hitColor = trailColor = Pal.graphiteAmmoBack;
frontColor = Pal.graphiteAmmoFront;
despawnEffect = Fx.hitBulletColor;
}},
Items.silicon, new ArtilleryBulletType(3f, 20){{
knockback = 0.8f;
@@ -3740,6 +3780,13 @@ public class Blocks{
ammoMultiplier = 3f;
homingPower = 0.08f;
homingRange = 50f;
trailLength = 9;
trailWidth = 3.1f;
despawnEffect = Fx.hitBulletColor;
backColor = hitColor = trailColor = Pal.siliconAmmoBack;
frontColor = Pal.siliconAmmoFront;
}},
Items.pyratite, new ArtilleryBulletType(3f, 24){{
hitEffect = Fx.blastExplosion;
@@ -3752,10 +3799,11 @@ public class Blocks{
status = StatusEffects.burning;
statusDuration = 60f * 12f;
frontColor = Pal.lightishOrange;
backColor = Pal.lightOrange;
backColor = hitColor = Pal.lightOrange;
makeFire = true;
trailEffect = Fx.incendTrail;
ammoMultiplier = 4f;
despawnEffect = Fx.hitBulletColor;
}},
Items.blastCompound, new ArtilleryBulletType(2f, 20, "shell"){{
hitEffect = Fx.blastExplosion;
@@ -3766,10 +3814,12 @@ public class Blocks{
ammoMultiplier = 4f;
splashDamageRadius = 45f * 0.75f;
splashDamage = 55f;
backColor = Pal.missileYellowBack;
frontColor = Pal.missileYellow;
status = StatusEffects.blasted;
despawnEffect = Fx.hitBulletColor;
backColor = hitColor = trailColor = Pal.blastAmmoBack;
frontColor = Pal.blastAmmoFront;
}},
Items.plastanium, new ArtilleryBulletType(3.4f, 20, "shell"){{
hitEffect = Fx.plasticExplosion;
@@ -3823,7 +3873,7 @@ public class Blocks{
shootEffect = Fx.shootSmall;
reloadMultiplier = 0.8f;
width = 6f;
height = 8f;
height = 11f;
hitEffect = Fx.flakExplosion;
splashDamage = 45f;
splashDamageRadius = 25f;
@@ -3839,6 +3889,10 @@ public class Blocks{
fragBullets = 4;
explodeRange = 20f;
collidesGround = true;
backColor = hitColor = trailColor = Pal.glassAmmoBack;
frontColor = Pal.glassAmmoFront;
despawnEffect = Fx.hitBulletColor;
}},
Items.blastCompound, new FlakBulletType(4f, 8){{
shootEffect = Fx.shootBig;
@@ -3849,6 +3903,10 @@ public class Blocks{
status = StatusEffects.blasted;
statusDuration = 60f;
backColor = hitColor = trailColor = Pal.blastAmmoBack;
frontColor = Pal.blastAmmoFront;
despawnEffect = Fx.hitBulletColor;
}},
Items.plastanium, new FlakBulletType(4f, 8){{
ammoMultiplier = 4f;
@@ -3870,6 +3928,7 @@ public class Blocks{
shootEffect = Fx.shootBig;
collidesGround = true;
explodeRange = 20f;
despawnEffect = Fx.hitBulletColor;
}},
Items.surgeAlloy, new FlakBulletType(4.5f, 13){{
ammoMultiplier = 5f;
@@ -3880,6 +3939,10 @@ public class Blocks{
shootEffect = Fx.shootBig;
collidesGround = true;
explodeRange = 20f;
backColor = hitColor = trailColor = Pal.surgeAmmoBack;
frontColor = Pal.surgeAmmoFront;
despawnEffect = Fx.hitBulletColor;
}}
);
shootY = 10f;
@@ -3977,8 +4040,8 @@ public class Blocks{
knockback = 0.3f;
hitEffect = despawnEffect = Fx.hitBulletColor;
hitColor = backColor = trailColor = Color.valueOf("858a9b");
frontColor = Color.valueOf("dae1ee");
hitColor = backColor = trailColor = Pal.graphiteAmmoBack;
frontColor = Pal.graphiteAmmoFront;
}},
Items.thorium, new BasicBulletType(8f, 80){{
hitSize = 5;
@@ -3988,6 +4051,9 @@ public class Blocks{
pierceCap = 2;
pierceBuilding = true;
knockback = 0.7f;
backColor = hitColor = trailColor = Pal.thoriumAmmoBack;
frontColor = Pal.thoriumAmmoFront;
}},
Items.pyratite, new BasicBulletType(7f, 70){{
hitSize = 5;
@@ -4215,8 +4281,8 @@ public class Blocks{
shootEffect = Fx.shootBigColor;
smokeEffect = Fx.shootSmokeSquareSparse;
ammoMultiplier = 1;
hitColor = backColor = trailColor = Color.valueOf("858a9b");
frontColor = Color.valueOf("dae1ee");
hitColor = backColor = trailColor = Pal.graphiteAmmoBack;
frontColor = Pal.graphiteAmmoFront;
trailWidth = 6f;
trailLength = 6;
hitEffect = despawnEffect = Fx.hitSquaresColor;
@@ -4589,8 +4655,8 @@ public class Blocks{
collidesTiles = false;
shootEffect = Fx.shootBig2;
smokeEffect = Fx.shootSmokeDisperse;
frontColor = Color.valueOf("dae1ee");
backColor = trailColor = hitColor = Color.valueOf("858a9b");
frontColor = Pal.graphiteAmmoFront;
backColor = trailColor = hitColor = Pal.graphiteAmmoBack;
ammoMultiplier = 3f;
lifetime = 34f;

View File

@@ -1174,7 +1174,7 @@ public class Fx{
artilleryTrail = new Effect(50, e -> {
color(e.color);
Fill.circle(e.x, e.y, e.rotation * e.fout());
}),
}).layer(Layer.bullet - 0.01f),
incendTrail = new Effect(50, e -> {
color(Pal.lightOrange);

View File

@@ -138,5 +138,30 @@ public class Pal{
techBlue = Color.valueOf("8ca9e8"),
vent = Color.valueOf("6b4e4e"),
vent2 = Color.valueOf("3b2a2a");
vent2 = Color.valueOf("3b2a2a"),
copperAmmoFront = Color.valueOf("eac1a8"),
copperAmmoBack = Color.valueOf("d39169"),
graphiteAmmoBack = Color.valueOf("7d89d8"),
graphiteAmmoFront = Color.valueOf("dae1ee"),
siliconAmmoBack = Color.valueOf("707594"),
siliconAmmoFront = Color.valueOf("999ba0"),
glassAmmoBack = Color.valueOf("b9c9df"),
glassAmmoFront = Color.valueOf("ffffff"),
scrapAmmoFront = Color.valueOf("f5e0cc"),
scrapAmmoBack = Color.valueOf("d8887e"),
surgeAmmoFront = Color.white.cpy(),
surgeAmmoBack = surge.cpy(),
blastAmmoBack = Color.valueOf("e9665b"),
blastAmmoFront = Color.valueOf("eeab89"),
thoriumAmmoBack = Color.valueOf("f595be"),
thoriumAmmoFront = Color.white.cpy()
;
}

View File

@@ -699,7 +699,7 @@ public class UnitType extends UnlockableContent implements Senseable{
stats.add(Stat.speed, speed * 60f / tilesize, StatUnit.tilesSecond);
stats.add(Stat.size, StatValues.squared(hitSize / tilesize, StatUnit.blocks));
stats.add(Stat.itemCapacity, itemCapacity);
stats.add(Stat.range, (int)(maxRange / tilesize), StatUnit.blocks);
stats.add(Stat.range, Strings.autoFixed(maxRange / tilesize, 1), StatUnit.blocks);
stats.add(Stat.targetsAir, targetAir);
stats.add(Stat.targetsGround, targetGround);