Evoke repair weapon

This commit is contained in:
Anuken
2021-12-28 21:48:32 -05:00
parent 9c2618f2e8
commit acaec08781
17 changed files with 66 additions and 36 deletions

View File

@@ -131,6 +131,7 @@ public class Blocks{
//unit - erekir
tankAssembler,
shipAssembler,
basicAssemblerModule,
//payloads
@@ -3264,15 +3265,25 @@ public class Blocks{
tankAssembler = new UnitAssembler("tank-assembler"){{
requirements(Category.units, with(Items.graphite, 10));
size = 5;
droneType = UnitTypes.manifold;
plans.add(new AssemblerUnitPlan(UnitTypes.vanquish, 60f * 5f, BlockStack.list(Blocks.thoriumWallLarge, 4, Blocks.duct, 2)));
plans.add(new AssemblerUnitPlan(UnitTypes.vanquish, 60f * 10f, BlockStack.list(Blocks.thoriumWallLarge, 4, Blocks.duct, 2)));
consumes.power(2f);
areaSize = 13;
//TODO unit production is rarely continuous, can be double
consumes.liquid(Liquids.gallium, 1f / 60f);
}};
//TODO requirements
shipAssembler = new UnitAssembler("ship-assembler"){{
requirements(Category.units, with(Items.graphite, 10));
size = 5;
plans.add(new AssemblerUnitPlan(UnitTypes.quell, 60f * 4f, BlockStack.list(Blocks.thoriumWallLarge, 4, Blocks.duct, 2)));
consumes.power(2f);
areaSize = 13;
//TODO unit production is rarely continuous, can be double
consumes.liquid(Liquids.gallium, 1f / 60f);
droneType = UnitTypes.assemblyDrone;
}};
basicAssemblerModule = new UnitAssemblerModule("basic-assembler-module"){{

View File

@@ -752,6 +752,14 @@ public class Fx{
Drawf.light(e.x, e.y, 23f, Pal.heal, e.fout() * 0.7f);
}),
hitLaserColor = new Effect(8, e -> {
color(Color.white, e.color, e.fin());
stroke(0.5f + e.fout());
Lines.circle(e.x, e.y, e.fin() * 5f);
Drawf.light(e.x, e.y, 23f, e.color, e.fout() * 0.7f);
}),
hitYellowLaser = new Effect(8, e -> {
color(Color.white, Pal.lightTrail, e.fin());
stroke(0.5f + e.fout());

View File

@@ -2563,7 +2563,6 @@ public class UnitTypes{
outlineColor = Pal.darkOutline;
lowAltitude = false;
flying = true;
targetAir = false;
mineSpeed = 6.5f;
mineTier = 1;
buildSpeed = 0.8f;
@@ -2584,32 +2583,31 @@ public class UnitTypes{
);
weapons.add(new Weapon(){{
reload = 55f;
reload = 17f;
x = 0f;
y = 1f;
top = false;
mirror = false;
bullet = new ArtilleryBulletType(3f, 11){{
trailLength = 8;
trailWidth = 2.4f;
collidesTiles = true;
collides = true;
trailEffect = Fx.none;
trailColor = Pal.bulletYellowBack;
homingPower = 0.01f;
splashDamage = 10;
splashDamageRadius = 20f;
weaveMag = 2f;
weaveScale = 4f;
width = 10f;
height = 13f;
bullet = new LaserBoltBulletType(){{
speed = 4.2f;
frontColor = Color.white;
backColor = hitColor = trailColor = Pal.accent;
lifetime = 50f;
hitEffect = Fx.blastExplosion;
shootEffect = Fx.shootBig;
smokeEffect = Fx.shootBigSmoke;
buildingDamageMultiplier = 0.4f;
height = 6f;
trailLength = 5;
trailWidth = 2f;
healColor = Pal.accent;
healPercent = 1f;
healAmount = 25f;
collidesTeam = true;
lifetime = 35f;
shootEffect = Fx.colorSpark;
hitEffect = smokeEffect = despawnEffect = Fx.hitLaserColor;
damage = 10;
}};
}});
}};