Beispiel #1
0
        public Settings(string session, string backendUrl)
        {
            Limits       = new Dictionary <WildSpawnType, int>();
            Difficulties = new List <Difficulty>();
            Session      = session;
            BackendUrl   = backendUrl;

            // request weapon durability enabled
            WeaponDurabilityEnabled = false;
            RequestWeaponDurabilityState();

            // set core values
            CoreDifficulty = null;
            RequestCoreDifficulty();

            // set bot values
            var roles        = Enum.GetValues(typeof(WildSpawnType));
            var difficulties = Enum.GetValues(typeof(BotDifficulty));

            foreach (WildSpawnType role in roles)
            {
                if (role == WildSpawnType.assaultGroup ||                       // NOTE: never encounted this one, what is it?
                    role == WildSpawnType.followerGluharSnipe ||                // TODO: we need server-side dumps
                    role == WildSpawnType.bossTest ||                           // NOTE: interesting
                    role == WildSpawnType.followerTest ||                       // NOTE: interesting
                    role == WildSpawnType.test)                                 // NOTE: interesting
                {
                    continue;
                }

                // set default values
                Limits[role] = 30;
                RequestLimit(role);

                foreach (BotDifficulty botDifficulty in difficulties)
                {
                    Difficulties.Add(RequestDifficulty(role, botDifficulty, new Difficulty(role, botDifficulty, null)));
                }
            }

            // set default raid settings
            DefaultRaidSettings = null;
            RequestDefaultRaidSettings();
        }
Beispiel #2
0
        private static void RequestDefaultRaidSettings()
        {
            string json = new Request(Session, BackendUrl).GetJson("/singleplayer/settings/defaultRaidSettings/");

            if (string.IsNullOrEmpty(json))
            {
                Debug.LogError("SPTarkov.SinglePlayer: Received NULL response for DefaultRaidSettings. Defaulting to fallback.");
                return;
            }

            Debug.LogError("SPTarkov.SinglePlayer: Successfully received DefaultRaidSettings");
            try
            {
                DefaultRaidSettings = JsonConvert.DeserializeObject <DefaultRaidSettings>(json);
            }
            catch (Exception exception)
            {
                Debug.LogError("SPTarkov.SinglePlayer: Failed to deserialize DefaultRaidSettings from server. Check your gameplay.json config in your server. Defaulting to fallback. Exception: " + exception);
            }
        }
Beispiel #3
0
        public static void Postfix(UpdatableToggle ____offlineModeToggle, UpdatableToggle ____botsEnabledToggle,
                                   TMPDropDownBox ____aiAmountDropdown, TMPDropDownBox ____aiDifficultyDropdown, UpdatableToggle ____enableBosses,
                                   UpdatableToggle ____scavWars, UpdatableToggle ____taggedAndCursed)
        {
            ____offlineModeToggle.isOn = true;
            ____offlineModeToggle.gameObject.SetActive(false);
            ____botsEnabledToggle.isOn = true;

            DefaultRaidSettings defaultRaidSettings = Settings.DefaultRaidSettings;

            if (defaultRaidSettings != null)
            {
                ____aiAmountDropdown.UpdateValue((int)defaultRaidSettings.AiAmount, false);
                ____aiDifficultyDropdown.UpdateValue((int)defaultRaidSettings.AiDifficulty, false);
                ____enableBosses.isOn    = defaultRaidSettings.BossEnabled;
                ____scavWars.isOn        = defaultRaidSettings.ScavWars;
                ____taggedAndCursed.isOn = defaultRaidSettings.TaggedAndCursed;
            }

            var warningPanel = GameObject.Find("Warning Panel");

            UnityEngine.Object.Destroy(warningPanel);
        }