Added 8 hidden sectors to Serpulo (UNTESTED)
This commit is contained in:
@@ -163,6 +163,18 @@ public class SectorPresets{
|
||||
difficulty = 10;
|
||||
}};
|
||||
|
||||
//TODO: for wave survival sectors the capture wave is incorrect
|
||||
registerHiddenSectors(serpulo,
|
||||
68, //Winter Forest by wpx: https://discord.com/channels/391020510269669376/1165421701362897000/1235654407006322700
|
||||
241,//River Bastion by wpx: https://discord.com/channels/391020510269669376/1165421701362897000/1232658317126402050
|
||||
173,//Front Line by stormrider: https://discord.com/channels/391020510269669376/1165421701362897000/1188484967064404061
|
||||
25, //HochuPizzu by wpx: https://discord.com/channels/391020510269669376/1165421701362897000/1170279703056228515
|
||||
12, //Salt Outpost by skeledragon: https://discord.com/channels/391020510269669376/1165421701362897000/1193441915459338361
|
||||
82, //Desert Wastes by xaphiro_: https://discord.com/channels/391020510269669376/1165421701362897000/1226498922898264157
|
||||
243,//Port 012 by skeledragon: https://discord.com/channels/391020510269669376/1165421701362897000/1174884280242012262
|
||||
240 //Cold Grove by wpx: https://discord.com/channels/391020510269669376/1165421701362897000/1230550892718194742
|
||||
);
|
||||
|
||||
//endregion
|
||||
//region erekir
|
||||
|
||||
@@ -186,11 +198,11 @@ public class SectorPresets{
|
||||
attackAfterWaves = true;
|
||||
}};
|
||||
|
||||
atlas = new SectorPreset("atlas", erekir, 14){{ //TODO random sector, pick a better one
|
||||
atlas = new SectorPreset("atlas", erekir, 14){{
|
||||
difficulty = 5;
|
||||
}};
|
||||
|
||||
split = new SectorPreset("split", erekir, 19){{ //TODO random sector, pick a better one
|
||||
split = new SectorPreset("split", erekir, 19){{
|
||||
difficulty = 2;
|
||||
}};
|
||||
|
||||
@@ -244,4 +256,12 @@ public class SectorPresets{
|
||||
|
||||
//endregion
|
||||
}
|
||||
|
||||
static void registerHiddenSectors(Planet planet, int... ids){
|
||||
for(int id : ids){
|
||||
new SectorPreset("sector-" + planet.name + "-" + id, "hidden/" + planet + "-" + id, planet, id){{
|
||||
requireUnlock = false;
|
||||
}};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ public class SerpuloPlanetGenerator extends PlanetGenerator{
|
||||
|
||||
@Override
|
||||
public void getLockedText(Sector hovered, StringBuilder out){
|
||||
if(hovered.preset == null && hovered.near().contains(Sector::hasBase)){
|
||||
if((hovered.preset == null || !hovered.preset.requireUnlock) && hovered.near().contains(Sector::hasBase)){
|
||||
out.append("[red]").append(Iconc.cancel).append("[]").append(Blocks.coreFoundation.emoji()).append(Core.bundle.get("sector.foundationrequired"));
|
||||
}else{
|
||||
super.getLockedText(hovered, out);
|
||||
|
||||
@@ -331,7 +331,7 @@ public class Planet extends UnlockableContent{
|
||||
sum += 0.88f;
|
||||
}
|
||||
|
||||
sector.threat = sector.preset == null ?
|
||||
sector.threat = sector.preset == null || !sector.preset.requireUnlock ?
|
||||
Math.max(Math.min(sum / 5f, 1.2f), 0.3f) : //low threat sectors are pointless
|
||||
Mathf.clamp(sector.preset.difficulty / 10f);
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ public class Sector{
|
||||
}
|
||||
|
||||
public String name(){
|
||||
if(preset != null && info.name == null) return preset.localizedName;
|
||||
if(preset != null && info.name == null && preset.requireUnlock) return preset.localizedName;
|
||||
//single-sector "planets" use their own name for the sector name.
|
||||
if(info.name == null && planet.sectors.size == 1){
|
||||
return planet.localizedName;
|
||||
|
||||
@@ -2,6 +2,7 @@ package mindustry.type;
|
||||
|
||||
import arc.*;
|
||||
import arc.func.*;
|
||||
import arc.util.*;
|
||||
import mindustry.ctype.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.gen.*;
|
||||
@@ -35,22 +36,27 @@ public class SectorPreset extends UnlockableContent{
|
||||
public boolean attackAfterWaves = false;
|
||||
|
||||
public SectorPreset(String name, Planet planet, int sector){
|
||||
this(name);
|
||||
this(name, null, planet, sector);
|
||||
}
|
||||
|
||||
public SectorPreset(String name, String fileName, Planet planet, int sector){
|
||||
this(name, fileName, null);
|
||||
initialize(planet, sector);
|
||||
}
|
||||
|
||||
/** Internal use only! */
|
||||
public SectorPreset(String name, LoadedMod mod){
|
||||
this(name, null, mod);
|
||||
}
|
||||
|
||||
/** Internal use only! */
|
||||
public SectorPreset(String name, @Nullable String fileName, LoadedMod mod){
|
||||
super(name);
|
||||
if(mod != null){
|
||||
this.minfo.mod = mod;
|
||||
}
|
||||
this.generator = new FileMapGenerator(this.name, this);
|
||||
}
|
||||
|
||||
/** Internal use only! */
|
||||
public SectorPreset(String name){
|
||||
this(name, null);
|
||||
//this.name can change based on the mod being loaded, so if a fileName is not specified, make sure to use the newly assigned this.name
|
||||
this.generator = new FileMapGenerator(fileName == null ? this.name : fileName, this);
|
||||
}
|
||||
|
||||
public void initialize(Planet planet, int sector){
|
||||
|
||||
@@ -264,7 +264,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.sector.hasBase() && preset.planet == state.planet){
|
||||
if(preset.unlocked() && !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();
|
||||
@@ -539,7 +539,7 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
|
||||
var preficon = sec.icon();
|
||||
var icon =
|
||||
sec.isAttacked() ? Fonts.getLargeIcon("warning") :
|
||||
!sec.hasBase() && sec.preset != null && sec.preset.unlocked() && preficon == null ?
|
||||
!sec.hasBase() && sec.preset != null && sec.preset.requireUnlock && sec.preset.unlocked() && preficon == null ?
|
||||
Fonts.getLargeIcon("terrain") :
|
||||
sec.preset != null && sec.preset.requireUnlock && sec.preset.locked() && sec.preset.techNode != null && (sec.preset.techNode.parent == null || !sec.preset.techNode.parent.content.locked()) ? Fonts.getLargeIcon("lock") :
|
||||
preficon;
|
||||
|
||||
Reference in New Issue
Block a user