예제 #1
0
        public static FirearmAvailability GetFirearmAvailability()
        {
            if (GameManager.IsStoryMode())
            {
                if (SaveGameSystem.m_CurrentEpisode == Episode.One || SaveGameSystem.m_CurrentEpisode == Episode.Two)
                {
                    return(FirearmAvailability.Rifle);
                }
                else
                {
                    return(FirearmAvailability.All);
                }
            }
            ExperienceModeType experienceModeType = ExperienceModeManager.GetCurrentExperienceModeType();

            switch (experienceModeType)
            {
            case ExperienceModeType.Interloper:
                return(FirearmAvailability.None);

            case ExperienceModeType.Custom:
                return(GetCustomFirearmAvailability());

            default:
                return(FirearmAvailability.All);
            }
        }
예제 #2
0
        public static void LoadFromFile()
        {
            var dic = File.ReadAllLines("mods/CustomNomad.txt")
                      .Where(l => !l.StartsWith("/"))
                      .Select(l => l.Split(new[] { '=' }))
                      .Where(arr => arr.Length == 2)
                      .ToDictionary(s => s[0].Trim(), s => s[1].Trim());

            SetGlobal <float>(dic, "SprintCaloriesMultiplier", x => SprintCaloriesMultiplier = x);
            SetGlobal <float>(dic, "DaysToSpendNomad", x => DaysToSpendNomad = x);
            SetGlobal <float>(dic, "ClothingRepairMultiplier", x => ClothingRepairMultiplier = x);
            SetGlobal <bool>(dic, "CabinFeverEnabled", x => CabinFeverEnabled = x);
            SetGlobal <float>(dic, "StarvationDamageMultiplier", x => StarvationDamageMultiplier = x);
            SetGlobal <float>(dic, "CalorieBurnRateMultiplier", x => CalorieBurnRateMultiplier   = x);
            SetGlobal <float>(dic, "HighEncumberanceCalorieMultiplier", x => HighEncumberanceCalorieMultiplier = x);
            SetGlobal <float>(dic, "EncumberanceCalorieMultiplier", x => EncumberanceCalorieMultiplier         = x);
            SetGlobal <bool>(dic, "RegionPrefixHints", x => RegionPrefixHints = x);
            SetGlobal <ExperienceModeType>(dic, "Difficulty", x => Difficulty = x);

            var leftoverEntries = dic.Select(kvp => kvp.Key + "=" + kvp.Value).ToArray();

            if (leftoverEntries.Any())
            {
                var leftoverString = string.Join(", ", leftoverEntries);
                FileLog.Log("*** LINES FOUND WITHOUT MATCH :" + leftoverString);
            }

            FileLog.Log("Finished loading Nomad values.");
        }
예제 #3
0
        public static DifficultyLevel GetDifficultyLevel()
        {
            if (GameManager.IsStoryMode())
            {
                return(DifficultyLevel.Storymode);
            }
            ExperienceModeType experienceModeType = ExperienceModeManager.GetCurrentExperienceModeType();

            switch (experienceModeType)
            {
            case ExperienceModeType.Pilgrim:
                return(DifficultyLevel.Pilgram);

            case ExperienceModeType.Voyageur:
                return(DifficultyLevel.Voyager);

            case ExperienceModeType.Stalker:
                return(DifficultyLevel.Stalker);

            case ExperienceModeType.Interloper:
                return(DifficultyLevel.Interloper);

            case ExperienceModeType.Custom:
                return(GetCustomDifficultyLevel());

            case ExperienceModeType.ChallengeArchivist:
                return(DifficultyLevel.Challenge);

            case ExperienceModeType.ChallengeDeadManWalking:
                return(DifficultyLevel.Challenge);

            case ExperienceModeType.ChallengeHunted:
                return(DifficultyLevel.Challenge);

            case ExperienceModeType.ChallengeHuntedPart2:
                return(DifficultyLevel.Challenge);

            case ExperienceModeType.ChallengeNomad:
                return(DifficultyLevel.Challenge);

            case ExperienceModeType.ChallengeNowhereToHide:
                return(DifficultyLevel.Challenge);

            case ExperienceModeType.ChallengeRescue:
                return(DifficultyLevel.Challenge);

            case ExperienceModeType.ChallengeWhiteout:
                return(DifficultyLevel.Challenge);

            default:
                return(DifficultyLevel.Other);
            }
        }