Re-added Tau
@ -4,5 +4,6 @@
|
||||
flattenPaths: true,
|
||||
maxWidth: 2048,
|
||||
maxHeight: 2048,
|
||||
fast: true
|
||||
fast: true,
|
||||
bleedIterations: 4
|
||||
}
|
||||
|
Before Width: | Height: | Size: 509 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 218 B After Width: | Height: | Size: 328 B |
Before Width: | Height: | Size: 358 B After Width: | Height: | Size: 295 B |
Before Width: | Height: | Size: 200 B After Width: | Height: | Size: 339 B |
Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 627 B |
Before Width: | Height: | Size: 468 B After Width: | Height: | Size: 362 B |
@ -232,3 +232,4 @@
|
||||
63512=crater|crater
|
||||
63511=naval-factory|block-naval-factory-medium
|
||||
63510=air-factory|block-air-factory-medium
|
||||
63509=basic-reconstructor|block-basic-reconstructor-medium
|
||||
|
Before Width: | Height: | Size: 717 B After Width: | Height: | Size: 717 B |
Before Width: | Height: | Size: 718 KiB After Width: | Height: | Size: 818 KiB |
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 279 KiB After Width: | Height: | Size: 301 KiB |
Before Width: | Height: | Size: 224 KiB After Width: | Height: | Size: 243 KiB |
Before Width: | Height: | Size: 818 KiB After Width: | Height: | Size: 859 KiB |
@ -1672,8 +1672,9 @@ public class Blocks implements ContentList{
|
||||
groundFactory = new UnitFactory("ground-factory"){{
|
||||
requirements(Category.units, ItemStack.with(Items.copper, 30, Items.lead, 70));
|
||||
plans = new UnitPlan[]{
|
||||
new UnitPlan(UnitTypes.dagger, 200f, ItemStack.with(Items.silicon, 10)),
|
||||
new UnitPlan(UnitTypes.titan, 800f, ItemStack.with(Items.silicon, 20, Items.titanium, 10)),
|
||||
new UnitPlan(UnitTypes.dagger, 200f, ItemStack.with(Items.silicon, 10, Items.lead, 10)),
|
||||
new UnitPlan(UnitTypes.crawler, 200f, ItemStack.with(Items.silicon, 10, Items.blastCompound, 5)),
|
||||
new UnitPlan(UnitTypes.tau, 200f, ItemStack.with(Items.silicon, 20, Items.lead, 10)),
|
||||
};
|
||||
size = 3;
|
||||
consumes.power(1.2f);
|
||||
@ -1683,7 +1684,9 @@ public class Blocks implements ContentList{
|
||||
requirements(Category.units, ItemStack.with(Items.copper, 30, Items.lead, 70));
|
||||
plans = new UnitPlan[]{
|
||||
new UnitPlan(UnitTypes.wraith, 200f, ItemStack.with(Items.silicon, 10)),
|
||||
//new UnitPlan(UnitTypes.ghoul, 200f, ItemStack.with(Items.silicon, 10)),
|
||||
new UnitPlan(UnitTypes.spirit, 200f, ItemStack.with(Items.silicon, 10)),
|
||||
new UnitPlan(UnitTypes.draug, 200f, ItemStack.with(Items.silicon, 10)),
|
||||
new UnitPlan(UnitTypes.phantom, 200f, ItemStack.with(Items.silicon, 10)),
|
||||
};
|
||||
size = 3;
|
||||
consumes.power(1.2f);
|
||||
@ -1706,7 +1709,8 @@ public class Blocks implements ContentList{
|
||||
consumes.power(3f);
|
||||
consumes.items(ItemStack.with(Items.silicon, 30, Items.graphite, 30));
|
||||
itemCapacity = 30;
|
||||
constructTime = 200f;
|
||||
|
||||
constructTime = 60f * 5f;
|
||||
}};
|
||||
|
||||
repairPoint = new RepairPoint("repair-point"){{
|
||||
|
@ -15,7 +15,7 @@ public class UnitTypes implements ContentList{
|
||||
public static @EntityDef({Unitc.class, Legsc.class}) UnitType titan, dagger, crawler, fortress, eruptor, chaosArray, eradicator;
|
||||
|
||||
//ground + builder
|
||||
public static @EntityDef({Unitc.class, Legsc.class, Builderc.class}) UnitType oculon;
|
||||
public static @EntityDef({Unitc.class, Legsc.class, Builderc.class}) UnitType oculon, tau;
|
||||
|
||||
//air
|
||||
public static @EntityDef({Unitc.class}) UnitType wraith, reaper, ghoul, revenant, lich;
|
||||
@ -96,9 +96,59 @@ public class UnitTypes implements ContentList{
|
||||
}});
|
||||
}};
|
||||
|
||||
tau = new UnitType("tau"){{
|
||||
itemCapacity = 60;
|
||||
canBoost = true;
|
||||
boostMultiplier = 1.5f;
|
||||
speed = 0.5f;
|
||||
hitsize = 8f;
|
||||
health = 100f;
|
||||
buildSpeed = 0.8f;
|
||||
|
||||
weapons.add(new Weapon("heal-weapon"){{
|
||||
shootY = 1.5f;
|
||||
reload = 24f;
|
||||
x = 1f;
|
||||
shootX = 3.5f;
|
||||
alternate = false;
|
||||
ejectEffect = Fx.none;
|
||||
recoil = 2f;
|
||||
bullet = Bullets.healBullet;
|
||||
shootSound = Sounds.pew;
|
||||
}});
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
float healRange = 60f;
|
||||
float healAmount = 10f;
|
||||
float healReload = 160f;
|
||||
boolean wasHealed;
|
||||
|
||||
@Override
|
||||
public void update(Unitc player){
|
||||
|
||||
if(player.timer().get(Playerc.timerAbility, healReload)){
|
||||
wasHealed = false;
|
||||
|
||||
Units.nearby(player.team(), player.x, player.y, healRange, unit -> {
|
||||
if(unit.health < unit.maxHealth()){
|
||||
Fx.heal.at(unit);
|
||||
wasHealed = true;
|
||||
}
|
||||
unit.heal(healAmount);
|
||||
});
|
||||
|
||||
if(wasHealed){
|
||||
Fx.healWave.at(player);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
};
|
||||
|
||||
fortress = new UnitType("fortress"){{
|
||||
titan.upgrade = this;
|
||||
tier = 2;
|
||||
tier = 3;
|
||||
|
||||
speed = 0.38f;
|
||||
mass = 5f;
|
||||
|
@ -162,7 +162,7 @@ public abstract class BulletType extends Content{
|
||||
|
||||
public void update(Bulletc b){
|
||||
if(homingPower > 0.0001f){
|
||||
Teamc target = Units.closestTarget(b.team(), b.getX(), b.getY(), homingRange, e -> (e.isGrounded() && collidesGround) || (e.isFlying() && collidesAir));
|
||||
Teamc target = Units.closestTarget(b.team(), b.getX(), b.getY(), homingRange, e -> (e.isGrounded() && collidesGround) || (e.isFlying() && collidesAir), t -> collidesGround);
|
||||
if(target != null){
|
||||
b.vel().setAngle(Mathf.slerpDelta(b.rotation(), b.angleTo(target), homingPower));
|
||||
}
|
||||
@ -178,8 +178,6 @@ public abstract class BulletType extends Content{
|
||||
return ContentType.bullet;
|
||||
}
|
||||
|
||||
//TODO change 'create' to 'at'
|
||||
|
||||
public Bulletc create(Teamc owner, float x, float y, float angle){
|
||||
return create(owner, owner.team(), x, y, angle);
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.ui.*;
|
||||
import mindustry.world.blocks.payloads.*;
|
||||
import mindustry.world.meta.*;
|
||||
|
||||
import static mindustry.Vars.state;
|
||||
|
||||
@ -38,6 +39,13 @@ public class Reconstructor extends UnitBlock{
|
||||
bars.add("progress", entity -> new Bar("bar.progress", Pal.ammo, ((ReconstructorEntity)entity)::fraction));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStats(){
|
||||
super.setStats();
|
||||
|
||||
stats.add(BlockStat.productionTime, constructTime / 60f, StatUnit.seconds);
|
||||
}
|
||||
|
||||
public class ReconstructorEntity extends UnitBlockEntity{
|
||||
|
||||
public float fraction(){
|
||||
|