using SharedLibraryCore; using SharedLibraryCore.Interfaces; using Stats.Config; using System.Collections.Generic; using static IW4MAdmin.Plugins.Stats.Cheat.Detection; namespace IW4MAdmin.Plugins.Stats.Config { public class StatsConfiguration : IBaseConfiguration { public bool EnableAntiCheat { get; set; } public List KillstreakMessages { get; set; } public List DeathstreakMessages { get; set; } public List RecoilessWeapons { get; set; } public int TopPlayersMinPlayTime { get; set; } public bool StoreClientKills { get; set; } public int MostKillsMaxInactivityDays { get; set; } = 30; public int MostKillsClientLimit { get; set; } = 5; public IDictionary DetectionDistributions { get; set; } public IDictionary ServerDetectionTypes { get; set; } public string Name() => "StatsPluginSettings"; public IBaseConfiguration Generate() { EnableAntiCheat = Utilities.PromptBool(Utilities.CurrentLocalization.LocalizationIndex["PLUGIN_STATS_SETUP_ENABLEAC"]); KillstreakMessages = new List() { new StreakMessageConfiguration(){ Count = -1, Message = "Try not to kill yourself anymore" }, new StreakMessageConfiguration() { Count = 5, Message = "Great job! You're on a ^55 killstreak!" }, new StreakMessageConfiguration() { Count = 10, Message = "Amazing! ^510 kills ^7without dying!" }, new StreakMessageConfiguration(){ Count = 25, Message = "You better call in that nuke, ^525 killstreak^7!" } }; DeathstreakMessages = new List() { new StreakMessageConfiguration() { Count = 5, Message = "Pick it up soldier, you've died ^55 times ^7in a row..." }, new StreakMessageConfiguration(){ Count = 10, Message = "Seriously? ^510 deaths ^7without getting a kill?" }, }; RecoilessWeapons = new List() { "ranger.*_mp", "model1887.*_mp", ".+shotgun.*_mp" }; TopPlayersMinPlayTime = 3600 * 3; StoreClientKills = false; return this; } } }