diff --git a/Entities/LevelStats.cs b/Entities/LevelStats.cs index d9834b6b..e3233bf7 100644 --- a/Entities/LevelStats.cs +++ b/Entities/LevelStats.cs @@ -2311,7 +2311,11 @@ public class LevelStats { { "knockout_fp10_squads_final_5", new LevelStats("knockout_fp10_squads_final_5", "8773-6176-6758", "Trampillas Tramposas", LevelType.Survival, BestRecordType.Longest, true, true, 10, 0, 0, 0, Properties.Resources.round_gauntlet_icon, Properties.Resources.round_gauntlet_big_icon) }, { "knockout_fp10_squads_final_6", new LevelStats("knockout_fp10_squads_final_6", "7792-4199-5269", "Breaking Blast Ball", LevelType.Survival, BestRecordType.Longest, true, true, 10, 0, 0, 0, Properties.Resources.round_gauntlet_icon, Properties.Resources.round_gauntlet_big_icon) }, { "knockout_fp10_squads_final_7", new LevelStats("knockout_fp10_squads_final_7", "3359-6376-7570", "Hex-a-spectre", LevelType.Survival, BestRecordType.Longest, true, true, 10, 0, 0, 0, Properties.Resources.round_gauntlet_icon, Properties.Resources.round_gauntlet_big_icon) }, - + + { "welcome_noelim_ftue_s1", new LevelStats("welcome_noelim_ftue_s1", "1315-5661-0771", "Welcome to Fall Guys!", LevelType.Race, BestRecordType.Fastest, true, false, 10, 90, 90, 90, Properties.Resources.round_hit_parade_icon, Properties.Resources.round_hit_parade_big_icon) }, + { "soulful_narwhal_noelim_ftue_s2", new LevelStats("soulful_narwhal_noelim_ftue_s2", "5097-4808-8876", "Digital Highway", LevelType.Race, BestRecordType.Fastest, true, false, 10, 120, 120, 120, Properties.Resources.round_gauntlet_icon, Properties.Resources.round_gauntlet_big_icon) }, + { "ball_noelim_ftue", new LevelStats("ball_noelim_ftue", "4150-7311-8813", "Treetop Rollers", LevelType.Race, BestRecordType.Fastest, true, false, 10, 120, 120, 120, Properties.Resources.round_gauntlet_icon, Properties.Resources.round_gauntlet_big_icon) }, + { "round_biggestfan", new LevelStats("round_biggestfan", null, "Big Fans", LevelType.Race, BestRecordType.Fastest, false, false, 2, 210, 120, 100, Properties.Resources.round_big_fans_icon, Properties.Resources.round_big_fans_big_icon) }, { "round_satellitehoppers_almond", new LevelStats("round_satellitehoppers_almond", null, "Cosmic Highway", LevelType.Race, BestRecordType.Fastest, false, false, 8, 180, 180, 100, Properties.Resources.round_cosmic_highway_icon, Properties.Resources.round_cosmic_highway_big_icon) }, { "round_gauntlet_02", new LevelStats("round_gauntlet_02", null, "Dizzy Heights", LevelType.Race, BestRecordType.Fastest, false, false, 1, 180, 120, 100, Properties.Resources.round_dizzy_heights_icon, Properties.Resources.round_dizzy_heights_big_icon) }, diff --git a/Entities/LogFileWatcher.cs b/Entities/LogFileWatcher.cs index 629000f2..81965521 100644 --- a/Entities/LogFileWatcher.cs +++ b/Entities/LogFileWatcher.cs @@ -417,6 +417,7 @@ private bool IsModeException(string roundId, string showId) { || roundId.IndexOf("round_blastball_arenasurvival_blast_ball_trials", StringComparison.OrdinalIgnoreCase) != -1 || roundId.IndexOf("round_robotrampage_arena_2_ss2_show1", StringComparison.OrdinalIgnoreCase) != -1 || string.Equals(showId, "event_blast_ball_banger_template") + || string.Equals(showId, "ftue_uk_show") || showId.StartsWith("knockout_"); } @@ -449,8 +450,10 @@ private bool IsModeFinalException(string roundId) { || string.Equals(roundId, "round_blastball_arenasurvival_blast_ball_banger") + || string.Equals(roundId, "round_snowballsurvival_noelim_ftue_s2") + || (!string.Equals(roundId, "knockout_fp10_final_8") - && roundId.StartsWith("knockout_fp", StringComparison.OrdinalIgnoreCase) + && roundId.StartsWith("knockout_", StringComparison.OrdinalIgnoreCase) && (roundId.EndsWith("_opener_4", StringComparison.OrdinalIgnoreCase) || roundId.IndexOf("_final", StringComparison.OrdinalIgnoreCase) != -1)); } diff --git a/Entities/Multilingual.cs b/Entities/Multilingual.cs index d1311dd5..74bb48b3 100644 --- a/Entities/Multilingual.cs +++ b/Entities/Multilingual.cs @@ -13303,6 +13303,7 @@ public static class Multilingual { { "event_yeetus_111022_121022", "Big Yeetus Tour" }, { "event_yeetus_3005_to_3105_2022", "Big Yeetus Tour" }, { "event_yeetus_template", "Big Yeetus Tour" }, + { "ftue_uk_show", "Knockout" }, { "invisibeans_0508_to_0708_2022", "SWEET THIEVES" }, { "invisibeans_0707_to_1107_2022", "SWEET THIEVES" }, { "invisibeans_0803_to_1303_2022", "SWEET THIEVES" }, @@ -14206,6 +14207,7 @@ public static class Multilingual { { "event_yeetus_111022_121022", "Spéciale Big Yeetus" }, { "event_yeetus_3005_to_3105_2022", "Spéciale Big Yeetus" }, { "event_yeetus_template", "Spéciale Big Yeetus" }, + { "ftue_uk_show", "Tournois" }, { "invisibeans_0508_to_0708_2022", "VOLEURS SUCRÉS" }, { "invisibeans_0707_to_1107_2022", "VOLEURS SUCRÉS" }, { "invisibeans_0803_to_1303_2022", "VOLEURS SUCRÉS" }, @@ -15109,6 +15111,7 @@ public static class Multilingual { { "event_yeetus_111022_121022", "대형 망치 투어" }, { "event_yeetus_3005_to_3105_2022", "대형 망치 투어" }, { "event_yeetus_template", "대형 망치 투어" }, + { "ftue_uk_show", "넉아웃" }, { "invisibeans_0508_to_0708_2022", "달콤한 도둑들" }, { "invisibeans_0707_to_1107_2022", "달콤한 도둑들" }, { "invisibeans_0803_to_1303_2022", "달콤한 도둑들" }, @@ -16012,6 +16015,7 @@ public static class Multilingual { { "event_yeetus_111022_121022", "ハンマーツアー" }, { "event_yeetus_3005_to_3105_2022", "ハンマーツアー" }, { "event_yeetus_template", "ハンマーツアー" }, + { "ftue_uk_show", "ノックアウト" }, { "invisibeans_0508_to_0708_2022", "キャンディードロボー" }, { "invisibeans_0707_to_1107_2022", "キャンディードロボー" }, { "invisibeans_0803_to_1303_2022", "キャンディードロボー" }, @@ -16915,6 +16919,7 @@ public static class Multilingual { { "event_yeetus_111022_121022", "重锤巡回赛" }, { "event_yeetus_3005_to_3105_2022", "重锤巡回赛" }, { "event_yeetus_template", "重锤巡回赛" }, + { "ftue_uk_show", "淘汰赛" }, { "invisibeans_0508_to_0708_2022", "糖果窃贼" }, { "invisibeans_0707_to_1107_2022", "糖果窃贼" }, { "invisibeans_0803_to_1303_2022", "糖果窃贼" }, @@ -17818,6 +17823,7 @@ public static class Multilingual { { "event_yeetus_111022_121022", "重錘巡迴賽" }, { "event_yeetus_3005_to_3105_2022", "重錘巡迴賽" }, { "event_yeetus_template", "重錘巡迴賽" }, + { "ftue_uk_show", "淘汰賽" }, { "invisibeans_0508_to_0708_2022", "糖果竊賊" }, { "invisibeans_0707_to_1107_2022", "糖果竊賊" }, { "invisibeans_0803_to_1303_2022", "糖果竊賊" }, diff --git a/Views/Stats.cs b/Views/Stats.cs index 15d4bc87..c0858532 100644 --- a/Views/Stats.cs +++ b/Views/Stats.cs @@ -3176,12 +3176,12 @@ where string.Equals(ri.ShowNameId, "event_april_fools") && ri.IsFinal == false this.CurrentSettings.Version = 98; this.SaveUserSettings(); } - + if (this.CurrentSettings.Version == 98) { List roundInfoList = (from ri in this.RoundDetails.FindAll() where !string.IsNullOrEmpty(ri.ShowNameId) && string.Equals(ri.ShowNameId, "no_elimination_explore") select ri).ToList(); - + foreach (RoundInfo ri in roundInfoList) { Profiles profile = this.Profiles.FindOne(Query.EQ("LinkedShowId", "main_show")); int profileId = profile?.ProfileId ?? -1; @@ -3199,6 +3199,38 @@ where string.Equals(ri.ShowNameId, "event_april_fools") && ri.IsFinal == false this.CurrentSettings.Version = 99; this.SaveUserSettings(); } + + if (this.CurrentSettings.Version == 99) { + List roundInfoList = (from ri in this.RoundDetails.FindAll() + where !string.IsNullOrEmpty(ri.ShowNameId) && string.Equals(ri.ShowNameId, "ftue_uk_show") + select ri).ToList(); + + foreach (RoundInfo ri in roundInfoList) { + Profiles profile = this.Profiles.FindOne(Query.EQ("LinkedShowId", "main_show")); + int profileId = profile?.ProfileId ?? -1; + if (profileId != -1) ri.Profile = profileId; + ri.IsFinal = string.Equals(ri.Name, "round_snowballsurvival"); + } + this.StatsDB.BeginTrans(); + this.RoundDetails.Update(roundInfoList); + this.StatsDB.Commit(); + + DateTime dateCond = new DateTime(2024, 5, 15, 12, 0, 0, DateTimeKind.Utc); + List roundInfoList2 = (from ri in this.RoundDetails.FindAll() + where !string.IsNullOrEmpty(ri.ShowNameId) && + ri.Start >= dateCond && + ri.ShowNameId.StartsWith("knockout_") + select ri).ToList(); + + foreach (RoundInfo ri in roundInfoList2) { + ri.IsFinal = !string.Equals(ri.Name, "knockout_fp10_final_8") && ri.Name.StartsWith("knockout_") && (ri.Name.EndsWith("_opener_4") || ri.Name.IndexOf("_final") != -1); + } + this.StatsDB.BeginTrans(); + this.RoundDetails.Update(roundInfoList2); + this.StatsDB.Commit(); + this.CurrentSettings.Version = 100; + this.SaveUserSettings(); + } } private UserSettings GetDefaultSettings() { @@ -4611,6 +4643,7 @@ public string GetAlternateShowId(string showId) { case "turbo_show": case "turbo_2_show": case "knockout_mode": + case "ftue_uk_show": case "classic_solo_main_show": case "no_elimination_explore": return "main_show";