Unit name changes
@@ -4,6 +4,8 @@ alpha=0
|
||||
block=1
|
||||
cix=2
|
||||
draug=3
|
||||
flare=36
|
||||
horizon=35
|
||||
mace=4
|
||||
mega=28
|
||||
mindustry.entities.comp.BuildingComp=22
|
||||
|
||||
|
Before Width: | Height: | Size: 592 KiB After Width: | Height: | Size: 591 KiB |
|
Before Width: | Height: | Size: 1020 KiB After Width: | Height: | Size: 1014 KiB |
|
Before Width: | Height: | Size: 184 KiB After Width: | Height: | Size: 180 KiB |
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 185 KiB After Width: | Height: | Size: 181 KiB |
@@ -1698,7 +1698,7 @@ public class Blocks implements ContentList{
|
||||
airFactory = new UnitFactory("air-factory"){{
|
||||
requirements(Category.units, with(Items.copper, 30, Items.lead, 70));
|
||||
plans = new UnitPlan[]{
|
||||
new UnitPlan(UnitTypes.wraith, 200f, with(Items.silicon, 10)),
|
||||
new UnitPlan(UnitTypes.flare, 200f, with(Items.silicon, 10)),
|
||||
new UnitPlan(UnitTypes.mono, 200f, with(Items.silicon, 10)),
|
||||
//new UnitPlan(UnitTypes.phantom, 200f, with(Items.silicon, 10)),
|
||||
};
|
||||
@@ -1729,7 +1729,7 @@ public class Blocks implements ContentList{
|
||||
{UnitTypes.nova, UnitTypes.quasar},
|
||||
{UnitTypes.dagger, UnitTypes.mace},
|
||||
{UnitTypes.crawler, UnitTypes.eruptor},
|
||||
{UnitTypes.wraith, UnitTypes.ghoul},
|
||||
{UnitTypes.flare, UnitTypes.horizon},
|
||||
{UnitTypes.mono, UnitTypes.poly},
|
||||
{UnitTypes.risse, UnitTypes.minke},
|
||||
};
|
||||
@@ -1745,10 +1745,11 @@ public class Blocks implements ContentList{
|
||||
constructTime = 60f * 15f;
|
||||
|
||||
upgrades = new UnitType[][]{
|
||||
{UnitTypes.ghoul, UnitTypes.revenant},
|
||||
{UnitTypes.horizon, UnitTypes.zenith},
|
||||
{UnitTypes.mace, UnitTypes.fortress},
|
||||
{UnitTypes.poly, UnitTypes.mega},
|
||||
{UnitTypes.minke, UnitTypes.bryde},
|
||||
{UnitTypes.quasar, UnitTypes.pulsar},
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -1763,7 +1764,7 @@ public class Blocks implements ContentList{
|
||||
constructTime = 60f * 60f;
|
||||
|
||||
upgrades = new UnitType[][]{
|
||||
{UnitTypes.revenant, UnitTypes.lich},
|
||||
{UnitTypes.zenith, UnitTypes.antumbra},
|
||||
};
|
||||
}};
|
||||
|
||||
@@ -1778,7 +1779,7 @@ public class Blocks implements ContentList{
|
||||
constructTime = 60f * 60f * 3;
|
||||
|
||||
upgrades = new UnitType[][]{
|
||||
{UnitTypes.lich, UnitTypes.reaper},
|
||||
{UnitTypes.antumbra, UnitTypes.eclipse},
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ public class UnitTypes implements ContentList{
|
||||
public static @EntityDef({Unitc.class, Legsc.class}) UnitType cix, eruptor;
|
||||
|
||||
//air (no special traits)
|
||||
public static @EntityDef({Unitc.class}) UnitType wraith, reaper, ghoul, revenant, lich;
|
||||
public static @EntityDef({Unitc.class}) UnitType flare, eclipse, horizon, zenith, antumbra;
|
||||
|
||||
//air + building
|
||||
public static @EntityDef({Unitc.class, Builderc.class}) UnitType mono;
|
||||
@@ -319,7 +319,7 @@ public class UnitTypes implements ContentList{
|
||||
//endregion
|
||||
//region air attack
|
||||
|
||||
wraith = new UnitType("wraith"){{
|
||||
flare = new UnitType("flare"){{
|
||||
speed = 3f;
|
||||
accel = 0.08f;
|
||||
drag = 0.01f;
|
||||
@@ -338,7 +338,7 @@ public class UnitTypes implements ContentList{
|
||||
}});
|
||||
}};
|
||||
|
||||
ghoul = new UnitType("ghoul"){{
|
||||
horizon = new UnitType("horizon"){{
|
||||
health = 220;
|
||||
speed = 2f;
|
||||
accel = 0.08f;
|
||||
@@ -362,7 +362,7 @@ public class UnitTypes implements ContentList{
|
||||
}});
|
||||
}};
|
||||
|
||||
revenant = new UnitType("revenant"){{
|
||||
zenith = new UnitType("zenith"){{
|
||||
health = 220;
|
||||
speed = 1.9f;
|
||||
accel = 0.04f;
|
||||
@@ -375,7 +375,7 @@ public class UnitTypes implements ContentList{
|
||||
engineOffset = 12f;
|
||||
engineSize = 3f;
|
||||
|
||||
weapons.add(new Weapon("revenant-missiles"){{
|
||||
weapons.add(new Weapon("zenith-missiles"){{
|
||||
reload = 70f;
|
||||
x = 7f;
|
||||
rotate = true;
|
||||
@@ -402,7 +402,28 @@ public class UnitTypes implements ContentList{
|
||||
}});
|
||||
}};
|
||||
|
||||
reaper = new UnitType("reaper"){{
|
||||
antumbra = new UnitType("antumbra"){{
|
||||
speed = 1.1f;
|
||||
accel = 0.02f;
|
||||
drag = 0.05f;
|
||||
rotateSpeed = 2.5f;
|
||||
flying = true;
|
||||
lowAltitude = true;
|
||||
health = 75000;
|
||||
engineOffset = 38;
|
||||
engineSize = 7.3f;
|
||||
hitsize = 58f;
|
||||
|
||||
weapons.add(new Weapon(){{
|
||||
y = 1.5f;
|
||||
reload = 28f;
|
||||
ejectEffect = Fx.shellEjectSmall;
|
||||
bullet = Bullets.standardCopper;
|
||||
shootSound = Sounds.shoot;
|
||||
}});
|
||||
}};
|
||||
|
||||
eclipse = new UnitType("eclipse"){{
|
||||
speed = 1.1f;
|
||||
accel = 0.02f;
|
||||
drag = 0.05f;
|
||||
@@ -424,27 +445,6 @@ public class UnitTypes implements ContentList{
|
||||
}});
|
||||
}};
|
||||
|
||||
lich = new UnitType("lich"){{
|
||||
speed = 1.1f;
|
||||
accel = 0.02f;
|
||||
drag = 0.05f;
|
||||
rotateSpeed = 2.5f;
|
||||
flying = true;
|
||||
lowAltitude = true;
|
||||
health = 75000;
|
||||
engineOffset = 38;
|
||||
engineSize = 7.3f;
|
||||
hitsize = 58f;
|
||||
|
||||
weapons.add(new Weapon(){{
|
||||
y = 1.5f;
|
||||
reload = 28f;
|
||||
ejectEffect = Fx.shellEjectSmall;
|
||||
bullet = Bullets.standardCopper;
|
||||
shootSound = Sounds.shoot;
|
||||
}});
|
||||
}};
|
||||
|
||||
//endregion
|
||||
//region air support
|
||||
|
||||
|
||||
@@ -257,6 +257,8 @@ public class Logic implements ApplicationListener{
|
||||
|
||||
@Remote(called = Loc.both)
|
||||
public static void launchZone(){
|
||||
if(!state.isCampaign()) return;
|
||||
|
||||
if(!headless){
|
||||
ui.hudfrag.showLaunch();
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ public class DefaultWaves{
|
||||
unitScaling = 1.5f;
|
||||
}},
|
||||
|
||||
new SpawnGroup(UnitTypes.wraith){{
|
||||
new SpawnGroup(UnitTypes.flare){{
|
||||
begin = 12;
|
||||
end = 16;
|
||||
unitScaling = 1f;
|
||||
@@ -72,7 +72,7 @@ public class DefaultWaves{
|
||||
effect = StatusEffects.overdrive;
|
||||
}},
|
||||
|
||||
new SpawnGroup(UnitTypes.wraith){{
|
||||
new SpawnGroup(UnitTypes.flare){{
|
||||
begin = 16;
|
||||
unitScaling = 1;
|
||||
spacing = 2;
|
||||
@@ -120,14 +120,14 @@ public class DefaultWaves{
|
||||
end = 130;
|
||||
}},
|
||||
|
||||
new SpawnGroup(UnitTypes.ghoul){{
|
||||
new SpawnGroup(UnitTypes.horizon){{
|
||||
begin = 40;
|
||||
unitAmount = 2;
|
||||
spacing = 2;
|
||||
unitScaling = 2;
|
||||
}},
|
||||
|
||||
new SpawnGroup(UnitTypes.wraith){{
|
||||
new SpawnGroup(UnitTypes.flare){{
|
||||
begin = 50;
|
||||
unitAmount = 4;
|
||||
unitScaling = 3;
|
||||
@@ -135,7 +135,7 @@ public class DefaultWaves{
|
||||
effect = StatusEffects.overdrive;
|
||||
}},
|
||||
|
||||
new SpawnGroup(UnitTypes.revenant){{
|
||||
new SpawnGroup(UnitTypes.zenith){{
|
||||
begin = 50;
|
||||
unitAmount = 2;
|
||||
unitScaling = 3;
|
||||
@@ -143,7 +143,7 @@ public class DefaultWaves{
|
||||
max = 16;
|
||||
}},
|
||||
|
||||
new SpawnGroup(UnitTypes.ghoul){{
|
||||
new SpawnGroup(UnitTypes.horizon){{
|
||||
begin = 53;
|
||||
unitAmount = 2;
|
||||
unitScaling = 3;
|
||||
@@ -171,14 +171,14 @@ public class DefaultWaves{
|
||||
spacing = 40;
|
||||
}},
|
||||
|
||||
new SpawnGroup(UnitTypes.lich){{
|
||||
new SpawnGroup(UnitTypes.antumbra){{
|
||||
begin = 131;
|
||||
unitAmount = 1;
|
||||
unitScaling = 1;
|
||||
spacing = 40;
|
||||
}},
|
||||
|
||||
new SpawnGroup(UnitTypes.ghoul){{
|
||||
new SpawnGroup(UnitTypes.horizon){{
|
||||
begin = 90;
|
||||
unitAmount = 2;
|
||||
unitScaling = 3;
|
||||
|
||||
@@ -30,7 +30,7 @@ public class MenuRenderer implements Disposable{
|
||||
private float time = 0f;
|
||||
private float flyerRot = 45f;
|
||||
private int flyers = Mathf.chance(0.2) ? Mathf.random(35) : Mathf.random(15);
|
||||
private UnitType flyerType = Structs.select(UnitTypes.wraith, UnitTypes.wraith, UnitTypes.ghoul, UnitTypes.mono, UnitTypes.poly, UnitTypes.mega, UnitTypes.revenant);
|
||||
private UnitType flyerType = Structs.select(UnitTypes.flare, UnitTypes.flare, UnitTypes.horizon, UnitTypes.mono, UnitTypes.poly, UnitTypes.mega, UnitTypes.zenith);
|
||||
|
||||
public MenuRenderer(){
|
||||
Time.mark();
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.io.*;
|
||||
|
||||
public class ImagePacker{
|
||||
static ObjectMap<String, TextureRegion> regionCache = new ObjectMap<>();
|
||||
static ObjectMap<TextureRegion, BufferedImage> imageCache = new ObjectMap<>();
|
||||
static ObjectMap<String, BufferedImage> imageCache = new ObjectMap<>();
|
||||
|
||||
public static void main(String[] args) throws Exception{
|
||||
Vars.headless = true;
|
||||
@@ -33,10 +33,14 @@ public class ImagePacker{
|
||||
Log.setLogger(new DefaultLogHandler());
|
||||
|
||||
Fi.get("../../../assets-raw/sprites_out").walk(path -> {
|
||||
if(!path.extEquals("png")) return;
|
||||
|
||||
String fname = path.nameWithoutExtension();
|
||||
|
||||
try{
|
||||
BufferedImage image = ImageIO.read(path.file());
|
||||
|
||||
if(image == null) throw new IOException("image " + path.absolutePath() + " is null for terrible reasons");
|
||||
GenRegion region = new GenRegion(fname, path){
|
||||
|
||||
@Override
|
||||
@@ -61,7 +65,7 @@ public class ImagePacker{
|
||||
};
|
||||
|
||||
regionCache.put(fname, region);
|
||||
imageCache.put(region, image);
|
||||
imageCache.put(fname, image);
|
||||
}catch(IOException e){
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
@@ -152,7 +156,7 @@ public class ImagePacker{
|
||||
}
|
||||
|
||||
static BufferedImage buf(TextureRegion region){
|
||||
return imageCache.get(region);
|
||||
return imageCache.get(((AtlasRegion)region).name);
|
||||
}
|
||||
|
||||
static Image create(int width, int height){
|
||||
@@ -170,7 +174,7 @@ public class ImagePacker{
|
||||
static Image get(TextureRegion region){
|
||||
GenRegion.validate(region);
|
||||
|
||||
return new Image(imageCache.get(region));
|
||||
return new Image(imageCache.get(((AtlasRegion)region).name));
|
||||
}
|
||||
|
||||
static void err(String message, Object... args){
|
||||
@@ -178,11 +182,11 @@ public class ImagePacker{
|
||||
}
|
||||
|
||||
static class GenRegion extends AtlasRegion{
|
||||
String name;
|
||||
boolean invalid;
|
||||
Fi path;
|
||||
|
||||
GenRegion(String name, Fi path){
|
||||
if(name == null) throw new IllegalArgumentException("name is null");
|
||||
this.name = name;
|
||||
this.path = path;
|
||||
}
|
||||
|
||||