mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Check contains half as much
This commit is contained in:
parent
971ffd34fa
commit
720ecede5d
@ -22,8 +22,8 @@ namespace NewHorizons.Builder.Props
|
|||||||
|
|
||||||
public static int NumberOfFrequencies;
|
public static int NumberOfFrequencies;
|
||||||
|
|
||||||
public static List<SignalName> QMSignals { get; private set; }
|
private static List<SignalName> _qmSignals;
|
||||||
public static List<SignalName> CloakedSignals { get; private set; }
|
private static List<SignalName> _cloakedSignals;
|
||||||
|
|
||||||
public static bool Initialized;
|
public static bool Initialized;
|
||||||
|
|
||||||
@ -77,12 +77,22 @@ namespace NewHorizons.Builder.Props
|
|||||||
_nextCustomFrequencyName = 256;
|
_nextCustomFrequencyName = 256;
|
||||||
NumberOfFrequencies = 8;
|
NumberOfFrequencies = 8;
|
||||||
|
|
||||||
QMSignals = new List<SignalName>() { SignalName.Quantum_QM };
|
_qmSignals = new List<SignalName>() { SignalName.Quantum_QM };
|
||||||
CloakedSignals = new List<SignalName>();
|
_cloakedSignals = new List<SignalName>();
|
||||||
|
|
||||||
Initialized = true;
|
Initialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool IsCloaked(SignalName signalName)
|
||||||
|
{
|
||||||
|
return _cloakedSignals.Contains(signalName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsOnQuantumMoon(SignalName signalName)
|
||||||
|
{
|
||||||
|
return _qmSignals.Contains(signalName);
|
||||||
|
}
|
||||||
|
|
||||||
public static SignalFrequency AddFrequency(string str)
|
public static SignalFrequency AddFrequency(string str)
|
||||||
{
|
{
|
||||||
Logger.Log($"Registering new frequency name [{str}]");
|
Logger.Log($"Registering new frequency name [{str}]");
|
||||||
@ -220,8 +230,8 @@ namespace NewHorizons.Builder.Props
|
|||||||
signalGO.SetActive(true);
|
signalGO.SetActive(true);
|
||||||
|
|
||||||
// Track certain special signal things
|
// Track certain special signal things
|
||||||
if (planetGO.GetComponent<AstroObject>()?.GetAstroObjectName() == AstroObject.Name.QuantumMoon) QMSignals.Add(name);
|
if (planetGO.GetComponent<AstroObject>()?.GetAstroObjectName() == AstroObject.Name.QuantumMoon) _qmSignals.Add(name);
|
||||||
if (info.insideCloak) CloakedSignals.Add(name);
|
if (info.insideCloak) _cloakedSignals.Add(name);
|
||||||
|
|
||||||
return signalGO;
|
return signalGO;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -119,7 +119,10 @@ namespace NewHorizons.Patches
|
|||||||
{
|
{
|
||||||
if (!SignalBuilder.Initialized) return true;
|
if (!SignalBuilder.Initialized) return true;
|
||||||
|
|
||||||
if (!SignalBuilder.CloakedSignals.Contains(__instance._name) && !SignalBuilder.QMSignals.Contains(__instance._name)) return true;
|
var isCloaked = SignalBuilder.IsCloaked(__instance._name);
|
||||||
|
var isOnQuantumMoon = SignalBuilder.IsOnQuantumMoon(__instance._name);
|
||||||
|
|
||||||
|
if (!isCloaked && !isOnQuantumMoon) return true;
|
||||||
|
|
||||||
__instance._canBePickedUpByScope = false;
|
__instance._canBePickedUpByScope = false;
|
||||||
if (__instance._sunController != null && __instance._sunController.IsPointInsideSupernova(__instance.transform.position))
|
if (__instance._sunController != null && __instance._sunController.IsPointInsideSupernova(__instance.transform.position))
|
||||||
@ -130,7 +133,7 @@ namespace NewHorizons.Patches
|
|||||||
}
|
}
|
||||||
|
|
||||||
// This part is modified from the original to include all QM signals
|
// This part is modified from the original to include all QM signals
|
||||||
if (Locator.GetQuantumMoon() != null && Locator.GetQuantumMoon().IsPlayerInside() && !SignalBuilder.QMSignals.Contains(__instance._name))
|
if (Locator.GetQuantumMoon() != null && Locator.GetQuantumMoon().IsPlayerInside() && !isOnQuantumMoon)
|
||||||
{
|
{
|
||||||
__instance._signalStrength = 0f;
|
__instance._signalStrength = 0f;
|
||||||
__instance._degreesFromScope = 180f;
|
__instance._degreesFromScope = 180f;
|
||||||
@ -167,7 +170,7 @@ namespace NewHorizons.Patches
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If it's a cloaked signal we don't want to hear it outside the cloak field
|
// If it's a cloaked signal we don't want to hear it outside the cloak field
|
||||||
if (SignalBuilder.CloakedSignals.Contains(__instance._name))
|
if (isCloaked)
|
||||||
{
|
{
|
||||||
if (!PlayerState.InCloakingField())
|
if (!PlayerState.InCloakingField())
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user