Tried other stuff still don't work right

This commit is contained in:
Nick 2023-04-22 22:11:53 -04:00
parent 25068561cc
commit 08820b6ddb

View File

@ -1,5 +1,6 @@
using HarmonyLib; using HarmonyLib;
using NewHorizons.Builder.Props.Audio; using NewHorizons.Builder.Props.Audio;
using UnityEngine;
namespace NewHorizons.Patches.SignalPatches namespace NewHorizons.Patches.SignalPatches
{ {
@ -18,14 +19,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 += increment; __instance._frequencyFilterIndex = (__instance._frequencyFilterIndex + increment + count) % count;
__instance._frequencyFilterIndex = __instance._frequencyFilterIndex >= count ? 0 : __instance._frequencyFilterIndex;
__instance._frequencyFilterIndex = __instance._frequencyFilterIndex < 0 ? count - 1 : __instance._frequencyFilterIndex;
SignalFrequency signalFrequency = AudioSignal.IndexToFrequency(__instance._frequencyFilterIndex);
// Cases where this frequency isnt used var signalFrequency = AudioSignal.IndexToFrequency(__instance._frequencyFilterIndex);
if (!PlayerData.KnowsFrequency(signalFrequency) && SignalBuilder.IsFrequencyInUse(signalFrequency) &&
(!__instance._isUnknownFreqNearby || __instance._unknownFrequency != signalFrequency)) var isUnknownNearby = __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 ((!PlayerData.KnowsFrequency(signalFrequency) && !isUnknownNearby) || !SignalBuilder.IsFrequencyInUse(signalFrequency))
{ {
__instance.SwitchFrequencyFilter(increment); __instance.SwitchFrequencyFilter(increment);
} }