mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Skipping unused frequencies works fine
This commit is contained in:
parent
4dfc8fa109
commit
efdcf47b25
@ -6,8 +6,6 @@ using OWML.Utils;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.SceneManagement;
|
using UnityEngine.SceneManagement;
|
||||||
using NewHorizons.External.Modules.Props.Audio;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace NewHorizons.Builder.Props.Audio
|
namespace NewHorizons.Builder.Props.Audio
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
using HarmonyLib;
|
using HarmonyLib;
|
||||||
using NewHorizons.Builder.Props.Audio;
|
using NewHorizons.Builder.Props.Audio;
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace NewHorizons.Patches.SignalPatches
|
namespace NewHorizons.Patches.SignalPatches
|
||||||
{
|
{
|
||||||
@ -19,14 +18,14 @@ namespace NewHorizons.Patches.SignalPatches
|
|||||||
public static bool Signalscope_SwitchFrequencyFilter(Signalscope __instance, int increment)
|
public static bool Signalscope_SwitchFrequencyFilter(Signalscope __instance, int increment)
|
||||||
{
|
{
|
||||||
var count = SignalBuilder.NumberOfFrequencies;
|
var count = SignalBuilder.NumberOfFrequencies;
|
||||||
__instance._frequencyFilterIndex = (__instance._frequencyFilterIndex + increment + count) % count;
|
__instance._frequencyFilterIndex += increment;
|
||||||
|
__instance._frequencyFilterIndex = __instance._frequencyFilterIndex >= count ? 0 : __instance._frequencyFilterIndex;
|
||||||
|
__instance._frequencyFilterIndex = __instance._frequencyFilterIndex < 0 ? count - 1 : __instance._frequencyFilterIndex;
|
||||||
var signalFrequency = AudioSignal.IndexToFrequency(__instance._frequencyFilterIndex);
|
var signalFrequency = AudioSignal.IndexToFrequency(__instance._frequencyFilterIndex);
|
||||||
|
|
||||||
var isUnknownNearby = __instance._isUnknownFreqNearby && __instance._unknownFrequency == signalFrequency;
|
// Skip over this frequency
|
||||||
|
var isUnknown = !PlayerData.KnowsFrequency(signalFrequency) && !(__instance._isUnknownFreqNearby && __instance._unknownFrequency == signalFrequency);
|
||||||
// If it's not in use, or its unknown and isn't about to be learned, then go to the next one.
|
if (isUnknown || !SignalBuilder.IsFrequencyInUse(signalFrequency))
|
||||||
if ((!PlayerData.KnowsFrequency(signalFrequency) && !isUnknownNearby) || !SignalBuilder.IsFrequencyInUse(signalFrequency))
|
|
||||||
{
|
{
|
||||||
__instance.SwitchFrequencyFilter(increment);
|
__instance.SwitchFrequencyFilter(increment);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user