mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Talk to five characters
This commit is contained in:
parent
16131fa6f4
commit
813cca1b33
19
NewHorizons/External/NewHorizonsData.cs
vendored
19
NewHorizons/External/NewHorizonsData.cs
vendored
@ -83,12 +83,14 @@ namespace NewHorizons.External
|
|||||||
KnownSignals = new List<string>();
|
KnownSignals = new List<string>();
|
||||||
NewlyRevealedFactIDs = new List<string>();
|
NewlyRevealedFactIDs = new List<string>();
|
||||||
PopupsRead = new List<string>();
|
PopupsRead = new List<string>();
|
||||||
|
CharactersTalkedTo = new List<string>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<string> KnownFrequencies { get; }
|
public List<string> KnownFrequencies { get; }
|
||||||
public List<string> KnownSignals { get; }
|
public List<string> KnownSignals { get; }
|
||||||
public List<string> NewlyRevealedFactIDs { get; }
|
public List<string> NewlyRevealedFactIDs { get; }
|
||||||
public List<string> PopupsRead { get; }
|
public List<string> PopupsRead { get; }
|
||||||
|
public List<string> CharactersTalkedTo { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Frequencies
|
#region Frequencies
|
||||||
@ -172,5 +174,22 @@ namespace NewHorizons.External
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Characters talked to
|
||||||
|
|
||||||
|
public static void OnTalkedToCharacter(string name)
|
||||||
|
{
|
||||||
|
if (name == CharacterDialogueTree.RECORDING_NAME || name == CharacterDialogueTree.SIGN_NAME) return;
|
||||||
|
_activeProfile?.PopupsRead.SafeAdd(name);
|
||||||
|
Save();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool HasTalkedToFiveCharacters()
|
||||||
|
{
|
||||||
|
if (_activeProfile == null) return false;
|
||||||
|
return _activeProfile.CharactersTalkedTo.Count >= 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,3 +1,4 @@
|
|||||||
|
using NewHorizons.External;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -13,6 +14,13 @@ namespace NewHorizons.OtherMods.AchievementsPlus.NH
|
|||||||
public static void Init()
|
public static void Init()
|
||||||
{
|
{
|
||||||
AchievementHandler.Register(UNIQUE_ID, false, Main.Instance);
|
AchievementHandler.Register(UNIQUE_ID, false, Main.Instance);
|
||||||
|
if (NewHorizonsData.HasTalkedToFiveCharacters()) Earn();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void OnTalkedToCharacter(string name)
|
||||||
|
{
|
||||||
|
NewHorizonsData.OnTalkedToCharacter(name);
|
||||||
|
if (NewHorizonsData.HasTalkedToFiveCharacters()) Earn();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Earn()
|
public static void Earn()
|
||||||
|
|||||||
@ -38,5 +38,9 @@ namespace NewHorizons.Patches
|
|||||||
__instance.enabled = false;
|
__instance.enabled = false;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HarmonyPostfix]
|
||||||
|
[HarmonyPatch(typeof(CharacterDialogueTree), nameof(CharacterDialogueTree.StartConversation))]
|
||||||
|
public static void CharacterDialogueTree_StartConversation(CharacterDialogueTree __instance) => TalkToFiveCharactersAchievement.OnTalkedToCharacter(__instance._characterName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user