diff --git a/Entities/LogFileWatcher.cs b/Entities/LogFileWatcher.cs index 6b310f3d..bc64efdb 100644 --- a/Entities/LogFileWatcher.cs +++ b/Entities/LogFileWatcher.cs @@ -400,28 +400,22 @@ private bool IsRealFinalRound(int roundNum, string roundId, string showId) { && roundId.EndsWith("_final", StringComparison.OrdinalIgnoreCase)) || (string.Equals(showId, "event_animals_template") - && string.Equals(roundId, "round_drumtop_final_animals")) + && roundNum == 4) || (string.Equals(showId, "event_yeetus_template") - && roundId.IndexOf("_final", StringComparison.OrdinalIgnoreCase) != -1) - - || (string.Equals(showId, "event_only_button_bashers_template") - && roundNum == 4) + && roundNum == 3) || (string.Equals(showId, "event_only_finals_v3_template") && roundId.EndsWith("_final", StringComparison.OrdinalIgnoreCase)) || (string.Equals(showId, "event_only_hoverboard_template") - && string.Equals(roundId, "round_hoverboardsurvival_final")) - - || (string.Equals(showId, "event_only_slime_climb_2_template") && roundNum == 3) || (string.Equals(showId, "event_snowday_stumble") - && (string.Equals(roundId, "round_cloudyteacups_final_sds") || string.Equals(roundId, "round_goopropegrandslam_final_sds"))) + && roundNum == 4) || (string.Equals(showId, "fp16_ski_fall_high_scorers") - && string.Equals(roundId, "round_event_only_skeefall_timetrial_s6_1")) + && roundNum == 1) || (string.Equals(showId, "ftue_uk_show") && string.Equals(roundId, "round_snowballsurvival_noelim_ftue_s2")) @@ -455,7 +449,7 @@ private bool IsRealFinalRound(int roundNum, string roundId, string showId) { && (roundNum == 3 || string.Equals(roundId, "showcase_boats"))) || (string.Equals(showId, "wle_mrs_bouncy_bean_time") - && string.Equals(roundId, "showcase_rollinruins")) + && roundNum == 3) || (string.Equals(showId, "wle_nature_ltm") && (roundNum == 3 || string.Equals(roundId, "logroll_nature_ltm"))) @@ -479,7 +473,10 @@ private bool IsRealFinalRound(int roundNum, string roundId, string showId) { } private bool IsModeException(string roundId, string showId) { - return roundId.IndexOf("round_lava_event_only_slime_climb", StringComparison.OrdinalIgnoreCase) != -1 + return roundId.IndexOf("round_1v1_button_basher_event_only", StringComparison.OrdinalIgnoreCase) != -1 + || roundId.IndexOf("round_lava_event_only_slime_climb", StringComparison.OrdinalIgnoreCase) != -1 + || roundId.IndexOf("round_slimeclimb_2_event_only", StringComparison.OrdinalIgnoreCase) != -1 + || roundId.IndexOf("round_tip_toe_event_only", StringComparison.OrdinalIgnoreCase) != -1 || roundId.IndexOf("round_kraken_attack_only_finals", StringComparison.OrdinalIgnoreCase) != -1 || roundId.IndexOf("round_blastball_only_finals", StringComparison.OrdinalIgnoreCase) != -1 || roundId.IndexOf("round_floor_fall_only_finals", StringComparison.OrdinalIgnoreCase) != -1 @@ -499,14 +496,20 @@ private bool IsModeException(string roundId, string showId) { || roundId.IndexOf("round_thin_ice_event_only", StringComparison.OrdinalIgnoreCase) != -1 || roundId.IndexOf("round_fall_ball_cup_only_trios", StringComparison.OrdinalIgnoreCase) != -1 || roundId.IndexOf("round_blastball_arenasurvival_blast_ball_trials", StringComparison.OrdinalIgnoreCase) != -1 + || roundId.IndexOf("round_sports_suddendeath_fall_ball", StringComparison.OrdinalIgnoreCase) != -1 || roundId.IndexOf("round_robotrampage_arena_2_ss2_show1", StringComparison.OrdinalIgnoreCase) != -1 + || roundId.IndexOf("round_floor_fall_squads_survival", StringComparison.OrdinalIgnoreCase) != -1 + || roundId.IndexOf("round_thin_ice_squads_survival", StringComparison.OrdinalIgnoreCase) != -1 || string.Equals(showId, "event_blast_ball_banger_template") // || showId.StartsWith("knockout_") || showId.StartsWith("ranked_"); // "Ranked Knockout" Show } private bool IsModeFinalException(string roundId) { - return ((roundId.IndexOf("round_lava_event_only_slime_climb", StringComparison.OrdinalIgnoreCase) != -1 + return ((roundId.IndexOf("round_1v1_button_basher_event_only", StringComparison.OrdinalIgnoreCase) != -1 + || roundId.IndexOf("round_lava_event_only_slime_climb", StringComparison.OrdinalIgnoreCase) != -1 + || roundId.IndexOf("round_slimeclimb_2_event_only", StringComparison.OrdinalIgnoreCase) != -1 + || roundId.IndexOf("round_tip_toe_event_only", StringComparison.OrdinalIgnoreCase) != -1 || roundId.IndexOf("round_kraken_attack_only_finals", StringComparison.OrdinalIgnoreCase) != -1 || roundId.IndexOf("round_blastball_only_finals", StringComparison.OrdinalIgnoreCase) != -1 || roundId.IndexOf("round_floor_fall_only_finals", StringComparison.OrdinalIgnoreCase) != -1 @@ -530,6 +533,9 @@ private bool IsModeFinalException(string roundId) { || (roundId.IndexOf("round_blastball_arenasurvival_blast_ball_trials", StringComparison.OrdinalIgnoreCase) != -1 && roundId.EndsWith("_fn", StringComparison.OrdinalIgnoreCase)) + || (roundId.IndexOf("round_sports_suddendeath_fall_ball", StringComparison.OrdinalIgnoreCase) != -1 + && roundId.EndsWith("_02", StringComparison.OrdinalIgnoreCase)) + || (roundId.IndexOf("round_robotrampage_arena_2_ss2_show1", StringComparison.OrdinalIgnoreCase) != -1 && roundId.EndsWith("_03", StringComparison.OrdinalIgnoreCase)) diff --git a/Entities/Multilingual.cs b/Entities/Multilingual.cs index e37b42ef..925b7bb2 100644 --- a/Entities/Multilingual.cs +++ b/Entities/Multilingual.cs @@ -6777,12 +6777,12 @@ public static class Multilingual { { "round_hexaring_symphony_launch_show", "육각링" }, { "round_hexsnake_almond", "육각형 바닥" }, { "round_jump_showdown", "점프 쇼다운" }, + { "round_kraken_attack", "크라켄 슬램" }, { "round_crown_maze", "버려진 사원" }, { "round_tunnel_final", "롤 오프" }, { "round_royal_rumble", "꼬리 쟁탈전" }, { "round_thin_ice", "살얼음판" }, { "round_tiptoefinale_almond", "살금 살금 피날레" }, - { "round_kraken_attack", "크라켄 슬램" }, { "user_creative_race_round", "사용자 폴크리 레이스 라운드" }, { "user_creative_survival_round", "사용자 폴크리 생존 라운드" }, @@ -13604,6 +13604,21 @@ public static class Multilingual { { "only_1v1_volleyfall", "Volleyfall Tournament" }, { "only_1v1_volleyfall_191022_211022", "Volleyfall Tournament" }, { "only_solo_ss2_rounds_show", "3,2,1, SPACE!" }, + { "pl_blastball", "Blast Ball" }, + { "pl_duos_show", "Duos" }, + { "pl_fallmountain", "Fall Mountain" }, + { "pl_hexagone", "Hex-A-Gone" }, + { "pl_hexaring", "Hex-A-Ring" }, + { "pl_hexaterrestrial", "Hex-A-Terrestrial" }, + { "pl_jumpshowdown", "Jump Showdown" }, + { "pl_krakenslam", "Kraken Slam" }, + { "pl_losttemple", "Lost Temple" }, + { "pl_rolloff", "Roll Off" }, + { "pl_royal_fumble", "Royal Fumble" }, + { "pl_solo_main_show", "Solos" }, + { "pl_squads_show", "Squads" }, + { "pl_thin_ice", "Thin Ice" }, + { "pl_tiptoefinale", "Tip Toe Finale" }, { "pl_vaulted_show", "The Vault" }, { "placeholder", ""}, { "playlist_fallguys_skill", "playlist_fallguys_skill" }, @@ -14537,6 +14552,21 @@ public static class Multilingual { { "only_1v1_volleyfall", "Tournoi de volleyfall" }, { "only_1v1_volleyfall_191022_211022", "Tournoi de volleyfall" }, { "only_solo_ss2_rounds_show", "1, 2, 3, VERS LES ÉTOILES !" }, + { "pl_blastball", "Balle Rebondissante" }, + { "pl_duos_show", "Duos" }, + { "pl_fallmountain", "La Grimpette" }, + { "pl_hexagone", "Hexagone Infernal" }, + { "pl_hexaring", "Hex-Anneau" }, + { "pl_hexaterrestrial", "Hexa-Terrestre" }, + { "pl_jumpshowdown", "Les Rois du Saut" }, + { "pl_krakenslam", "Valse du Kraken" }, + { "pl_losttemple", "Temple Perdu" }, + { "pl_rolloff", "Ça Coule" }, + { "pl_royal_fumble", "Bazar Royal" }, + { "pl_solo_main_show", "Solo" }, + { "pl_squads_show", "Groupes" }, + { "pl_thin_ice", "Fonte des Glaces" }, + { "pl_tiptoefinale", "Finale sur la Pointe des Pieds" }, { "pl_vaulted_show", "Le Coffre fort" }, { "placeholder", ""}, { "playlist_fallguys_skill", "playlist_fallguys_skill" }, @@ -15470,6 +15500,21 @@ public static class Multilingual { { "only_1v1_volleyfall", "배구 토너먼트" }, { "only_1v1_volleyfall_191022_211022", "배구 토너먼트" }, { "only_solo_ss2_rounds_show", "3,2,1, 우주로!" }, + { "pl_blastball", "블라스트 공" }, + { "pl_duos_show", "듀오" }, + { "pl_fallmountain", "산 무너져유" }, + { "pl_hexagone", "바닥 떨어져유" }, + { "pl_hexaring", "육각링" }, + { "pl_hexaterrestrial", "육각형 바닥" }, + { "pl_jumpshowdown", "점프 쇼다운" }, + { "pl_krakenslam", "크라켄 슬램" }, + { "pl_losttemple", "버려진 사원" }, + { "pl_rolloff", "롤 오프" }, + { "pl_royal_fumble", "꼬리 쟁탈전" }, + { "pl_solo_main_show", "솔로" }, + { "pl_squads_show", "스쿼드" }, + { "pl_thin_ice", "살얼음판" }, + { "pl_tiptoefinale", "살금 살금 피날레" }, { "pl_vaulted_show", "볼트" }, { "placeholder", ""}, { "playlist_fallguys_skill", "playlist_fallguys_skill" }, @@ -16403,6 +16448,21 @@ public static class Multilingual { { "only_1v1_volleyfall", "バレーフォールトーナメント" }, { "only_1v1_volleyfall_191022_211022", "バレーフォールトーナメント" }, { "only_solo_ss2_rounds_show", "3、2、1、宇宙!" }, + { "pl_blastball", "ブラストボール" }, + { "pl_duos_show", "デュオ" }, + { "pl_fallmountain", "クラウンマウンテン" }, + { "pl_hexagone", "止まるなキケン" }, + { "pl_hexaring", "リングのノロイ" }, + { "pl_hexaterrestrial", "止まるなキケンスペース" }, + { "pl_jumpshowdown", "ジャンプ・ショーダウン" }, + { "pl_krakenslam", "クラーケンスラム" }, + { "pl_losttemple", "ロストテンプル" }, + { "pl_rolloff", "ロールオフ" }, + { "pl_royal_fumble", "ロイヤルファンブル" }, + { "pl_solo_main_show", "ソロ" }, + { "pl_squads_show", "スクワッド" }, + { "pl_thin_ice", "パキパキアイス" }, + { "pl_tiptoefinale", "ヒヤヒヤロードファイナル" }, { "pl_vaulted_show", "保管庫" }, { "placeholder", ""}, { "playlist_fallguys_skill", "playlist_fallguys_skill" }, @@ -17336,6 +17396,21 @@ public static class Multilingual { { "only_1v1_volleyfall", "糖豆排球锦标赛" }, { "only_1v1_volleyfall_191022_211022", "糖豆排球锦标赛" }, { "only_solo_ss2_rounds_show", "3、2、1,宇宙!" }, + { "pl_blastball", "震荡球" }, + { "pl_duos_show", "双人" }, + { "pl_fallmountain", "登山比拼" }, + { "pl_hexagone", "蜂窝迷图" }, + { "pl_hexaring", "蜂窝迷环" }, + { "pl_hexaterrestrial", "深空蜂窝" }, + { "pl_jumpshowdown", "巅峰对决" }, + { "pl_krakenslam", "海怪重击" }, + { "pl_losttemple", "失落神庙" }, + { "pl_rolloff", "滚轮行动" }, + { "pl_royal_fumble", "盛装团团转" }, + { "pl_solo_main_show", "单人" }, + { "pl_squads_show", "小队" }, + { "pl_thin_ice", "如履薄冰" }, + { "pl_tiptoefinale", "决胜之踮" }, { "pl_vaulted_show", "归档库" }, { "placeholder", ""}, { "playlist_fallguys_skill", "playlist_fallguys_skill" }, @@ -18269,6 +18344,21 @@ public static class Multilingual { { "only_1v1_volleyfall", "糖豆排球錦標賽" }, { "only_1v1_volleyfall_191022_211022", "糖豆排球錦標賽" }, { "only_solo_ss2_rounds_show", "3、2、1,宇宙!" }, + { "pl_blastball", "震盪球" }, + { "pl_duos_show", "雙人" }, + { "pl_fallmountain", "登山比拼" }, + { "pl_hexagone", "蜂窩迷圖" }, + { "pl_hexaring", "蜂窩迷環" }, + { "pl_hexaterrestrial", "深空蜂窩" }, + { "pl_jumpshowdown", "巔峰對決" }, + { "pl_krakenslam", "海怪重擊" }, + { "pl_losttemple", "失落神廟" }, + { "pl_rolloff", "滾輪行動" }, + { "pl_royal_fumble", "盛裝團團轉" }, + { "pl_solo_main_show", "單人" }, + { "pl_squads_show", "小隊" }, + { "pl_thin_ice", "如履薄冰" }, + { "pl_tiptoefinale", "決勝之踮" }, { "pl_vaulted_show", "歸檔庫" }, { "placeholder", ""}, { "playlist_fallguys_skill", "playlist_fallguys_skill" }, diff --git a/Views/Stats.cs b/Views/Stats.cs index 21b9d554..ed21004f 100644 --- a/Views/Stats.cs +++ b/Views/Stats.cs @@ -2041,17 +2041,106 @@ private void UpdateDatabaseVersion() { for (int version = this.CurrentSettings.Version; version < currentDbVersion; version++) { switch (version) { case 132: { + DateTime dateCond = new DateTime(2025, 10, 10, 12, 0, 0, DateTimeKind.Utc); + List roundInfoList = (from ri in this.RoundDetails.FindAll() + where (string.Equals(ri.ShowNameId, "event_animals_template") || + string.Equals(ri.ShowNameId, "event_snowday_stumble")) && ri.Start >= dateCond + select ri).ToList(); + + foreach (RoundInfo ri in roundInfoList) { + if (ri.Round == 4) ri.IsFinal = true; + } + this.StatsDB.BeginTrans(); + this.RoundDetails.Update(roundInfoList); + this.StatsDB.Commit(); + + List roundInfoList2 = (from ri in this.RoundDetails.FindAll() + where (string.Equals(ri.ShowNameId, "event_only_hoverboard_template") || + string.Equals(ri.ShowNameId, "event_yeetus_template") || + string.Equals(ri.ShowNameId, "wle_mrs_bouncy_bean_time")) && ri.Start >= dateCond + select ri).ToList(); + + foreach (RoundInfo ri in roundInfoList2) { + if (ri.Round == 3) ri.IsFinal = true; + } + this.StatsDB.BeginTrans(); + this.RoundDetails.Update(roundInfoList2); + this.StatsDB.Commit(); + + List roundInfoList3 = (from ri in this.RoundDetails.FindAll() + where string.Equals(ri.ShowNameId, "fp16_ski_fall_high_scorers") + select ri).ToList(); + + foreach (RoundInfo ri in roundInfoList3) { + if (ri.Round == 1) ri.IsFinal = true; + } + this.StatsDB.BeginTrans(); + this.RoundDetails.Update(roundInfoList3); + this.StatsDB.Commit(); + + List roundInfoList4 = (from ri in this.RoundDetails.FindAll() + where string.Equals(ri.ShowNameId, "event_only_slime_climb_2_template") + select ri).ToList(); + + foreach (RoundInfo ri in roundInfoList4) { + if (string.Equals(ri.RoundId, "round_slimeclimb_2_event_only_final")) { + ri.IsFinal = true; + } + } + this.StatsDB.BeginTrans(); + this.RoundDetails.Update(roundInfoList4); + this.StatsDB.Commit(); + + List roundInfoList5 = (from ri in this.RoundDetails.FindAll() + where string.Equals(ri.ShowNameId, "event_only_tip_toe_template") + select ri).ToList(); + + foreach (RoundInfo ri in roundInfoList5) { + if (ri.Round == 3 || string.Equals(ri.RoundId, "round_tip_toe_event_only_final")) { + ri.IsFinal = true; + } + } + this.StatsDB.BeginTrans(); + this.RoundDetails.Update(roundInfoList5); + this.StatsDB.Commit(); + + List roundInfoList6 = (from ri in this.RoundDetails.FindAll() + where string.Equals(ri.ShowNameId, "event_sports_suddendeath_squads") + select ri).ToList(); + + foreach (RoundInfo ri in roundInfoList6) { + if (ri.Round == 2 || string.Equals(ri.RoundId, "round_sports_suddendeath_fall_ball_02")) { + ri.IsFinal = true; + } + } + this.StatsDB.BeginTrans(); + this.RoundDetails.Update(roundInfoList6); + this.StatsDB.Commit(); + + List roundInfoList7 = (from ri in this.RoundDetails.FindAll() + where string.Equals(ri.ShowNameId, "event_squads_survival_template") + select ri).ToList(); + + foreach (RoundInfo ri in roundInfoList7) { + if (string.Equals(ri.Name, "round_floor_fall") || string.Equals(ri.Name, "round_thin_ice")) { + ri.IsFinal = false; + } + } + this.StatsDB.BeginTrans(); + this.RoundDetails.Update(roundInfoList7); + this.StatsDB.Commit(); + if (this.UpcomingShowCache.Any()) { - List roundInfoList = (from ri in this.RoundDetails.FindAll() - where this.UpcomingShowCache.Exists(u => string.Equals(u.LevelId, ri.Name)) && - string.IsNullOrEmpty(ri.CreativeShareCode) - select ri).ToList(); + List roundInfoList8 = (from ri in this.RoundDetails.FindAll() + where this.UpcomingShowCache.Exists(u => string.Equals(u.LevelId, ri.Name)) && + string.IsNullOrEmpty(ri.CreativeShareCode) + select ri).ToList(); - foreach (RoundInfo ri in roundInfoList) { + foreach (RoundInfo ri in roundInfoList8) { ri.CreativeShareCode = this.UpcomingShowCache.Find(u => string.Equals(u.LevelId, ri.Name)).ShareCode; } this.StatsDB.BeginTrans(); - this.RoundDetails.Update(roundInfoList); + this.RoundDetails.Update(roundInfoList8); this.StatsDB.Commit(); } break; @@ -2096,8 +2185,8 @@ where string.Equals(ri.ShowNameId, "wle_nature_ltm") this.StatsDB.Commit(); List roundInfoList = (from ri in this.RoundDetails.FindAll() - where !string.IsNullOrEmpty(ri.ShowNameId) && ri.ShowNameId.StartsWith("greatestsquads_") - select ri).ToList(); + where !string.IsNullOrEmpty(ri.ShowNameId) && ri.ShowNameId.StartsWith("greatestsquads_") + select ri).ToList(); foreach (RoundInfo ri in roundInfoList) { if (ri.Round == 3 || string.Equals(ri.Name, "gs_slimecycle")) { @@ -2109,8 +2198,8 @@ where string.Equals(ri.ShowNameId, "wle_nature_ltm") this.StatsDB.Commit(); List roundInfoList2 = (from ri in this.RoundDetails.FindAll() - where string.Equals(ri.ShowNameId, "event_only_fall_ball_trios_ranked") - select ri).ToList(); + where string.Equals(ri.ShowNameId, "event_only_fall_ball_trios_ranked") + select ri).ToList(); foreach (RoundInfo ri in roundInfoList2) { if (ri.Round == 3 || string.Equals(ri.RoundId, "round_fall_ball_cup_only_trios_final")) { @@ -2124,8 +2213,8 @@ where string.Equals(ri.ShowNameId, "event_only_fall_ball_trios_ranked") } case 127: { List roundInfoList = (from ri in this.RoundDetails.FindAll() - where string.Equals(ri.ShowNameId, "xtreme_solos_template_ranked") - select ri).ToList(); + where string.Equals(ri.ShowNameId, "xtreme_solos_template_ranked") + select ri).ToList(); Profiles profile = this.Profiles.FindOne(Query.EQ("LinkedShowId", "ranked_solo_show")); int profileId = profile?.ProfileId ?? -1; @@ -2137,8 +2226,8 @@ where string.Equals(ri.ShowNameId, "xtreme_solos_template_ranked") this.StatsDB.Commit(); List roundInfoList2 = (from ri in this.RoundDetails.FindAll() - where string.Equals(ri.ShowNameId, "no_elimination_show") - select ri).ToList(); + where string.Equals(ri.ShowNameId, "no_elimination_show") + select ri).ToList(); foreach (RoundInfo ri in roundInfoList2) { if (ri.Round == 3) ri.IsFinal = true; @@ -2166,10 +2255,10 @@ where string.Equals(ri.ShowNameId, "event_yeetus_template") case 125: { DateTime dateCond = new DateTime(2025, 7, 29, 9, 0, 0, DateTimeKind.Utc); List roundInfoList = (from ri in this.RoundDetails.FindAll() - where !string.IsNullOrEmpty(ri.ShowNameId) && - ri.Start >= dateCond && - ri.ShowNameId.StartsWith("knockout_") - select ri).ToList(); + where !string.IsNullOrEmpty(ri.ShowNameId) && + ri.ShowNameId.StartsWith("knockout_") && + ri.Start >= dateCond + select ri).ToList(); foreach (RoundInfo ri in roundInfoList) { if ((this.StatLookup.TryGetValue(ri.Name, out LevelStats levelStats) && levelStats.IsFinal) @@ -2186,8 +2275,8 @@ where string.Equals(ri.ShowNameId, "event_yeetus_template") this.StatsDB.Commit(); List roundInfoList2 = (from ri in this.RoundDetails.FindAll() - where string.Equals(ri.ShowNameId, "showcase_fp20") - select ri).ToList(); + where string.Equals(ri.ShowNameId, "showcase_fp20") + select ri).ToList(); Profiles profile = this.Profiles.FindOne(Query.EQ("LinkedShowId", "fall_guys_creative_mode")); int profileId = profile?.ProfileId ?? -1; @@ -2202,8 +2291,8 @@ where string.Equals(ri.ShowNameId, "showcase_fp20") this.StatsDB.Commit(); List roundInfoList3 = (from ri in this.RoundDetails.FindAll() - where string.Equals(ri.ShowNameId, "anniversary_fp12_ltm") - select ri).ToList(); + where string.Equals(ri.ShowNameId, "anniversary_fp12_ltm") + select ri).ToList(); foreach (RoundInfo ri in roundInfoList3) { if (ri.Round == 10) ri.IsFinal = true; @@ -2226,8 +2315,8 @@ where string.Equals(ri.ShowNameId, "event_only_slime_climb_2_template") this.StatsDB.Commit(); List roundInfoList2 = (from ri in this.RoundDetails.FindAll() - where string.Equals(ri.ShowNameId, "sports_show") - select ri).ToList(); + where string.Equals(ri.ShowNameId, "sports_show") + select ri).ToList(); foreach (RoundInfo ri in roundInfoList2) { if (ri.Round == 3 || string.Equals(ri.Name, "round_fall_ball_60_players")) { @@ -2284,8 +2373,8 @@ where string.Equals(ri.ShowNameId, "wle_mrs_bouncy_bean_time") this.StatsDB.Commit(); List roundInfoList2 = (from ri in this.RoundDetails.FindAll() - where string.Equals(ri.ShowNameId, "showcase_fp19") - select ri).ToList(); + where string.Equals(ri.ShowNameId, "showcase_fp19") + select ri).ToList(); Profiles profile = this.Profiles.FindOne(Query.EQ("LinkedShowId", "fall_guys_creative_mode")); int profileId = profile?.ProfileId ?? -1; @@ -2370,7 +2459,8 @@ where string.Equals(ri.ShowNameId, "showcase_fp13") DateTime dateCond = new DateTime(2025, 4, 1, 9, 0, 0, DateTimeKind.Utc); List roundInfoList = (from ri in this.RoundDetails.FindAll() - where string.Equals(ri.ShowNameId, "knockout_mode") && ri.Start >= dateCond + where string.Equals(ri.ShowNameId, "knockout_mode") && + ri.Start >= dateCond select ri).ToList(); foreach (RoundInfo ri in roundInfoList) { @@ -2572,7 +2662,8 @@ where string.Equals(ri.ShowNameId, "showcase_fp13") case 107: { DateTime dateCond = new DateTime(2024, 11, 17, 10, 0, 0, DateTimeKind.Utc); List roundInfoList = (from ri in this.RoundDetails.FindAll() - where string.Equals(ri.ShowNameId, "event_animals_template") && ri.Start >= dateCond + where string.Equals(ri.ShowNameId, "event_animals_template") && + ri.Start >= dateCond select ri).ToList(); foreach (RoundInfo ri in roundInfoList) { @@ -2588,7 +2679,8 @@ where string.Equals(ri.ShowNameId, "event_animals_template") && ri.Start >= date case 106: { DateTime dateCond = new DateTime(2024, 10, 25, 12, 0, 0, DateTimeKind.Utc); List roundInfoList = (from ri in this.RoundDetails.FindAll() - where string.Equals(ri.ShowNameId, "event_only_button_bashers_template") && ri.Start >= dateCond + where string.Equals(ri.ShowNameId, "event_only_button_bashers_template") && + ri.Start >= dateCond select ri).ToList(); foreach (RoundInfo ri in roundInfoList) { @@ -2727,8 +2819,8 @@ where string.Equals(ri.ShowNameId, "ftue_uk_show") 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_") + ri.ShowNameId.StartsWith("knockout_") && + ri.Start >= dateCond select ri).ToList(); foreach (RoundInfo ri in roundInfoList2) { @@ -2907,8 +2999,8 @@ where string.Equals(ri.ShowNameId, "no_elimination_explore") 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_") + ri.ShowNameId.StartsWith("knockout_") && + ri.Start >= dateCond select ri).ToList(); foreach (RoundInfo ri in roundInfoList2) { @@ -3162,7 +3254,8 @@ where string.Equals(ri.ShowNameId, "wle_mrs_survival_showdown") DateTime dateCond = new DateTime(2024, 2, 28, 10, 0, 0, DateTimeKind.Utc); List roundInfoList2 = (from ri in this.RoundDetails.FindAll() - where ri.Start <= dateCond && string.Equals(ri.Name, "user_creative_race_round") + where string.Equals(ri.Name, "user_creative_race_round") && + ri.Start <= dateCond select ri).ToList(); foreach (RoundInfo ri in roundInfoList2) { @@ -3320,9 +3413,8 @@ where string.Equals(ri.ShowNameId, "wle_mrs_winter") case 72: { DateTime dateCond = new DateTime(2023, 12, 15, 10, 0, 0, DateTimeKind.Utc); List roundInfoList = (from ri in this.RoundDetails.FindAll() - where ri.Start >= dateCond && - string.Equals(ri.Name, "user_creative_race_round") && - (ri.PrivateLobby == false || ri.Round > 1) + where string.Equals(ri.Name, "user_creative_race_round") && + ri.Start >= dateCond && (ri.PrivateLobby == false || ri.Round > 1) select ri).ToList(); this.StatsDB.BeginTrans(); @@ -5945,6 +6037,12 @@ public string GetAlternateShowId(string showId) { return "knockout_mode"; case "live_event_timeattack_shuffle_pl": return "live_event_timeattack_shuffle"; + case "pl_duos_show": + return "classic_duos_show"; + case "pl_solo_main_show": + return "classic_solo_main_show"; + case "pl_squads_show": + return "classic_squads_show"; default: return showId; }