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.weatheredChannels.name = Weathered Channels
sector.mycelialBastion.name = Mycelial Bastion sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.cruxscape.name = Cruxscape sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold sector.geothermalStronghold.name = Geothermal Stronghold
@ -905,6 +906,7 @@ sector.navalFortress.description = The enemy has established a base on a remote,
#do not translate #do not translate
sector.facility32m.description = WIP, map submission by Stormride_R sector.facility32m.description = WIP, map submission by Stormride_R
sector.taintedWoods.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.atolls.description = WIP, map submission by Stormride_R
sector.frontier.description = WIP, map submission by Stormride_R sector.frontier.description = WIP, map submission by Stormride_R
sector.infestedCanyons.description = WIP, map submission by Skeledragon 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; defaultCore = Blocks.coreBastion;
iconColor = Color.valueOf("ff9266"); iconColor = Color.valueOf("ff9266");
enemyBuildSpeedMultiplier = 0.4f; enemyBuildSpeedMultiplier = 0.4f;
//TODO disallowed for now
allowLaunchToNumbered = false; allowLaunchToNumbered = false;
//TODO SHOULD there be lighting?
updateLighting = false; updateLighting = false;
defaultAttributes.set(Attribute.heat, 0.8f); defaultAttributes.set(Attribute.heat, 0.8f);

View file

@ -9,7 +9,7 @@ public class SectorPresets{
public static SectorPreset public static SectorPreset
groundZero, groundZero,
craters, biomassFacility, taintedWoods, frozenForest, ruinousShores, facility32m, windsweptIslands, stainedMountains, tarFields, 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, impact0078, desolateRift, nuclearComplex, planetaryTerminal,
coastline, navalFortress, weatheredChannels, seaPort, coastline, navalFortress, weatheredChannels, seaPort,
@ -123,6 +123,11 @@ public class SectorPresets{
difficulty = 7; difficulty = 7;
}}; }};
sunkenPier = new SectorPreset("sunkenPier", serpulo, -1){{
captureWave = 50;
difficulty = 8;
}};
mycelialBastion = new SectorPreset("mycelialBastion", serpulo, 260){{ mycelialBastion = new SectorPreset("mycelialBastion", serpulo, 260){{
difficulty = 8; difficulty = 8;
}}; }};

View file

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

View file

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

View file

@ -269,7 +269,7 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
//announce new presets //announce new presets
for(SectorPreset preset : content.sectors()){ 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); newPresets.add(preset.sector);
preset.sector.info.shown = true; preset.sector.info.shown = true;
preset.sector.saveInfo(); preset.sector.saveInfo();
@ -662,7 +662,7 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
PlanetData data = new PlanetData(); PlanetData data = new PlanetData();
IntSeq attack = new IntSeq(); IntSeq attack = new IntSeq();
for(var sector : state.planet.sectors){ 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); attack.add(sector.id);
} }

View file

@ -78,6 +78,6 @@ public class SectorSelectDialog extends BaseDialog{
} }
boolean matches(SectorPreset sector, String text){ 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));
} }
} }