JilloSlug/src/features/MarkFeature.cs

22 lines
695 B
C#

using SlugBase.Features;
using static SlugBase.Features.FeatureTypes;
using SlugBase;
namespace JilloSlug;
internal static class MarkFeature {
public static readonly PlayerFeature<bool> Mark = PlayerBool("jillo/has_mark");
public static void AddHooks() {
On.SaveState.ctor += SaveState_ctor;
}
private static void SaveState_ctor(On.SaveState.orig_ctor orig, SaveState self, SlugcatStats.Name slugcat, PlayerProgression progression) {
orig(self, slugcat, progression);
if (SlugBaseCharacter.TryGet(slugcat, out var chara) && Mark.TryGet(chara, out bool hasMark) && hasMark) {
self.deathPersistentSaveData.theMark = true;
}
}
}