Allow making copies of the stock system

This commit is contained in:
Nick 2022-05-05 22:46:19 -04:00
parent 9faa08a0c8
commit 21ab007efd
4 changed files with 9 additions and 1 deletions

View File

@ -11,6 +11,7 @@ namespace NewHorizons.External.Configs
{ {
public bool canEnterViaWarpDrive = true; public bool canEnterViaWarpDrive = true;
public bool startHere = false; public bool startHere = false;
public bool destroyStockPlanets = true;
public string factRequiredForWarp; public string factRequiredForWarp;
public NomaiCoordinates coords; public NomaiCoordinates coords;

View File

@ -104,7 +104,7 @@ namespace NewHorizons.Handlers
// I don't know what these do but they look really weird from a distance // I don't know what these do but they look really weird from a distance
Main.Instance.ModHelper.Events.Unity.FireOnNextUpdate(PlanetDestroyer.RemoveAllProxies); Main.Instance.ModHelper.Events.Unity.FireOnNextUpdate(PlanetDestroyer.RemoveAllProxies);
if (Main.Instance.CurrentStarSystem != "SolarSystem") PlanetDestroyer.RemoveSolarSystem(); if (Main.SystemDict[Main.Instance.CurrentStarSystem].Config.destroyStockPlanets) PlanetDestroyer.RemoveSolarSystem();
} }
public static bool LoadBody(NewHorizonsBody body, bool defaultPrimaryToSun = false) public static bool LoadBody(NewHorizonsBody body, bool defaultPrimaryToSun = false)

View File

@ -110,9 +110,12 @@ namespace NewHorizons
GlobalMessenger<DeathType>.AddListener("PlayerDeath", OnDeath); GlobalMessenger<DeathType>.AddListener("PlayerDeath", OnDeath);
GlobalMessenger.AddListener("WakeUp", new Callback(OnWakeUp)); GlobalMessenger.AddListener("WakeUp", new Callback(OnWakeUp));
ShaderBundle = Main.Instance.ModHelper.Assets.LoadBundle("AssetBundle/shader"); ShaderBundle = Main.Instance.ModHelper.Assets.LoadBundle("AssetBundle/shader");
BodyDict["SolarSystem"] = new List<NewHorizonsBody>(); BodyDict["SolarSystem"] = new List<NewHorizonsBody>();
BodyDict["EyeOfTheUniverse"] = new List<NewHorizonsBody>(); // Keep this empty tho fr BodyDict["EyeOfTheUniverse"] = new List<NewHorizonsBody>(); // Keep this empty tho fr
SystemDict["SolarSystem"] = new NewHorizonsSystem("SolarSystem", new StarSystemConfig(null), this); SystemDict["SolarSystem"] = new NewHorizonsSystem("SolarSystem", new StarSystemConfig(null), this);
SystemDict["SolarSystem"].Config.destroyStockPlanets = false;
Logger.Log("Begin load of config files...", Logger.LogType.Log); Logger.Log("Begin load of config files...", Logger.LogType.Log);

View File

@ -15,6 +15,10 @@
"factRequiredForWarp": { "factRequiredForWarp": {
"type": "string", "type": "string",
"description": "Set to the FactID that must be revealed before it can be warped to. Don't set `CanEnterViaWarpDrive` to false if you're using this, that would make no sense." "description": "Set to the FactID that must be revealed before it can be warped to. Don't set `CanEnterViaWarpDrive` to false if you're using this, that would make no sense."
},
"destroyStockPlanets": {
"type": "bool",
"description": "Do you want a clean slate for this star system? Or will it be a modified version of the original."
} }
} }
} }