Sunken Pier map submission

This commit is contained in:
Anuken 2025-09-19 12:37:22 -04:00
parent 807a8fe089
commit bf051fa7bc
10 changed files with 26 additions and 11 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 723 B

View file

@ -880,6 +880,7 @@ sector.seaPort.name = Sea Port
sector.weatheredChannels.name = Weathered Channels
sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
@ -905,6 +906,7 @@ sector.navalFortress.description = The enemy has established a base on a remote,
#do not translate
sector.facility32m.description = WIP, map submission by Stormride_R
sector.taintedWoods.description = WIP, map submission by Stormride_R
sector.sunkenPier.description = WIP, map submission by Stormride_R
sector.atolls.description = WIP, map submission by Stormride_R
sector.frontier.description = WIP, map submission by Stormride_R
sector.infestedCanyons.description = WIP, map submission by Skeledragon

Binary file not shown.

View file

@ -1 +1 @@
{presets:{windsweptIslands:97,stainedMountains:223,weatheredChannels:166,craters:219,extractionOutpost:213,coastline:164,navalFortress:165,frontier:86,groundZero:170,mycelialBastion:143,facility32m:65,atolls:75,overgrowth:142,testingGrounds:169,frozenForest:64,saltFlats:98,taintedWoods:145,infestedCanyons:85,desolateRift:271,nuclearComplex:228,ruinousShores:41,planetaryTerminal:217,impact0078:266,seaPort:214,geothermalStronghold:264,cruxscape:54,fungalPass:221,tarFields:99,biomassFacility:23},attackSectors:[0,6,13,16,19,20,24,27,30,47,55,66,67,69,76,92,94,103,111,116,127,133,138,150,157,161,162,176,180,185,191,192,197,200,204,207,225,230,237,242,243,244,245,246,247,248,251,254,259,263,265]}
{presets:{windsweptIslands:97,stainedMountains:223,weatheredChannels:166,craters:219,extractionOutpost:213,coastline:164,navalFortress:165,frontier:86,sunkenPier:173,groundZero:170,mycelialBastion:143,facility32m:65,atolls:75,overgrowth:142,testingGrounds:169,frozenForest:64,saltFlats:98,taintedWoods:145,infestedCanyons:85,desolateRift:271,nuclearComplex:228,ruinousShores:41,planetaryTerminal:217,impact0078:266,seaPort:214,geothermalStronghold:264,cruxscape:54,fungalPass:221,tarFields:99,biomassFacility:23},attackSectors:[0,6,13,16,19,20,24,27,30,47,55,66,67,69,76,92,94,103,111,116,127,133,138,150,157,161,162,176,180,185,191,192,197,200,204,207,225,230,237,242,243,244,245,246,247,248,251,254,259,263,265]}

View file

@ -66,11 +66,7 @@ public class Planets{
defaultCore = Blocks.coreBastion;
iconColor = Color.valueOf("ff9266");
enemyBuildSpeedMultiplier = 0.4f;
//TODO disallowed for now
allowLaunchToNumbered = false;
//TODO SHOULD there be lighting?
updateLighting = false;
defaultAttributes.set(Attribute.heat, 0.8f);

View file

@ -9,7 +9,7 @@ public class SectorPresets{
public static SectorPreset
groundZero,
craters, biomassFacility, taintedWoods, frozenForest, ruinousShores, facility32m, windsweptIslands, stainedMountains, tarFields,
frontier, fungalPass, infestedCanyons, atolls, mycelialBastion, extractionOutpost, saltFlats, testingGrounds, overgrowth, //polarAerodrome,
frontier, fungalPass, infestedCanyons, atolls, sunkenPier, mycelialBastion, extractionOutpost, saltFlats, testingGrounds, overgrowth, //polarAerodrome,
impact0078, desolateRift, nuclearComplex, planetaryTerminal,
coastline, navalFortress, weatheredChannels, seaPort,
@ -123,6 +123,11 @@ public class SectorPresets{
difficulty = 7;
}};
sunkenPier = new SectorPreset("sunkenPier", serpulo, -1){{
captureWave = 50;
difficulty = 8;
}};
mycelialBastion = new SectorPreset("mycelialBastion", serpulo, 260){{
difficulty = 8;
}};

View file

@ -580,6 +580,14 @@ public class SerpuloTechTree{
new Research(cyclone),
new Research(ripple)
), () -> {
node(sunkenPier, Seq.with(
new SectorComplete(navalFortress),
new SectorComplete(coastline),
new Research(multiplicativeReconstructor)
), () -> {
});
node(weatheredChannels, Seq.with(
new SectorComplete(impact0078),
new SectorComplete(navalFortress),

View file

@ -70,9 +70,13 @@ public class SectorPreset extends UnlockableContent{
sector = data.presets.get(name, sector);
}
sector %= planet.sectors.size;
this.sector = planet.sectors.get(sector);
this.sector = planet.sectors.get(sector == -1 ? 0 : sector);
planet.preset(sector, this);
if(sector != -1){
planet.preset(sector, this);
}else{
Log.warn("Preset '@' doesn't have a sector assigned.", name);
}
}
@Override

View file

@ -269,7 +269,7 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
//announce new presets
for(SectorPreset preset : content.sectors()){
if(preset.unlocked() && !preset.alwaysUnlocked && !preset.sector.info.shown && preset.requireUnlock && !preset.sector.hasBase() && preset.planet == state.planet){
if(preset.unlocked() && preset.sector.preset == preset && !preset.alwaysUnlocked && !preset.sector.info.shown && preset.requireUnlock && !preset.sector.hasBase() && preset.planet == state.planet){
newPresets.add(preset.sector);
preset.sector.info.shown = true;
preset.sector.saveInfo();
@ -662,7 +662,7 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
PlanetData data = new PlanetData();
IntSeq attack = new IntSeq();
for(var sector : state.planet.sectors){
if(sector.preset == null && sector.generateEnemyBase){
if((sector.preset == null || !sector.preset.requireUnlock) && sector.generateEnemyBase){
attack.add(sector.id);
}

View file

@ -78,6 +78,6 @@ public class SectorSelectDialog extends BaseDialog{
}
boolean matches(SectorPreset sector, String text){
return sector.planet == planet && (text.isEmpty() || sector.name.toLowerCase(Locale.ROOT).contains(text) || sector.localizedName.toLowerCase(Locale.ROOT).contains(text));
return sector.planet == planet && sector.requireUnlock && (text.isEmpty() || sector.name.toLowerCase(Locale.ROOT).contains(text) || sector.localizedName.toLowerCase(Locale.ROOT).contains(text));
}
}