private static float GetProbability(DifficultyLevel difficultyLevel, FirearmAvailability firearmAvailability, GearSpawnInfo gearSpawnInfo)
        {
            switch (difficultyLevel)
            {
            case DifficultyLevel.Pilgram:
                return(Settings.options.pilgramSpawnExpectation / 403f * 100f);

            case DifficultyLevel.Voyager:
                return(Settings.options.voyagerSpawnExpectation / 403f * 100f);

            case DifficultyLevel.Stalker:
                return(Settings.options.stalkerSpawnExpectation / 403f * 100f);

            case DifficultyLevel.Interloper:
                return(Settings.options.interloperSpawnExpectation / 403f * 100f);

            case DifficultyLevel.Challenge:
                return(Settings.options.challengeSpawnExpectation / 403f * 100f);

            case DifficultyLevel.Storymode:
                return(Settings.options.storySpawnExpectation / 403f * 100f);

            default:
                return(0f);
            }
        }
Пример #2
0
        internal static float GetAdjustedProbability(GearSpawnInfo gearSpawnInfo)
        {
            if (ModComponentMain.Settings.instance.alwaysSpawnItems)
            {
                return(100f);                                                                 //overrides everything else
            }
            DifficultyLevel     difficultyLevel     = GetDifficultyLevel();
            FirearmAvailability firearmAvailability = GetFirearmAvailability();

            if (SpawnTagManager.ContainsTag(gearSpawnInfo.tag))
            {
                return(SpawnTagManager.GetTaggedFunction(gearSpawnInfo.tag).Invoke(difficultyLevel, firearmAvailability, gearSpawnInfo));
            }
            else
            {
                return(GetAdjustedProbability(difficultyLevel, gearSpawnInfo.SpawnChance));
            }
        }
        private static float GetProbability(DifficultyLevel difficultyLevel, FirearmAvailability firearmAvailability, GearSpawnInfo gearSpawnInfo)
        {
            if (firearmAvailability == FirearmAvailability.None && gearSpawnInfo.PrefabName != "gear_smallgunpowdercan")
            {
                return(0f);
            }
            if (firearmAvailability == FirearmAvailability.Revolver && gearSpawnInfo.PrefabName == "gear_riflereloadingbox")
            {
                return(0f);
            }
            if (firearmAvailability == FirearmAvailability.Rifle && gearSpawnInfo.PrefabName == "gear_revolverreloadingbox")
            {
                return(0f);
            }
            switch (difficultyLevel)
            {
            case DifficultyLevel.Pilgram:
                return(Settings.instance.pilgramSpawnProbability);

            case DifficultyLevel.Voyager:
                return(Settings.instance.voyagerSpawnProbability);

            case DifficultyLevel.Stalker:
                return(Settings.instance.stalkerSpawnProbability);

            case DifficultyLevel.Interloper:
                return(Settings.instance.interloperSpawnProbability);

            case DifficultyLevel.Challenge:
                return(Settings.instance.challengeSpawnProbability);

            case DifficultyLevel.Storymode:
                return(Settings.instance.storySpawnProbability);

            default:
                return(0f);
            }
        }