mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Add Ember Twin cairn variant (#608)
## Minor features - Added the Ember Twin Cairn variant (#591) ## Improvements - Renames the cairn NomaiTextType enums to what they actually are.
This commit is contained in:
commit
82e314dce6
@ -29,8 +29,9 @@ namespace NewHorizons.Builder.Props
|
|||||||
private static GameObject _scrollPrefab;
|
private static GameObject _scrollPrefab;
|
||||||
private static GameObject _computerPrefab;
|
private static GameObject _computerPrefab;
|
||||||
private static GameObject _preCrashComputerPrefab;
|
private static GameObject _preCrashComputerPrefab;
|
||||||
private static GameObject _cairnPrefab;
|
private static GameObject _cairnBHPrefab;
|
||||||
private static GameObject _cairnVariantPrefab;
|
private static GameObject _cairnTHPrefab;
|
||||||
|
private static GameObject _cairnCTPrefab;
|
||||||
private static GameObject _recorderPrefab;
|
private static GameObject _recorderPrefab;
|
||||||
private static GameObject _preCrashRecorderPrefab;
|
private static GameObject _preCrashRecorderPrefab;
|
||||||
private static GameObject _trailmarkerPrefab;
|
private static GameObject _trailmarkerPrefab;
|
||||||
@ -121,16 +122,22 @@ namespace NewHorizons.Builder.Props
|
|||||||
_preCrashComputerPrefab.transform.rotation = Quaternion.identity;
|
_preCrashComputerPrefab.transform.rotation = Quaternion.identity;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_cairnPrefab == null)
|
if (_cairnBHPrefab == null)
|
||||||
{
|
{
|
||||||
_cairnPrefab = SearchUtilities.Find("BrittleHollow_Body/Sector_BH/Sector_Crossroads/Interactables_Crossroads/Trailmarkers/Prefab_NOM_BH_Cairn_Arc (1)").InstantiateInactive().Rename("Prefab_NOM_Cairn").DontDestroyOnLoad();
|
_cairnBHPrefab = SearchUtilities.Find("BrittleHollow_Body/Sector_BH/Sector_Crossroads/Interactables_Crossroads/Trailmarkers/Prefab_NOM_BH_Cairn_Arc (1)").InstantiateInactive().Rename("Prefab_NOM_BH_Cairn").DontDestroyOnLoad();
|
||||||
_cairnPrefab.transform.rotation = Quaternion.identity;
|
_cairnBHPrefab.transform.rotation = Quaternion.identity;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_cairnVariantPrefab == null)
|
if (_cairnTHPrefab == null)
|
||||||
{
|
{
|
||||||
_cairnVariantPrefab = SearchUtilities.Find("TimberHearth_Body/Sector_TH/Sector_NomaiMines/Interactables_NomaiMines/Prefab_NOM_TH_Cairn_Arc").InstantiateInactive().Rename("Prefab_NOM_Cairn").DontDestroyOnLoad();
|
_cairnTHPrefab = SearchUtilities.Find("TimberHearth_Body/Sector_TH/Sector_NomaiMines/Interactables_NomaiMines/Prefab_NOM_TH_Cairn_Arc").InstantiateInactive().Rename("Prefab_NOM_TH_Cairn").DontDestroyOnLoad();
|
||||||
_cairnVariantPrefab.transform.rotation = Quaternion.identity;
|
_cairnTHPrefab.transform.rotation = Quaternion.identity;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_cairnCTPrefab == null)
|
||||||
|
{
|
||||||
|
_cairnCTPrefab = SearchUtilities.Find("CaveTwin_Body/Sector_CaveTwin/Sector_NorthHemisphere/Sector_NorthSurface/Sector_TimeLoopExperiment/Interactables_TimeLoopExperiment/Prefab_NOM_CT_Cairn_Arc").InstantiateInactive().Rename("Prefab_NOM_CT_Cairn").DontDestroyOnLoad();
|
||||||
|
_cairnCTPrefab.transform.rotation = Quaternion.identity;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_recorderPrefab == null)
|
if (_recorderPrefab == null)
|
||||||
@ -410,19 +417,16 @@ namespace NewHorizons.Builder.Props
|
|||||||
|
|
||||||
return computerObject;
|
return computerObject;
|
||||||
}
|
}
|
||||||
case NomaiTextType.Cairn:
|
case NomaiTextType.CairnBrittleHollow:
|
||||||
case NomaiTextType.CairnVariant:
|
case NomaiTextType.CairnTimberHearth:
|
||||||
|
case NomaiTextType.CairnEmberTwin:
|
||||||
{
|
{
|
||||||
var cairnObject = (info.type == NomaiTextType.CairnVariant ? _cairnVariantPrefab : _cairnPrefab).InstantiateInactive();
|
var cairnObject = (info.type == NomaiTextType.CairnTimberHearth ? _cairnTHPrefab : (info.type == NomaiTextType.CairnEmberTwin ? _cairnCTPrefab : _cairnBHPrefab)).InstantiateInactive();
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(info.rename))
|
if (!string.IsNullOrEmpty(info.rename))
|
||||||
{
|
{
|
||||||
cairnObject.name = info.rename;
|
cairnObject.name = info.rename;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
cairnObject.name = _cairnPrefab.name;
|
|
||||||
}
|
|
||||||
|
|
||||||
cairnObject.transform.parent = sector?.transform ?? planetGO.transform;
|
cairnObject.transform.parent = sector?.transform ?? planetGO.transform;
|
||||||
|
|
||||||
|
|||||||
@ -27,8 +27,9 @@ namespace NewHorizons.Builder.Props.TranslatorText
|
|||||||
private static GameObject _scrollPrefab;
|
private static GameObject _scrollPrefab;
|
||||||
public static GameObject ComputerPrefab { get; private set; }
|
public static GameObject ComputerPrefab { get; private set; }
|
||||||
private static GameObject _preCrashComputerPrefab;
|
private static GameObject _preCrashComputerPrefab;
|
||||||
private static GameObject _cairnPrefab;
|
private static GameObject _cairnBHPrefab;
|
||||||
private static GameObject _cairnVariantPrefab;
|
private static GameObject _cairnTHPrefab;
|
||||||
|
private static GameObject _cairnCTPrefab;
|
||||||
private static GameObject _recorderPrefab;
|
private static GameObject _recorderPrefab;
|
||||||
private static GameObject _preCrashRecorderPrefab;
|
private static GameObject _preCrashRecorderPrefab;
|
||||||
private static GameObject _trailmarkerPrefab;
|
private static GameObject _trailmarkerPrefab;
|
||||||
@ -93,14 +94,19 @@ namespace NewHorizons.Builder.Props.TranslatorText
|
|||||||
_preCrashComputerPrefab = SearchUtilities.Find("BrittleHollow_Body/Sector_BH/Sector_EscapePodCrashSite/Sector_CrashFragment/EscapePod_Socket/Interactibles_EscapePod/Prefab_NOM_Vessel_Computer").InstantiateInactive().Rename("Prefab_NOM_Vessel_Computer").DontDestroyOnLoad();
|
_preCrashComputerPrefab = SearchUtilities.Find("BrittleHollow_Body/Sector_BH/Sector_EscapePodCrashSite/Sector_CrashFragment/EscapePod_Socket/Interactibles_EscapePod/Prefab_NOM_Vessel_Computer").InstantiateInactive().Rename("Prefab_NOM_Vessel_Computer").DontDestroyOnLoad();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_cairnPrefab == null)
|
if (_cairnBHPrefab == null)
|
||||||
{
|
{
|
||||||
_cairnPrefab = SearchUtilities.Find("BrittleHollow_Body/Sector_BH/Sector_Crossroads/Interactables_Crossroads/Trailmarkers/Prefab_NOM_BH_Cairn_Arc (1)").InstantiateInactive().Rename("Prefab_NOM_Cairn").DontDestroyOnLoad();
|
_cairnBHPrefab = SearchUtilities.Find("BrittleHollow_Body/Sector_BH/Sector_Crossroads/Interactables_Crossroads/Trailmarkers/Prefab_NOM_BH_Cairn_Arc (1)").InstantiateInactive().Rename("Prefab_NOM_BH_Cairn").DontDestroyOnLoad();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_cairnVariantPrefab == null)
|
if (_cairnTHPrefab == null)
|
||||||
{
|
{
|
||||||
_cairnVariantPrefab = SearchUtilities.Find("TimberHearth_Body/Sector_TH/Sector_NomaiMines/Interactables_NomaiMines/Prefab_NOM_TH_Cairn_Arc").InstantiateInactive().Rename("Prefab_NOM_Cairn").DontDestroyOnLoad();
|
_cairnTHPrefab = SearchUtilities.Find("TimberHearth_Body/Sector_TH/Sector_NomaiMines/Interactables_NomaiMines/Prefab_NOM_TH_Cairn_Arc").InstantiateInactive().Rename("Prefab_NOM_TH_Cairn").DontDestroyOnLoad();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_cairnCTPrefab == null)
|
||||||
|
{
|
||||||
|
_cairnCTPrefab = SearchUtilities.Find("CaveTwin_Body/Sector_CaveTwin/Sector_NorthHemisphere/Sector_NorthSurface/Sector_TimeLoopExperiment/Interactables_TimeLoopExperiment/Prefab_NOM_CT_Cairn_Arc").InstantiateInactive().Rename("Prefab_NOM_CT_Cairn").DontDestroyOnLoad();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_recorderPrefab == null)
|
if (_recorderPrefab == null)
|
||||||
@ -269,11 +275,12 @@ namespace NewHorizons.Builder.Props.TranslatorText
|
|||||||
|
|
||||||
return computerObject;
|
return computerObject;
|
||||||
}
|
}
|
||||||
case NomaiTextType.Cairn:
|
case NomaiTextType.CairnBrittleHollow:
|
||||||
case NomaiTextType.CairnVariant:
|
case NomaiTextType.CairnTimberHearth:
|
||||||
|
case NomaiTextType.CairnEmberTwin:
|
||||||
{
|
{
|
||||||
var cairnPrefab = info.type == NomaiTextType.CairnVariant ? _cairnVariantPrefab : _cairnPrefab;
|
var cairnPrefab = info.type == NomaiTextType.CairnTimberHearth ? _cairnTHPrefab : (info.type == NomaiTextType.CairnEmberTwin ? _cairnCTPrefab : _cairnBHPrefab);
|
||||||
var cairnObject = GeneralPropBuilder.MakeFromPrefab(cairnPrefab, _cairnPrefab.name, planetGO, sector, info);
|
var cairnObject = GeneralPropBuilder.MakeFromPrefab(cairnPrefab, cairnPrefab.name, planetGO, sector, info);
|
||||||
|
|
||||||
// Idk do we have to set it active before finding things?
|
// Idk do we have to set it active before finding things?
|
||||||
cairnObject.SetActive(true);
|
cairnObject.SetActive(true);
|
||||||
|
|||||||
28
NewHorizons/External/Configs/PlanetConfig.cs
vendored
28
NewHorizons/External/Configs/PlanetConfig.cs
vendored
@ -579,6 +579,34 @@ namespace NewHorizons.External.Configs
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (Props?.nomaiText != null)
|
||||||
|
{
|
||||||
|
foreach (var nomaiText in Props.nomaiText)
|
||||||
|
{
|
||||||
|
if (nomaiText.type == Modules.TranslatorText.NomaiTextType.Cairn)
|
||||||
|
{
|
||||||
|
nomaiText.type = Modules.TranslatorText.NomaiTextType.CairnBrittleHollow;
|
||||||
|
}
|
||||||
|
else if (nomaiText.type == Modules.TranslatorText.NomaiTextType.CairnVariant)
|
||||||
|
{
|
||||||
|
nomaiText.type = Modules.TranslatorText.NomaiTextType.CairnTimberHearth;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (Props?.translatorText != null)
|
||||||
|
{
|
||||||
|
foreach (var translatorText in Props.translatorText)
|
||||||
|
{
|
||||||
|
if (translatorText.type == Modules.TranslatorText.NomaiTextType.Cairn)
|
||||||
|
{
|
||||||
|
translatorText.type = Modules.TranslatorText.NomaiTextType.CairnBrittleHollow;
|
||||||
|
}
|
||||||
|
else if (translatorText.type == Modules.TranslatorText.NomaiTextType.CairnVariant)
|
||||||
|
{
|
||||||
|
translatorText.type = Modules.TranslatorText.NomaiTextType.CairnTimberHearth;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (Base.hasCometTail)
|
if (Base.hasCometTail)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Converters;
|
using Newtonsoft.Json.Converters;
|
||||||
|
using System;
|
||||||
using System.Runtime.Serialization;
|
using System.Runtime.Serialization;
|
||||||
|
|
||||||
namespace NewHorizons.External.Modules.TranslatorText
|
namespace NewHorizons.External.Modules.TranslatorText
|
||||||
@ -7,24 +8,34 @@ namespace NewHorizons.External.Modules.TranslatorText
|
|||||||
[JsonConverter(typeof(StringEnumConverter))]
|
[JsonConverter(typeof(StringEnumConverter))]
|
||||||
public enum NomaiTextType
|
public enum NomaiTextType
|
||||||
{
|
{
|
||||||
[EnumMember(Value = @"wall")] Wall = 0,
|
[EnumMember(Value = @"wall")] Wall,
|
||||||
|
|
||||||
[EnumMember(Value = @"scroll")] Scroll = 1,
|
[EnumMember(Value = @"scroll")] Scroll,
|
||||||
|
|
||||||
[EnumMember(Value = @"computer")] Computer = 2,
|
[EnumMember(Value = @"whiteboard")] Whiteboard,
|
||||||
|
|
||||||
[EnumMember(Value = @"cairn")] Cairn = 3,
|
[EnumMember(Value = @"computer")] Computer,
|
||||||
|
|
||||||
[EnumMember(Value = @"recorder")] Recorder = 4,
|
[EnumMember(Value = @"preCrashComputer")] PreCrashComputer,
|
||||||
|
|
||||||
[EnumMember(Value = @"preCrashRecorder")] PreCrashRecorder = 5,
|
[EnumMember(Value = @"recorder")] Recorder,
|
||||||
|
|
||||||
[EnumMember(Value = @"preCrashComputer")] PreCrashComputer = 6,
|
[EnumMember(Value = @"preCrashRecorder")] PreCrashRecorder,
|
||||||
|
|
||||||
[EnumMember(Value = @"trailmarker")] Trailmarker = 7,
|
[EnumMember(Value = @"cairnBH")] CairnBrittleHollow,
|
||||||
|
|
||||||
[EnumMember(Value = @"cairnVariant")] CairnVariant = 8,
|
[EnumMember(Value = @"cairnTH")] CairnTimberHearth,
|
||||||
|
|
||||||
[EnumMember(Value = @"whiteboard")] Whiteboard = 9,
|
[EnumMember(Value = @"cairnCT")] CairnEmberTwin,
|
||||||
|
|
||||||
|
[EnumMember(Value = @"trailmarker")] Trailmarker,
|
||||||
|
|
||||||
|
#region Obsolete
|
||||||
|
|
||||||
|
[Obsolete("Please use CairnBrittleHollow instead")][EnumMember(Value = @"cairn")] Cairn,
|
||||||
|
|
||||||
|
[Obsolete("Please use CairnTimberHearth instead")][EnumMember(Value = @"cairnVariant")] CairnVariant,
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1636,26 +1636,28 @@
|
|||||||
"x-enumNames": [
|
"x-enumNames": [
|
||||||
"Wall",
|
"Wall",
|
||||||
"Scroll",
|
"Scroll",
|
||||||
|
"Whiteboard",
|
||||||
"Computer",
|
"Computer",
|
||||||
"Cairn",
|
"PreCrashComputer",
|
||||||
"Recorder",
|
"Recorder",
|
||||||
"PreCrashRecorder",
|
"PreCrashRecorder",
|
||||||
"PreCrashComputer",
|
"CairnBrittleHollow",
|
||||||
"Trailmarker",
|
"CairnTimberHearth",
|
||||||
"CairnVariant",
|
"CairnEmberTwin",
|
||||||
"Whiteboard"
|
"Trailmarker"
|
||||||
],
|
],
|
||||||
"enum": [
|
"enum": [
|
||||||
"wall",
|
"wall",
|
||||||
"scroll",
|
"scroll",
|
||||||
|
"whiteboard",
|
||||||
"computer",
|
"computer",
|
||||||
"cairn",
|
"preCrashComputer",
|
||||||
"recorder",
|
"recorder",
|
||||||
"preCrashRecorder",
|
"preCrashRecorder",
|
||||||
"preCrashComputer",
|
"cairnBH",
|
||||||
"trailmarker",
|
"cairnTH",
|
||||||
"cairnVariant",
|
"cairnCT",
|
||||||
"whiteboard"
|
"trailmarker"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"NomaiTextLocation": {
|
"NomaiTextLocation": {
|
||||||
|
|||||||
@ -82,6 +82,10 @@ public static class SchemaExporter
|
|||||||
{
|
{
|
||||||
case "Celestial Body Schema":
|
case "Celestial Body Schema":
|
||||||
schema.Definitions["OrbitModule"].Properties["semiMajorAxis"].Default = 5000f;
|
schema.Definitions["OrbitModule"].Properties["semiMajorAxis"].Default = 5000f;
|
||||||
|
schema.Definitions["NomaiTextType"].Enumeration.Remove("cairn");
|
||||||
|
schema.Definitions["NomaiTextType"].EnumerationNames.Remove("Cairn");
|
||||||
|
schema.Definitions["NomaiTextType"].Enumeration.Remove("cairnVariant");
|
||||||
|
schema.Definitions["NomaiTextType"].EnumerationNames.Remove("CairnVariant");
|
||||||
break;
|
break;
|
||||||
case "Star System Schema":
|
case "Star System Schema":
|
||||||
schema.Definitions["NomaiCoordinates"].Properties["x"].UniqueItems = true;
|
schema.Definitions["NomaiCoordinates"].Properties["x"].UniqueItems = true;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user