Turret, power generator and bullet balancing sweep

This commit is contained in:
Anuken 2019-02-07 15:55:31 -05:00
parent 7e35de3c33
commit 79a9541394
6 changed files with 27 additions and 43 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -833,14 +833,14 @@ public class Blocks implements ContentList{
thermalGenerator = new ThermalGenerator("thermal-generator"){{
requirements(Category.power, ItemStack.with(Items.copper, 80, Items.graphite, 70, Items.lead, 100, Items.silicon, 70, Items.thorium, 70));
powerProduction = 2f;
powerProduction = 3f;
generateEffect = Fx.redgeneratespark;
size = 2;
}};
turbineGenerator = new TurbineGenerator("turbine-generator"){{
requirements(Category.power, ItemStack.with(Items.copper, 70, Items.graphite, 50, Items.lead, 80, Items.silicon, 60));
powerProduction = 4f;
powerProduction = 6f;
itemDuration = 30f;
consumes.liquid(Liquids.water, 0.05f);
size = 2;
@ -848,7 +848,7 @@ public class Blocks implements ContentList{
differentialGenerator = new DifferentialGenerator("differential-generator"){{
requirements(Category.power, ItemStack.with(Items.copper, 140, Items.titanium, 100, Items.lead, 200, Items.silicon, 130, Items.metaglass, 100));
powerProduction = 12f;
powerProduction = 24f;
itemDuration = 60f;
consumes.remove(ConsumeItemFilter.class);
consumes.remove(ConsumeLiquidFilter.class);
@ -879,7 +879,7 @@ public class Blocks implements ContentList{
requirements(Category.power, ItemStack.with(Items.lead, 600, Items.silicon, 400, Items.graphite, 300, Items.thorium, 300));
size = 3;
health = 700;
powerProduction = 11f;
powerProduction = 12f;
consumes.liquid(Liquids.cryofluid, maxLiquidUse);
}};
@ -888,7 +888,7 @@ public class Blocks implements ContentList{
size = 4;
health = 900;
powerProduction = 70f;
consumes.power(20f);
consumes.power(23f);
consumes.item(Items.blastCompound);
consumes.liquid(Liquids.water, 0.3f);
}};
@ -1083,11 +1083,11 @@ public class Blocks implements ContentList{
);
size = 2;
recoil = 0f;
reload = 4f;
reload = 3f;
inaccuracy = 5f;
shootCone = 50f;
shootEffect = Fx.shootLiquid;
range = 90f;
range = 100f;
health = 360;
drawer = (tile, entity) -> {
@ -1102,13 +1102,13 @@ public class Blocks implements ContentList{
lancer = new ChargeTurret("lancer"){{
requirements(Category.turret, ItemStack.with(Items.copper, 50, Items.lead, 100, Items.silicon, 90));
range = 120f;
chargeTime = 60f;
range = 135f;
chargeTime = 50f;
chargeMaxDelay = 30f;
chargeEffects = 7;
shootType = Bullets.lancerLaser;
recoil = 2f;
reload = 100f;
reload = 90f;
cooldown = 0.03f;
powerUsed = 1 / 3f;
consumes.powerBuffered(600f);
@ -1199,7 +1199,7 @@ public class Blocks implements ContentList{
restitution = 0.02f;
recoil = 6f;
shootShake = 2f;
range = 320f;
range = 290f;
health = 550;
}};
@ -1226,14 +1226,14 @@ public class Blocks implements ContentList{
fuse = new ItemTurret("fuse"){{
requirements(Category.turret, ItemStack.with(Items.copper, 450, Items.graphite, 450, Items.surgealloy, 250));
ammo(Items.graphite, Bullets.fuseShot);
reload = 50f;
reload = 40f;
shootShake = 4f;
range = 80f;
recoil = 5f;
restitution = 0.1f;
size = 3;
health = 155 * size * size;
health = 165 * size * size;
}};
spectre = new DoubleTurret("spectre"){{

View File

@ -64,7 +64,7 @@ public class Bullets implements ContentList{
splashDamage = 33f;
}};
artilleryPlasticFrag = new BasicBulletType(2.5f, 6, "bullet"){{
artilleryPlasticFrag = new BasicBulletType(2.5f, 7, "bullet"){{
bulletWidth = 10f;
bulletHeight = 12f;
bulletShrink = 1f;
@ -74,16 +74,16 @@ public class Bullets implements ContentList{
despawnEffect = Fx.none;
}};
arilleryPlastic = new ArtilleryBulletType(3.3f, 0, "shell"){{
arilleryPlastic = new ArtilleryBulletType(3.4f, 0, "shell"){{
hitEffect = Fx.plasticExplosion;
knockback = 1f;
lifetime = 55f;
bulletWidth = bulletHeight = 13f;
collidesTiles = false;
splashDamageRadius = 35f;
splashDamage = 35f;
splashDamage = 45f;
fragBullet = artilleryPlasticFrag;
fragBullets = 9;
fragBullets = 10;
backColor = Pal.plastaniumBack;
frontColor = Pal.plastaniumFront;
}};
@ -140,10 +140,10 @@ public class Bullets implements ContentList{
frontColor = Pal.bulletYellow;
}};
flakPlastic = new FlakBulletType(4f, 5){{
splashDamageRadius = 40f;
flakPlastic = new FlakBulletType(4f, 6){{
splashDamageRadius = 50f;
fragBullet = artilleryPlasticFrag;
fragBullets = 4;
fragBullets = 6;
hitEffect = Fx.plasticExplosion;
frontColor = Pal.plastaniumFront;
backColor = Pal.plastaniumBack;
@ -455,7 +455,7 @@ public class Bullets implements ContentList{
Color[] colors = {Pal.lancerLaser.cpy().mul(1f, 1f, 1f, 0.4f), Pal.lancerLaser, Color.WHITE};
float[] tscales = {1f, 0.7f, 0.5f, 0.2f};
float[] lenscales = {1f, 1.1f, 1.13f, 1.14f};
float length = 100f;
float length = 140f;
{
hitEffect = Fx.hitLancer;
@ -492,7 +492,7 @@ public class Bullets implements ContentList{
}
};
meltdownLaser = new BulletType(0.001f, 26){
meltdownLaser = new BulletType(0.001f, 35){
Color tmpColor = new Color();
Color[] colors = {Color.valueOf("ec745855"), Color.valueOf("ec7458aa"), Color.valueOf("ff9c5a"), Color.WHITE};
float[] tscales = {1f, 0.7f, 0.5f, 0.2f};
@ -576,7 +576,7 @@ public class Bullets implements ContentList{
};
waterShot = new LiquidBulletType(Liquids.water){{
knockback = 0.65f;
knockback = 0.7f;
}};
cryoShot = new LiquidBulletType(Liquids.cryofluid){{

View File

@ -20,17 +20,17 @@ public class LiquidBulletType extends BulletType{
Liquid liquid;
public LiquidBulletType(Liquid liquid){
super(2.5f, 0);
super(2.8f, 0);
this.liquid = liquid;
lifetime = 70f;
lifetime = 74f;
status = liquid.effect;
statusDuration = 90f;
despawnEffect = Fx.none;
hitEffect = Fx.hitLiquid;
shootEffect = Fx.none;
drag = 0.01f;
knockback = 0.5f;
drag = 0.009f;
knockback = 0.55f;
}
@Override

View File

@ -124,22 +124,6 @@ public interface BuilderTrait extends Entity, TeamTrait{
return getPlaceQueue().size != 0;
}
/**
* If a place request matching this signature is present, it is removed.
* Otherwise, a new place request is added to the queue.
*/
default void replaceBuilding(int x, int y, int rotation, Block block){
for(BuildRequest request : getPlaceQueue()){
if(request.x == x && request.y == y){
clearBuilding();
addBuildRequest(request);
return;
}
}
addBuildRequest(new BuildRequest(x, y, rotation, block));
}
/**Clears the placement queue.*/
default void clearBuilding(){
getPlaceQueue().clear();