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