Fixed #7178 / Maps renamed

This commit is contained in:
Anuken
2022-07-15 19:26:23 -04:00
parent f6093c864f
commit 8d6cac39d0
9 changed files with 59 additions and 43 deletions

View File

@@ -740,14 +740,20 @@ sector.impact0078.description = Here lie remnants of the interstellar transport
sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure. sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure.
sector.onset.name = The Onset sector.onset.name = The Onset
sector.aegis.name = Aegis
sector.lake.name = Name
sector.intersect.name = Intersect
sector.atlas.name = Atlas
sector.split.name = Split
sector.basin.name = Basin
sector.onset.description = The tutorial sector. This objective has not been created yet. Await further information. sector.onset.description = The tutorial sector. This objective has not been created yet. Await further information.
sector.two.description = The enemy is protected by shields. An experimental shield breaker module has been detected in this sector.\nLocate this structure. Supply it with tungsten ammunition and destroy the enemy base. sector.aegis.description = The enemy is protected by shields. An experimental shield breaker module has been detected in this sector.\nLocate this structure. Supply it with tungsten ammunition and destroy the enemy base.
sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible.
sector.three.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain.
sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[].
sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech.
sector.four.description = {Temporary}\n\nThe last sector for now. Consider this a challenge level! sector.basin.description = {Temporary}\n\nThe last sector for now. Consider this a challenge level - more sectors will be added in a later release.
status.burning.name = Burning status.burning.name = Burning
status.freezing.name = Freezing status.freezing.name = Freezing

View File

