Large cliff crusher block / Erekir ammo tweaks / Android file chooser fixes
This commit is contained in:
@@ -125,7 +125,7 @@ public class Blocks{
|
||||
|
||||
//production
|
||||
mechanicalDrill, pneumaticDrill, laserDrill, blastDrill, waterExtractor, oilExtractor, cultivator,
|
||||
cliffCrusher, plasmaBore, largePlasmaBore, impactDrill, eruptionDrill,
|
||||
cliffCrusher, largeCliffCrusher, plasmaBore, largePlasmaBore, impactDrill, eruptionDrill,
|
||||
|
||||
//storage
|
||||
coreShard, coreFoundation, coreNucleus, vault, container, unloader,
|
||||
@@ -1436,7 +1436,6 @@ public class Blocks{
|
||||
}});
|
||||
|
||||
consumeItem(Items.silicon, 3);
|
||||
//TODO consume hydrogen/ozone?
|
||||
consumeLiquid(Liquids.slag, 40f / 60f);
|
||||
consumePower(2f);
|
||||
}};
|
||||
@@ -1466,7 +1465,6 @@ public class Blocks{
|
||||
liquidCapacity = 80f;
|
||||
outputLiquid = new LiquidStack(Liquids.cyanogen, 3f / 60f);
|
||||
|
||||
//consumeLiquids(LiquidStack.with(Liquids.hydrogen, 3f / 60f, Liquids.nitrogen, 2f / 60f));
|
||||
consumeLiquid(Liquids.arkycite, 40f / 60f);
|
||||
consumeItem(Items.graphite);
|
||||
consumePower(2f);
|
||||
@@ -2804,6 +2802,28 @@ public class Blocks{
|
||||
ambientSoundVolume = 0.04f;
|
||||
}};
|
||||
|
||||
largeCliffCrusher = new WallCrafter("large-cliff-crusher"){{
|
||||
requirements(Category.production, with(Items.silicon, 80, Items.surgeAlloy, 60, Items.beryllium, 100, Items.tungsten, 50));
|
||||
consumePower(30 / 60f);
|
||||
|
||||
drillTime = 50f;
|
||||
size = 3;
|
||||
attribute = Attribute.sand;
|
||||
output = Items.sand;
|
||||
fogRadius = 3;
|
||||
ambientSound = Sounds.drill;
|
||||
ambientSoundVolume = 0.05f;
|
||||
|
||||
consumeLiquid(Liquids.ozone, 1f / 60f);
|
||||
|
||||
itemConsumer = consumeItem(Items.tungsten).boost();
|
||||
itemCapacity = 20;
|
||||
boostItemUseTime = 60f * 10f;
|
||||
|
||||
//alternatively, boost using nitrogen:
|
||||
//consumeLiquid(Liquids.nitrogen, 3f / 60f).boost();
|
||||
}};
|
||||
|
||||
plasmaBore = new BeamDrill("plasma-bore"){{
|
||||
requirements(Category.production, with(Items.beryllium, 40));
|
||||
consumePower(0.15f);
|
||||
@@ -2818,7 +2838,6 @@ public class Blocks{
|
||||
consumeLiquid(Liquids.hydrogen, 0.25f / 60f).boost();
|
||||
}};
|
||||
|
||||
//TODO awful name
|
||||
largePlasmaBore = new BeamDrill("large-plasma-bore"){{
|
||||
requirements(Category.production, with(Items.silicon, 100, Items.oxide, 25, Items.beryllium, 100, Items.tungsten, 70));
|
||||
consumePower(0.8f);
|
||||
@@ -4035,7 +4054,7 @@ public class Blocks{
|
||||
shootEffect = sfe;
|
||||
smokeEffect = Fx.shootBigSmoke;
|
||||
ammoMultiplier = 1;
|
||||
reloadMultiplier = 0.67f;
|
||||
reloadMultiplier = 0.7f;
|
||||
hitColor = backColor = trailColor = Color.valueOf("ab8ec5");
|
||||
frontColor = Color.white;
|
||||
trailWidth = 2.2f;
|
||||
@@ -4047,6 +4066,7 @@ public class Blocks{
|
||||
buildingDamageMultiplier = 0.3f;
|
||||
targetBlocks = false;
|
||||
targetMissiles = false;
|
||||
trailRotation = true;
|
||||
}}
|
||||
);
|
||||
|
||||
@@ -4213,7 +4233,6 @@ public class Blocks{
|
||||
shootSound = Sounds.none;
|
||||
loopSoundVolume = 1f;
|
||||
|
||||
//TODO balance, set up, where is liquid/sec displayed? status effects maybe?
|
||||
ammo(
|
||||
Liquids.ozone, new ContinuousFlameBulletType(){{
|
||||
damage = 60f;
|
||||
@@ -4291,8 +4310,8 @@ public class Blocks{
|
||||
height = 19f;
|
||||
width = 17f;
|
||||
splashDamageRadius = 55f;
|
||||
splashDamage = 600f;
|
||||
rangeChange = 8f*8f;
|
||||
splashDamage = 650f;
|
||||
rangeChange = 10f*8f;
|
||||
scaledSplashDamage = true;
|
||||
backColor = hitColor = trailColor = Color.valueOf("ab8ec5");
|
||||
frontColor = Color.white;
|
||||
@@ -4317,6 +4336,41 @@ public class Blocks{
|
||||
shrinkX = 0.2f;
|
||||
shrinkY = 0.1f;
|
||||
buildingDamageMultiplier = 0.3f;
|
||||
}},
|
||||
Items.oxide, new ArtilleryBulletType(2.5f, 300, "shell"){{
|
||||
hitEffect = new MultiEffect(Fx.titanExplosionLarge, Fx.titanSmokeLarge);
|
||||
despawnEffect = Fx.none;
|
||||
knockback = 2f;
|
||||
lifetime = 190f;
|
||||
height = 19f;
|
||||
width = 17f;
|
||||
reloadMultiplier = 0.8f;
|
||||
splashDamageRadius = 110f;
|
||||
rangeChange = 8f;
|
||||
splashDamage = 300f;
|
||||
scaledSplashDamage = true;
|
||||
hitColor = backColor = trailColor = Color.valueOf("a0b380");
|
||||
frontColor = Color.valueOf("e4ffd6");
|
||||
ammoMultiplier = 1f;
|
||||
hitSound = Sounds.titanExplosion;
|
||||
|
||||
status = StatusEffects.blasted;
|
||||
|
||||
trailLength = 32;
|
||||
trailWidth = 3.35f;
|
||||
trailSinScl = 2.5f;
|
||||
trailSinMag = 0.5f;
|
||||
trailEffect = Fx.vapor;
|
||||
trailInterval = 3f;
|
||||
despawnShake = 7f;
|
||||
|
||||
shootEffect = Fx.shootTitan;
|
||||
smokeEffect = Fx.shootSmokeTitan;
|
||||
|
||||
trailInterp = v -> Math.max(Mathf.slope(v), 0.8f);
|
||||
shrinkX = 0.2f;
|
||||
shrinkY = 0.1f;
|
||||
buildingDamageMultiplier = 0.25f;
|
||||
}}
|
||||
);
|
||||
|
||||
@@ -4633,7 +4687,6 @@ public class Blocks{
|
||||
range = 250f;
|
||||
scaledHealth = 210;
|
||||
|
||||
//TODO is this a good idea to begin with?
|
||||
unitSort = UnitSorts.strongest;
|
||||
|
||||
consumeLiquid(Liquids.nitrogen, 6f / 60f);
|
||||
|
||||
@@ -28,7 +28,7 @@ public class Fx{
|
||||
public static final Effect
|
||||
|
||||
none = new Effect(0, 0f, e -> {}),
|
||||
|
||||
|
||||
blockCrash = new Effect(90f, e -> {
|
||||
if(!(e.data instanceof Block block)) return;
|
||||
|
||||
@@ -445,6 +445,20 @@ public class Fx{
|
||||
}
|
||||
}),
|
||||
|
||||
titanExplosionLarge = new Effect(45f, 220f, e -> {
|
||||
color(e.color);
|
||||
stroke(e.fout() * 3f);
|
||||
float circleRad = 6f + e.finpow() * 110f;
|
||||
Lines.circle(e.x, e.y, circleRad);
|
||||
|
||||
rand.setSeed(e.id);
|
||||
for(int i = 0; i < 21; i++){
|
||||
float angle = rand.random(360f);
|
||||
float lenRand = rand.random(0.5f, 1f);
|
||||
Lines.lineAngle(e.x, e.y, angle, e.foutpow() * 50f * rand.random(1f, 0.6f) + 2f, e.finpow() * 100f * lenRand + 6f);
|
||||
}
|
||||
}),
|
||||
|
||||
titanSmoke = new Effect(300f, 300f, b -> {
|
||||
float intensity = 3f;
|
||||
|
||||
@@ -465,6 +479,26 @@ public class Fx{
|
||||
}
|
||||
}),
|
||||
|
||||
titanSmokeLarge = new Effect(400f, 400f, b -> {
|
||||
float intensity = 4f;
|
||||
|
||||
color(b.color, 0.65f);
|
||||
for(int i = 0; i < 4; i++){
|
||||
rand.setSeed(b.id*2 + i);
|
||||
float lenScl = rand.random(0.5f, 1f);
|
||||
int fi = i;
|
||||
b.scaled(b.lifetime * lenScl, e -> {
|
||||
randLenVectors(e.id + fi - 1, e.fin(Interp.pow10Out), (int)(2.9f * intensity), 26f * intensity, (x, y, in, out) -> {
|
||||
float fout = e.fout(Interp.pow5Out) * rand.random(0.5f, 1f);
|
||||
float rad = fout * ((2f + intensity) * 2.35f);
|
||||
|
||||
Fill.circle(e.x + x, e.y + y, rad);
|
||||
Drawf.light(e.x + x, e.y + y, rad * 2.5f, b.color, 0.5f);
|
||||
});
|
||||
});
|
||||
}
|
||||
}),
|
||||
|
||||
missileTrailSmoke = new Effect(180f, 300f, b -> {
|
||||
float intensity = 2f;
|
||||
|
||||
@@ -761,7 +795,7 @@ public class Fx{
|
||||
Fill.circle(e.x + x, e.y + y, e.fout() * 2f);
|
||||
});
|
||||
}),
|
||||
|
||||
|
||||
hitLaserBlast = new Effect(12, e -> {
|
||||
color(e.color);
|
||||
stroke(e.fout() * 1.5f);
|
||||
@@ -1114,7 +1148,7 @@ public class Fx{
|
||||
stroke(2f * e.fout());
|
||||
Lines.circle(e.x, e.y, 5f * e.fout());
|
||||
}),
|
||||
|
||||
|
||||
forceShrink = new Effect(20, e -> {
|
||||
color(e.color, e.fout());
|
||||
if(renderer.animateShields){
|
||||
|
||||
Reference in New Issue
Block a user