public static void SetPlayerStats(System.Action <GameStatsManager, TrackedStats, float> orig, GameStatsManager self, TrackedStats trackedStats, float value) { orig(self, trackedStats, value); if (trackedStats == TrackedStats.TIME_PLAYED && value == 0f) { GameManager.Instance.PrimaryPlayer.GiveItem("heart_holster"); } }
public static void SetupUnlockOnStat(this PickupObject self, TrackedStats stat, DungeonPrerequisite.PrerequisiteOperation operation, int comparisonValue) { EncounterTrackable encounterTrackable = self.encounterTrackable; bool flag = encounterTrackable.prerequisites == null; if (flag) { encounterTrackable.prerequisites = new DungeonPrerequisite[1]; encounterTrackable.prerequisites[0] = new DungeonPrerequisite { prerequisiteType = DungeonPrerequisite.PrerequisiteType.COMPARISON, prerequisiteOperation = operation, statToCheck = stat, comparisonValue = (float)comparisonValue }; } else { encounterTrackable.prerequisites = encounterTrackable.prerequisites.Concat(new DungeonPrerequisite[] { new DungeonPrerequisite { prerequisiteType = DungeonPrerequisite.PrerequisiteType.COMPARISON, prerequisiteOperation = operation, statToCheck = stat, comparisonValue = (float)comparisonValue } }).ToArray <DungeonPrerequisite>(); } EncounterDatabaseEntry entry = EncounterDatabase.GetEntry(encounterTrackable.EncounterGuid); bool flag2 = !string.IsNullOrEmpty(entry.ProxyEncounterGuid); if (flag2) { entry.ProxyEncounterGuid = ""; } bool flag3 = entry.prerequisites == null; if (flag3) { entry.prerequisites = new DungeonPrerequisite[1]; entry.prerequisites[0] = new DungeonPrerequisite { prerequisiteType = DungeonPrerequisite.PrerequisiteType.COMPARISON, prerequisiteOperation = operation, statToCheck = stat, comparisonValue = (float)comparisonValue }; } else { entry.prerequisites = entry.prerequisites.Concat(new DungeonPrerequisite[] { new DungeonPrerequisite { prerequisiteType = DungeonPrerequisite.PrerequisiteType.COMPARISON, prerequisiteOperation = operation, statToCheck = stat, comparisonValue = (float)comparisonValue } }).ToArray <DungeonPrerequisite>(); } }