@@ -86,7 +86,7 @@ public class ErekirTechTree{
}); });
}); });
node(overflowDuct, Seq.with(new OnSector(two)), () -> { node(overflowDuct, Seq.with(new OnSector(aegis)), () -> {
node(underflowDuct); node(underflowDuct);
node(reinforcedContainer, () -> { node(reinforcedContainer, () -> {
node(ductUnloader, () -> { node(ductUnloader, () -> {
@@ -134,8 +134,8 @@ public class ErekirTechTree{
//TODO move into turbine condenser? //TODO move into turbine condenser?
node(plasmaBore, () -> { node(plasmaBore, () -> {
node(impactDrill, Seq.with(new OnSector(two)), () -> { node(impactDrill, Seq.with(new OnSector(aegis)), () -> {
node(largePlasmaBore, Seq.with(new OnSector(four)), () -> { node(largePlasmaBore, Seq.with(new OnSector(basin)), () -> {
node(eruptionDrill, () -> { node(eruptionDrill, () -> {
}); });
@@ -145,22 +145,22 @@ public class ErekirTechTree{
node(turbineCondenser, () -> { node(turbineCondenser, () -> {
node(beamNode, () -> { node(beamNode, () -> {
node(ventCondenser, Seq.with(new OnSector(two)), () -> { node(ventCondenser, Seq.with(new OnSector(aegis)), () -> {
node(chemicalCombustionChamber, Seq.with(new OnSector(four)), () -> { node(chemicalCombustionChamber, Seq.with(new OnSector(basin)), () -> {
node(pyrolysisGenerator, () -> { node(pyrolysisGenerator, () -> {
}); });
}); });
}); });
node(beamTower, Seq.with(new OnSector(four)), () -> { node(beamTower, Seq.with(new OnSector(basin)), () -> {
}); });
node(regenProjector, () -> { node(regenProjector, () -> {
//TODO more tiers of build tower or "support" structures like overdrive projectors //TODO more tiers of build tower or "support" structures like overdrive projectors
node(buildTower, Seq.with(new OnSector(four)), () -> { node(buildTower, Seq.with(new OnSector(basin)), () -> {
node(shockwaveTower, () -> { node(shockwaveTower, () -> {
}); });
@@ -168,9 +168,9 @@ public class ErekirTechTree{
}); });
}); });
node(reinforcedConduit, Seq.with(new OnSector(two)), () -> { node(reinforcedConduit, Seq.with(new OnSector(aegis)), () -> {
//TODO maybe should be even later //TODO maybe should be even later
node(reinforcedPump, Seq.with(new OnSector(four)), () -> { node(reinforcedPump, Seq.with(new OnSector(basin)), () -> {
//TODO T2 pump, consume cyanogen or similar //TODO T2 pump, consume cyanogen or similar
}); });
@@ -181,7 +181,7 @@ public class ErekirTechTree{
node(reinforcedLiquidRouter, () -> { node(reinforcedLiquidRouter, () -> {
node(reinforcedLiquidContainer, () -> { node(reinforcedLiquidContainer, () -> {
node(reinforcedLiquidTank, Seq.with(new SectorComplete(three)), () -> { node(reinforcedLiquidTank, Seq.with(new SectorComplete(intersect)), () -> {
}); });
}); });
@@ -192,8 +192,8 @@ public class ErekirTechTree{
node(cliffCrusher, () -> { node(cliffCrusher, () -> {
node(siliconArcFurnace, () -> { node(siliconArcFurnace, () -> {
node(electrolyzer, Seq.with(new OnSector(atlas)), () -> { node(electrolyzer, Seq.with(new OnSector(atlas)), () -> {
node(oxidationChamber, Seq.with(new Research(tankRefabricator), new OnSector(four)), () -> { node(oxidationChamber, Seq.with(new Research(tankRefabricator), new OnSector(basin)), () -> {
node(electricHeater, Seq.with(new OnSector(four)), () -> { node(electricHeater, Seq.with(new OnSector(basin)), () -> {
node(heatRedirector, () -> { node(heatRedirector, () -> {
node(surgeCrucible, () -> { node(surgeCrucible, () -> {
@@ -204,8 +204,8 @@ public class ErekirTechTree{
}); });
node(atmosphericConcentrator, Seq.with(new OnSector(four)), () -> { node(atmosphericConcentrator, Seq.with(new OnSector(basin)), () -> {
node(cyanogenSynthesizer, Seq.with(new OnSector(four)), () -> { node(cyanogenSynthesizer, Seq.with(new OnSector(basin)), () -> {
}); });
}); });
@@ -220,7 +220,7 @@ public class ErekirTechTree{
}); });
}); });
node(slagIncinerator, Seq.with(new OnSector(four)), () -> { node(slagIncinerator, Seq.with(new OnSector(basin)), () -> {
//TODO these are unused. //TODO these are unused.
//node(slagCentrifuge, () -> {}); //node(slagCentrifuge, () -> {});
@@ -261,25 +261,25 @@ public class ErekirTechTree{
node(diffuse, Seq.with(new OnSector(lake)), () -> { node(diffuse, Seq.with(new OnSector(lake)), () -> {
node(sublimate, () -> { node(sublimate, () -> {
node(titan, Seq.with(new OnSector(four)), () -> { node(titan, Seq.with(new OnSector(basin)), () -> {
node(afflict, Seq.with(new OnSector(four)), () -> { node(afflict, Seq.with(new OnSector(basin)), () -> {
}); });
}); });
node(disperse, Seq.with(new OnSector(four)), () -> { node(disperse, Seq.with(new OnSector(basin)), () -> {
}); });
}); });
}); });
node(radar, Seq.with(new Research(beamNode), new Research(turbineCondenser), new Research(tankFabricator), new OnSector(SectorPresets.two)), () -> { node(radar, Seq.with(new Research(beamNode), new Research(turbineCondenser), new Research(tankFabricator), new OnSector(SectorPresets.aegis)), () -> {
}); });
}); });
node(coreCitadel, Seq.with(new SectorComplete(four)), () -> { node(coreCitadel, Seq.with(new SectorComplete(basin)), () -> {
node(coreAcropolis, () -> { node(coreAcropolis, () -> {
}); });
@@ -288,23 +288,23 @@ public class ErekirTechTree{
node(tankFabricator, Seq.with(new Research(siliconArcFurnace), new Research(plasmaBore), new Research(turbineCondenser)), () -> { node(tankFabricator, Seq.with(new Research(siliconArcFurnace), new Research(plasmaBore), new Research(turbineCondenser)), () -> {
node(UnitTypes.stell); node(UnitTypes.stell);
node(unitRepairTower, Seq.with(new OnSector(four), new Research(mechRefabricator)), () -> { node(unitRepairTower, Seq.with(new OnSector(basin), new Research(mechRefabricator)), () -> {
}); });
node(shipFabricator, Seq.with(new OnSector(lake)), () -> { node(shipFabricator, Seq.with(new OnSector(lake)), () -> {
node(UnitTypes.elude); node(UnitTypes.elude);
node(mechFabricator, Seq.with(new OnSector(three)), () -> { node(mechFabricator, Seq.with(new OnSector(intersect)), () -> {
node(UnitTypes.merui); node(UnitTypes.merui);
node(tankRefabricator, Seq.with(new OnSector(atlas)), () -> { node(tankRefabricator, Seq.with(new OnSector(atlas)), () -> {
node(UnitTypes.locus); node(UnitTypes.locus);
node(mechRefabricator, Seq.with(new OnSector(four)), () -> { node(mechRefabricator, Seq.with(new OnSector(basin)), () -> {
node(UnitTypes.cleroi); node(UnitTypes.cleroi);
node(shipRefabricator, Seq.with(new OnSector(four), tmpNever), () -> { node(shipRefabricator, Seq.with(new OnSector(basin), tmpNever), () -> {
node(UnitTypes.avert); node(UnitTypes.avert);
//TODO //TODO
@@ -314,7 +314,7 @@ public class ErekirTechTree{
node(UnitTypes.obviate); node(UnitTypes.obviate);
}); });
node(tankAssembler, Seq.with(new OnSector(three), new Research(constructor), new Research(atmosphericConcentrator)), () -> { node(tankAssembler, Seq.with(new OnSector(intersect), new Research(constructor), new Research(atmosphericConcentrator)), () -> {
node(UnitTypes.vanquish, () -> { node(UnitTypes.vanquish, () -> {
node(UnitTypes.conquer, Seq.with(tmpNever), () -> { node(UnitTypes.conquer, Seq.with(tmpNever), () -> {
@@ -322,7 +322,7 @@ public class ErekirTechTree{
}); });
}); });
node(shipAssembler, Seq.with(new OnSector(four)), () -> { node(shipAssembler, Seq.with(new OnSector(basin)), () -> {
node(UnitTypes.quell, () -> { node(UnitTypes.quell, () -> {
node(UnitTypes.disrupt, Seq.with(tmpNever), () -> { node(UnitTypes.disrupt, Seq.with(tmpNever), () -> {
@@ -346,18 +346,18 @@ public class ErekirTechTree{
}); });
node(onset, () -> { node(onset, () -> {
node(two, Seq.with(new SectorComplete(onset), new Research(ductRouter), new Research(ductBridge)), () -> { node(aegis, Seq.with(new SectorComplete(onset), new Research(ductRouter), new Research(ductBridge)), () -> {
node(lake, Seq.with(new SectorComplete(two)), () -> { node(lake, Seq.with(new SectorComplete(aegis)), () -> {
}); });
node(three, Seq.with(new SectorComplete(two), new SectorComplete(lake), new Research(ventCondenser), new Research(shipFabricator)), () -> { node(intersect, Seq.with(new SectorComplete(aegis), new SectorComplete(lake), new Research(ventCondenser), new Research(shipFabricator)), () -> {
node(atlas, Seq.with(new SectorComplete(three), new Research(mechFabricator)), () -> { node(atlas, Seq.with(new SectorComplete(intersect), new Research(mechFabricator)), () -> {
node(split, Seq.with(new SectorComplete(atlas), new Research(reinforcedPayloadConveyor), new Research(reinforcedContainer)), () -> { node(split, Seq.with(new SectorComplete(atlas), new Research(reinforcedPayloadConveyor), new Research(reinforcedContainer)), () -> {
}); });
node(four, Seq.with(new SectorComplete(atlas)), () -> { node(basin, Seq.with(new SectorComplete(atlas)), () -> {
}); });
}); });

View File

@@ -12,7 +12,7 @@ public class SectorPresets{
impact0078, desolateRift, nuclearComplex, planetaryTerminal, impact0078, desolateRift, nuclearComplex, planetaryTerminal,
coastline, navalFortress, coastline, navalFortress,
onset, two, lake, three, four, atlas, split; onset, aegis, lake, intersect, basin, atlas, split;
public static void load(){ public static void load(){
//region serpulo //region serpulo
@@ -113,7 +113,7 @@ public class SectorPresets{
difficulty = 1; difficulty = 1;
}}; }};
two = new SectorPreset("two", erekir, 88){{ aegis = new SectorPreset("aegis", erekir, 88){{
difficulty = 3; difficulty = 3;
}}; }};
@@ -121,10 +121,9 @@ public class SectorPresets{
difficulty = 4; difficulty = 4;
}}; }};
three = new SectorPreset("three", erekir, 36){{ intersect = new SectorPreset("intersect", erekir, 36){{
difficulty = 5; difficulty = 5;
captureWave = 9; captureWave = 9;
attackAfterWaves = true;
}}; }};
atlas = new SectorPreset("atlas", erekir, 14){{ //TODO random sector, pick a better one atlas = new SectorPreset("atlas", erekir, 14){{ //TODO random sector, pick a better one
@@ -135,7 +134,7 @@ public class SectorPresets{
difficulty = 5; difficulty = 5;
}}; }};
four = new SectorPreset("four", erekir, 29){{ basin = new SectorPreset("basin", erekir, 29){{
difficulty = 6; difficulty = 6;
}}; }};

View File

@@ -70,6 +70,7 @@ public class MapObjectives implements Iterable<MapObjective>, Eachable<MapObject
allObjectiveTypes.add(prov); allObjectiveTypes.add(prov);
Class<? extends MapObjective> type = prov.get().getClass(); Class<? extends MapObjective> type = prov.get().getClass();
JsonIO.classTag(Strings.camelize(type.getSimpleName().replace("Objective", "")), type);
JsonIO.classTag(type.getSimpleName().replace("Objective", ""), type); JsonIO.classTag(type.getSimpleName().replace("Objective", ""), type);
} }
} }
@@ -80,6 +81,7 @@ public class MapObjectives implements Iterable<MapObjective>, Eachable<MapObject
allMarkerTypes.add(prov); allMarkerTypes.add(prov);
Class<? extends ObjectiveMarker> type = prov.get().getClass(); Class<? extends ObjectiveMarker> type = prov.get().getClass();
JsonIO.classTag(Strings.camelize(type.getSimpleName().replace("Marker", "")), type);
JsonIO.classTag(type.getSimpleName().replace("Marker", ""), type); JsonIO.classTag(type.getSimpleName().replace("Marker", ""), type);
} }
} }

View File

@@ -287,11 +287,19 @@ public class JsonIO{
var exec = new MapObjectives(); var exec = new MapObjectives();
// First iteration to instantiate the objectives. // First iteration to instantiate the objectives.
for(var value = data.child; value != null; value = value.next){ for(var value = data.child; value != null; value = value.next){
//glenn why did you implement this in the least backwards compatible way possible
//the old objectives had lowercase class tags, now they're uppercase and either way I can't deserialize them without errors
if(value.has("class") && Character.isLowerCase(value.getString("class").charAt(0))){
return new MapObjectives();
}
MapObjective obj = json.readValue(MapObjective.class, value); MapObjective obj = json.readValue(MapObjective.class, value);
int pos = value.getInt("editorPos"); if(value.has("editorPos")){
obj.editorX = Point2.x(pos); int pos = value.getInt("editorPos");
obj.editorY = Point2.y(pos); obj.editorX = Point2.x(pos);
obj.editorY = Point2.y(pos);
}
exec.all.add(obj); exec.all.add(obj);
} }

View File

@@ -68,6 +68,7 @@ public class SaveIO{
getMeta(stream); getMeta(stream);
return true; return true;
}catch(Throwable e){ }catch(Throwable e){
Log.err(e);
return false; return false;
} }
} }