WIP 3rd core unit
This commit is contained in:
BIN
core/assets-raw/sprites/units/emanate-cell.png
Normal file
BIN
core/assets-raw/sprites/units/emanate-cell.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 517 B |
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -3189,7 +3189,7 @@ public class UnitTypes{
|
|||||||
mineFloor = false;
|
mineFloor = false;
|
||||||
mineHardnessScaling = false;
|
mineHardnessScaling = false;
|
||||||
flying = true;
|
flying = true;
|
||||||
mineSpeed = 4f;
|
mineSpeed = 5f;
|
||||||
mineTier = 4;
|
mineTier = 4;
|
||||||
buildSpeed = 1.1f;
|
buildSpeed = 1.1f;
|
||||||
drag = 0.08f;
|
drag = 0.08f;
|
||||||
@@ -3241,67 +3241,54 @@ public class UnitTypes{
|
|||||||
envDisabled = 0;
|
envDisabled = 0;
|
||||||
|
|
||||||
lowAltitude = false;
|
lowAltitude = false;
|
||||||
flying = true;
|
|
||||||
targetAir = false;
|
|
||||||
mineWalls = true;
|
mineWalls = true;
|
||||||
mineFloor = false;
|
mineFloor = false;
|
||||||
mineHardnessScaling = false;
|
mineHardnessScaling = false;
|
||||||
|
flying = true;
|
||||||
mineSpeed = 6f;
|
mineSpeed = 6f;
|
||||||
mineTier = 4;
|
mineTier = 4;
|
||||||
buildSpeed = 2f;
|
buildSpeed = 1.4f;
|
||||||
drag = 0.06f;
|
drag = 0.08f;
|
||||||
speed = 2.6f;
|
speed = 7.1f;
|
||||||
rotateSpeed = 3f;
|
rotateSpeed = 8f;
|
||||||
accel = 0.11f;
|
accel = 0.08f;
|
||||||
itemCapacity = 140;
|
itemCapacity = 110;
|
||||||
health = 1300f;
|
health = 700f;
|
||||||
armor = 3f;
|
armor = 3f;
|
||||||
hitSize = 36f;
|
hitSize = 12f;
|
||||||
buildBeamOffset = 72f / 4f;
|
|
||||||
engineSize = 0;
|
|
||||||
payloadCapacity = Mathf.sqr(3f) * tilePayload;
|
|
||||||
|
|
||||||
drawBuildBeam = false;
|
engineOffset = 7.4f;
|
||||||
rotateToBuilding = false;
|
engineSize = 3.3f;
|
||||||
|
|
||||||
float es = 3.8f;
|
|
||||||
|
|
||||||
setEnginesMirror(
|
setEnginesMirror(
|
||||||
new UnitEngine(49 / 4f, 51 / 4f, es, 45f),
|
new UnitEngine(34 / 4f, -12 / 4f, 2.7f, 315f),
|
||||||
new UnitEngine(67 / 4f, -30 / 4f, es, 315f),
|
new UnitEngine(27 / 4f, -34 / 4f, 2.7f, 315f)
|
||||||
new UnitEngine(49 / 4f, -62 / 4f, es, 315f)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
//TODO repair weapon
|
weapons.add(new RepairBeamWeapon(){{
|
||||||
Vec2[] positions = {/*new Vec2(30f, 50f), */new Vec2(60f, -15f)};
|
reload = 25f;
|
||||||
int i = 0;
|
x = 19f/4f;
|
||||||
|
y = 19f/4f;
|
||||||
|
rotate = false;
|
||||||
|
shootY = 0f;
|
||||||
|
beamWidth = 0.7f;
|
||||||
|
repairSpeed = 0.2f;
|
||||||
|
aimDst = 0f;
|
||||||
|
shootCone = 16f;
|
||||||
|
fractionRepair = true;
|
||||||
|
mirror = true;
|
||||||
|
|
||||||
for(var pos : positions){
|
targetUnits = false;
|
||||||
int fi = i;
|
targetBuildings = true;
|
||||||
//TODO change to BuildWeapon properly, remove standard build beam and rotation
|
autoTarget = false;
|
||||||
weapons.add(new BuildWeapon("incite-weapon"){{
|
controllable = true;
|
||||||
rotate = true;
|
laserColor = Pal.accent;
|
||||||
reload = fi == 0 ? 25f : 35f;
|
healColor = Pal.accent;
|
||||||
rotateSpeed = 7f;
|
|
||||||
x = pos.x/4f;
|
|
||||||
y = pos.y/4f;
|
|
||||||
shootY = 5.75f;
|
|
||||||
recoil = 2f;
|
|
||||||
|
|
||||||
bullet = new BasicBulletType(5f, 17){{
|
bullet = new BulletType(){{
|
||||||
width = 7f;
|
maxRange = 65f;
|
||||||
height = 12f;
|
}};
|
||||||
shootEffect = Fx.sparkShoot;
|
}});
|
||||||
smokeEffect = Fx.shootBigSmoke;
|
|
||||||
hitColor = backColor = trailColor = Pal.bulletYellowBack;
|
|
||||||
frontColor = Color.white;
|
|
||||||
trailWidth = 1.5f;
|
|
||||||
trailLength = 7;
|
|
||||||
hitEffect = despawnEffect = Fx.hitBulletColor;
|
|
||||||
}};
|
|
||||||
}});
|
|
||||||
i ++;
|
|
||||||
}
|
|
||||||
}};
|
}};
|
||||||
|
|
||||||
//endregion
|
//endregion
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import static mindustry.Vars.*;
|
|||||||
public class BaseShield extends Block{
|
public class BaseShield extends Block{
|
||||||
//TODO game rule? or field? should vary by base.
|
//TODO game rule? or field? should vary by base.
|
||||||
public float radius = 200f;
|
public float radius = 200f;
|
||||||
|
public int sides = 24;
|
||||||
|
|
||||||
protected static BaseShieldBuild paramBuild;
|
protected static BaseShieldBuild paramBuild;
|
||||||
//protected static Effect paramEffect;
|
//protected static Effect paramEffect;
|
||||||
@@ -119,7 +120,7 @@ public class BaseShield extends Block{
|
|||||||
Draw.color(team.color, Color.white, Mathf.clamp(hit));
|
Draw.color(team.color, Color.white, Mathf.clamp(hit));
|
||||||
|
|
||||||
if(renderer.animateShields){
|
if(renderer.animateShields){
|
||||||
Fill.circle(x, y, radius);
|
Fill.poly(x, y, sides, radius);
|
||||||
}else{
|
}else{
|
||||||
Lines.stroke(1.5f);
|
Lines.stroke(1.5f);
|
||||||
Draw.alpha(0.09f + Mathf.clamp(0.08f * hit));
|
Draw.alpha(0.09f + Mathf.clamp(0.08f * hit));
|
||||||
|
|||||||
@@ -284,7 +284,7 @@ public class UnitAssembler extends PayloadBlock{
|
|||||||
|
|
||||||
units.removeAll(u -> !u.isAdded() || u.dead || !(u.controller() instanceof AssemblerAI));
|
units.removeAll(u -> !u.isAdded() || u.dead || !(u.controller() instanceof AssemblerAI));
|
||||||
|
|
||||||
powerWarmup = Mathf.lerpDelta(powerWarmup, efficiency(), 0.1f);
|
powerWarmup = Mathf.lerpDelta(powerWarmup, efficiency() > 0.0001f ? 1f : 0f, 0.1f);
|
||||||
droneWarmup = Mathf.lerpDelta(droneWarmup, units.size < dronesCreated ? efficiency() : 0f, 0.1f);
|
droneWarmup = Mathf.lerpDelta(droneWarmup, units.size < dronesCreated ? efficiency() : 0f, 0.1f);
|
||||||
totalDroneProgress += droneWarmup * Time.delta;
|
totalDroneProgress += droneWarmup * Time.delta;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user