patch forget frequency

This commit is contained in:
JohnCorby 2023-04-03 20:34:07 -07:00
parent 839780843d
commit cb08f4710d
2 changed files with 24 additions and 5 deletions

View File

@ -128,6 +128,16 @@ namespace NewHorizons.External
}
}
public static void ForgetFrequency(string frequency)
{
if (_activeProfile == null) return;
if (KnowsFrequency(frequency))
{
_activeProfile.KnownFrequencies.Remove(frequency);
Save();
}
}
public static bool KnowsMultipleFrequencies()
{
return _activeProfile != null && _activeProfile.KnownFrequencies.Count > 0;

View File

@ -40,6 +40,19 @@ namespace NewHorizons.Patches.PlayerPatches
return true;
}
[HarmonyPrefix]
[HarmonyPatch(nameof(PlayerData.ForgetFrequency))]
public static bool PlayerData_ForgetFrequency(SignalFrequency frequency)
{
var freqString = SignalBuilder.GetCustomFrequencyName(frequency);
if (!string.IsNullOrEmpty(freqString))
{
NewHorizonsData.ForgetFrequency(freqString);
return false;
}
return true;
}
[HarmonyPrefix]
[HarmonyPatch(nameof(PlayerData.KnowsSignal))]
public static bool PlayerData_KnowsSignal(SignalName signalName, ref bool __result)
@ -59,12 +72,8 @@ namespace NewHorizons.Patches.PlayerPatches
{
var customSignalName = SignalBuilder.GetCustomSignalName(signalName);
if (!string.IsNullOrEmpty(customSignalName))
{
if (!NewHorizonsData.KnowsSignal(customSignalName))
{
NewHorizonsData.LearnSignal(customSignalName);
}
AchievementHandler.OnLearnSignal();
return false;