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(); }
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); } }
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); }