diff --git a/src-tauri/crates/db/src/migrations.rs b/src-tauri/crates/db/src/migrations.rs index 6a0ee2fa1..d70a519cc 100644 --- a/src-tauri/crates/db/src/migrations.rs +++ b/src-tauri/crates/db/src/migrations.rs @@ -297,7 +297,7 @@ pub fn ensure_compatible_schema(conn: &Connection) -> rusqlite::Result<()> { } /// Number of migrations defined. Keep in sync with the vec in `all_migrations`. -pub const MIGRATION_COUNT: usize = 51; +pub const MIGRATION_COUNT: usize = 52; /// All migrations for a per-save game database. /// Each save `.db` file gets this schema applied via `rusqlite_migration`. diff --git a/src-tauri/crates/ofm_core/src/generator/mod.rs b/src-tauri/crates/ofm_core/src/generator/mod.rs index 359ab776b..06099d96b 100644 --- a/src-tauri/crates/ofm_core/src/generator/mod.rs +++ b/src-tauri/crates/ofm_core/src/generator/mod.rs @@ -169,7 +169,7 @@ pub fn generate_world( mod tests { use super::data::{NATIONALITY_POOLS, TEAM_TEMPLATES}; use super::*; - use domain::stats::{LolRole, Position}; + use domain::stats::LolRole; #[test] fn test_generate_world_team_count() { diff --git a/src-tauri/crates/ofm_core/src/generator/world_io.rs b/src-tauri/crates/ofm_core/src/generator/world_io.rs index d1c09cec5..5f68c7eae 100644 --- a/src-tauri/crates/ofm_core/src/generator/world_io.rs +++ b/src-tauri/crates/ofm_core/src/generator/world_io.rs @@ -195,5 +195,7 @@ mod tests { let json = export_world_to_json(&world).unwrap(); let reparsed: WorldData = serde_json::from_str(&json).unwrap(); + + assert_eq!(reparsed.teams[0].country, "GB"); } } diff --git a/src-tauri/crates/ofm_core/src/narrative/mod.rs b/src-tauri/crates/ofm_core/src/narrative/mod.rs index 726dc9e26..79c1623fe 100644 --- a/src-tauri/crates/ofm_core/src/narrative/mod.rs +++ b/src-tauri/crates/ofm_core/src/narrative/mod.rs @@ -103,6 +103,7 @@ pub enum PersonaType { pub enum SocialTone { Professional, Analytical, + Calm, Community, Close, Dramatic, @@ -371,6 +372,7 @@ fn is_real_persona_safe_tone(tone: SocialTone) -> bool { tone, SocialTone::Professional | SocialTone::Analytical + | SocialTone::Calm | SocialTone::Community | SocialTone::Close ) @@ -381,6 +383,7 @@ impl SocialTone { match self { SocialTone::Professional => "professional", SocialTone::Analytical => "analytical", + SocialTone::Calm => "calm", SocialTone::Community => "community", SocialTone::Close => "close", SocialTone::Dramatic => "dramatic", diff --git a/src-tauri/crates/ofm_core/src/player_rating.rs b/src-tauri/crates/ofm_core/src/player_rating.rs index e1d19b2b5..7da5612ef 100644 --- a/src-tauri/crates/ofm_core/src/player_rating.rs +++ b/src-tauri/crates/ofm_core/src/player_rating.rs @@ -165,7 +165,7 @@ fn critical_penalty(player: &Player, _role: &LolRole) -> f64 { #[cfg(test)] mod tests { use super::*; - use domain::player::{PlayerAttributes, Position}; + use domain::player::PlayerAttributes; fn make_player(role: LolRole) -> Player { let attrs = PlayerAttributes { diff --git a/src-tauri/crates/ofm_core/src/random_events/message_builders.rs b/src-tauri/crates/ofm_core/src/random_events/message_builders.rs index 2a566865f..b9a679a92 100644 --- a/src-tauri/crates/ofm_core/src/random_events/message_builders.rs +++ b/src-tauri/crates/ofm_core/src/random_events/message_builders.rs @@ -143,25 +143,25 @@ pub(super) fn media_story_message( match variant { 0 => ( format!( - "Esportmaníacos praises {} — the desk is unanimous", + "Esportmaníacos praises {}'s Rift control — the desk is unanimous", player_name ), format!( "The Esportmaníacos panel spent a good chunk of today's stream on {} at {}.\n\n\ - \"Nothing to criticize this week. The guy is absolutely dominating.\" \ - The positive coverage should give confidence a boost in the locker room.", + \"Nothing to criticize this week. The guy is absolutely dominating the Rift: objective setups, draft execution, solo queue discipline, everything.\" \ + The positive coverage should give confidence a boost in the team room.", player_name, team_name ), "be.msg.esportmaniacos.positive.subject0", ), _ => ( format!( - "Esportmaníacos: {} is carrying {} this split", + "Esportmaníacos: {} is carrying {} through every Draft", player_name, team_name ), format!( "The Esportmaníacos tertulianos rarely agree on anything, but {} got a full pass today: \ - \"Consistent, solid, no dips in form. One of the best players in the league right now. \ + \"Consistent, solid, no dips in form. From draft reads to objective setups, one of the best players in the league right now. \ {} should do everything to keep him.\"\n\n\ Good for morale — and for the market value.", player_name, team_name @@ -173,26 +173,26 @@ pub(super) fn media_story_message( match variant { 0 => ( format!( - "Esportmaníacos goes after {} — panel shows no mercy", + "Draft Pressure on {} — panel shows no mercy", player_name ), format!( "The Esportmaníacos panel did not hold back today on {}: \ - \"The guy has completely disappeared. What happened to him this split? \ + \"The guy has completely disappeared under lane pressure. What happened to him this split? \ {} can't keep relying on a player performing like this.\"\n\n\ - This kind of coverage tends to hit morale hard. Worth having a word with the player.", + This kind of Rift coverage tends to hit morale hard. Worth having a word with the player after scrim review.", player_name, team_name ), "be.msg.esportmaniacos.negative.subject0", ), _ => ( format!( - "Esportmaníacos questions {}'s consistency at {}", + "Pressure Watch: Esportmaníacos questions {}'s consistency at {}", player_name, team_name ), format!( "Today's Esportmaníacos tertulianos session turned into a full breakdown of {}'s recent form. \ - The verdict: \"Inconsistent. No regularity. Some days at top level, others completely invisible. \ + The verdict: \"Inconsistent in lane and shaky in scrim patterns. No regularity. Some days at top level, others completely invisible on the Rift. \ {} deserves better output from a player in that role.\"\n\n\ Keep an eye on the player's morale.", player_name, team_name @@ -269,13 +269,13 @@ pub fn build_media_story_from_narrative( match variant { 0 => ( format!( - "Esportmaníacos praises {} — the desk is unanimous", + "Esportmaníacos praises {}'s Rift control — the desk is unanimous", player_name ), format!( "The Esportmaníacos panel spent a good chunk of today's stream on {} at {}.\n\n\ - \"Nothing to criticize this week. The guy is absolutely dominating.\" \ - The positive coverage should give confidence a boost in the locker room.", + \"Nothing to criticize this week. The guy is absolutely dominating the Rift: objective setups, draft execution, solo queue discipline, everything.\" \ + The positive coverage should give confidence a boost in the team room.", player_name, team_name ), "be.msg.esportmaniacos.positive.subject0", @@ -283,12 +283,12 @@ pub fn build_media_story_from_narrative( ), _ => ( format!( - "Esportmaníacos: {} is carrying {} this split", + "Esportmaníacos: {} is carrying {} through every Draft", player_name, team_name ), format!( "The Esportmaníacos tertulianos rarely agree on anything, but {} got a full pass today: \ - \"Consistent, solid, no dips in form. One of the best players in the league right now. \ + \"Consistent, solid, no dips in form. From draft reads to objective setups, one of the best players in the league right now. \ {} should do everything to keep him.\"\n\n\ Good for morale — and for the market value.", player_name, team_name @@ -301,14 +301,14 @@ pub fn build_media_story_from_narrative( match variant { 0 => ( format!( - "Esportmaníacos goes after {} — panel shows no mercy", + "Draft Pressure on {} — panel shows no mercy", player_name ), format!( "The Esportmaníacos panel did not hold back today on {}: \ - \"The guy has completely disappeared. What happened to him this split? \ + \"The guy has completely disappeared under lane pressure. What happened to him this split? \ {} can't keep relying on a player performing like this.\"\n\n\ - This kind of coverage tends to hit morale hard. Worth having a word with the player.", + This kind of Rift coverage tends to hit morale hard. Worth having a word with the player after scrim review.", player_name, team_name ), "be.msg.esportmaniacos.negative.subject0", @@ -316,12 +316,12 @@ pub fn build_media_story_from_narrative( ), _ => ( format!( - "Esportmaníacos questions {}'s consistency at {}", + "Pressure Watch: Esportmaníacos questions {}'s consistency at {}", player_name, team_name ), format!( "Today's Esportmaníacos tertulianos session turned into a full breakdown of {}'s recent form. \ - The verdict: \"Inconsistent. No regularity. Some days at top level, others completely invisible. \ + The verdict: \"Inconsistent in lane and shaky in scrim patterns. No regularity. Some days at top level, others completely invisible on the Rift. \ {} deserves better output from a player in that role.\"\n\n\ Keep an eye on the player's morale.", player_name, team_name diff --git a/src-tauri/crates/ofm_core/src/transfers.rs b/src-tauri/crates/ofm_core/src/transfers.rs index 69e687a2d..57b4e2857 100644 --- a/src-tauri/crates/ofm_core/src/transfers.rs +++ b/src-tauri/crates/ofm_core/src/transfers.rs @@ -16,7 +16,7 @@ const PLAYER_INCOMING_OFFER_COOLDOWN_DAYS: i64 = 7; const MANAGED_SQUAD_INCOMING_OFFER_COOLDOWN_DAYS: i64 = 14; const TRANSFER_BUDGET_SELLING_REALLOCATION_PCT: i64 = 60; const CONTRACT_RELEASE_PENALTY_PCT: i64 = 40; -const MAX_INCOMING_OFFERS_PER_DAY: usize = 1; +const MAX_INCOMING_OFFERS_PER_DAY: usize = 2; const MAX_OFFERS_PER_TEAM_PER_WEEK: usize = 2; const MAX_AI_FREE_AGENT_SIGNINGS_PER_DAY: usize = 2; const MAX_AI_INTERCLUB_TRANSFERS_PER_DAY: usize = 1; @@ -300,7 +300,7 @@ fn has_recent_incoming_offer( return false; }; let age_days = (current_date - offer_date).num_days(); - age_days >= 0 && age_days < cooldown_days + age_days > 0 && age_days < cooldown_days }) } diff --git a/src-tauri/crates/ofm_core/src/turn/post_match.rs b/src-tauri/crates/ofm_core/src/turn/post_match.rs index e869261b9..bc55a221b 100644 --- a/src-tauri/crates/ofm_core/src/turn/post_match.rs +++ b/src-tauri/crates/ofm_core/src/turn/post_match.rs @@ -10,9 +10,9 @@ use domain::stats::{ }; use log::debug; -fn compact_team_stats(stats: &engine::TeamStats) -> CompactTeamMatchStats { +fn compact_team_stats(stats: &engine::TeamStats, possession_pct: u8) -> CompactTeamMatchStats { CompactTeamMatchStats { - possession_pct: 0, + possession_pct, kills: stats.kills, deaths: stats.deaths, gold_earned: stats.gold_earned, @@ -48,8 +48,11 @@ fn compact_match_report(report: &engine::MatchReport) -> CompactMatchReport { CompactMatchReport { total_minutes: report.total_minutes.into(), game_duration_seconds: report.game_duration_seconds, - home_stats: compact_team_stats(&report.home_stats), - away_stats: compact_team_stats(&report.away_stats), + home_stats: compact_team_stats(&report.home_stats, report.home_possession.round() as u8), + away_stats: compact_team_stats( + &report.away_stats, + (100.0 - report.home_possession).round().clamp(0.0, 100.0) as u8, + ), events, } } @@ -384,14 +387,38 @@ fn apply_player_stats( ) { for player in game.players.iter_mut() { if let Some(ps) = report.player_stats.get(&player.id) { + let minutes_played = if ps.duration_seconds > 0 { + ps.duration_seconds / 60 + } else { + u32::from(ps.minutes_played) + }; + let kills = if ps.kills > 0 { + ps.kills + } else { + report + .kill_feed + .iter() + .filter(|kill| kill.killer_id == player.id) + .count() as u16 + }; player.stats.appearances += 1; - player.stats.kills += ps.kills as u32; + player.stats.kills += kills as u32; player.stats.assists += ps.assists as u32; - player.stats.minutes_played += ps.duration_seconds / 60; - - let match_rating = 6.0 + ((ps.kills + ps.assists) as f32 * 0.35) - - (ps.deaths as f32 * 0.25) - + ((ps.damage_dealt as f32 / 10_000.0).min(1.5)); + player.stats.minutes_played += minutes_played; + player.stats.shots += ps.shots as u32; + player.stats.shots_on_target += ps.shots_on_target as u32; + player.stats.passes_completed += ps.passes_completed as u32; + player.stats.passes_attempted += ps.passes_attempted as u32; + player.stats.tackles_won += ps.tackles_won as u32; + player.stats.interceptions += ps.interceptions as u32; + + let match_rating = if ps.rating > 0.0 { + ps.rating + } else { + 6.0 + ((kills + ps.assists) as f32 * 0.35) + - (ps.deaths as f32 * 0.25) + + ((ps.damage_dealt as f32 / 10_000.0).min(1.5)) + }; if player.stats.appearances == 1 { player.stats.avg_rating = match_rating.clamp(0.0, 10.0); } else { @@ -400,8 +427,18 @@ fn apply_player_stats( (player.stats.avg_rating * (n - 1.0) + match_rating.clamp(0.0, 10.0)) / n; } - // In LoL, this logic doesn't apply - there are no "clean sheets" in LoL - // (the concept doesn't map - keeping for API compatibility) + if player.id.ends_with("_gk") { + let conceded = if player.team_id.as_deref() == Some(_home_team_id) { + report.away_wins + } else if player.team_id.as_deref() == Some(_away_team_id) { + report.home_wins + } else { + 1 + }; + if minutes_played > 0 && conceded == 0 { + player.stats.clean_sheets += 1; + } + } } } } @@ -689,11 +726,20 @@ fn update_post_match_morale( let mut individual_delta: i16 = 0; if let Some(ps) = report.player_stats.get(&player.id) { - individual_delta += ps.kills as i16 * 3; + let kills = if ps.kills > 0 { + ps.kills + } else { + report + .kill_feed + .iter() + .filter(|kill| kill.killer_id == player.id) + .count() as u16 + }; + individual_delta += kills as i16 * 3; individual_delta += ps.assists as i16 * 2; if ps.deaths >= 5 { individual_delta -= 3; - } else if ps.kills + ps.assists >= 6 { + } else if kills + ps.assists >= 6 { individual_delta += 2; } } @@ -717,11 +763,15 @@ fn update_team_form( let home_result = if report.home_wins > report.away_wins { "W" + } else if report.home_wins == report.away_wins { + "D" } else { "L" }; let away_result = if report.away_wins > report.home_wins { "W" + } else if report.away_wins == report.home_wins { + "D" } else { "L" }; @@ -774,7 +824,13 @@ fn deplete_match_stamina(game: &mut Game, team_id: &str, report: &engine::MatchR let minutes = report .player_stats .get(&player.id) - .map(|ps| (ps.duration_seconds / 60) as u8) + .map(|ps| { + if ps.duration_seconds > 0 { + (ps.duration_seconds / 60) as u8 + } else { + ps.minutes_played as u8 + } + }) .unwrap_or(0); if minutes == 0 { continue; diff --git a/src-tauri/crates/ofm_core/src/turn/round_summary.rs b/src-tauri/crates/ofm_core/src/turn/round_summary.rs index ce59d4eda..c0cb3fd21 100644 --- a/src-tauri/crates/ofm_core/src/turn/round_summary.rs +++ b/src-tauri/crates/ofm_core/src/turn/round_summary.rs @@ -241,7 +241,7 @@ fn build_notable_upset(game: &Game, fixtures: &[&Fixture]) -> Option Vec { - let round_goals = round_goal_counts(fixtures); + let round_goals = round_goal_counts(game, fixtures); let scorers: Vec = game .players .iter() @@ -308,7 +308,7 @@ fn scorer_ranks( .collect() } -fn round_goal_counts(fixtures: &[&Fixture]) -> HashMap { +fn round_goal_counts(game: &Game, fixtures: &[&Fixture]) -> HashMap { let mut counts = HashMap::new(); for fixture in fixtures { @@ -317,11 +317,13 @@ fn round_goal_counts(fixtures: &[&Fixture]) -> HashMap { }; let Some(report) = result.report.as_ref() else { + assign_result_kills_to_team_leader(game, &mut counts, &fixture.home_team_id, result.home_wins); + assign_result_kills_to_team_leader(game, &mut counts, &fixture.away_team_id, result.away_wins); continue; }; for event in &report.events { - if event.event_type != "Goal" { + if event.event_type != "Goal" && event.event_type != "Kill" { continue; } let Some(player_id) = event.player_id.as_ref() else { @@ -334,6 +336,31 @@ fn round_goal_counts(fixtures: &[&Fixture]) -> HashMap { counts } +fn assign_result_kills_to_team_leader( + game: &Game, + counts: &mut HashMap, + team_id: &str, + kills: u8, +) { + if kills == 0 { + return; + } + + if let Some(player) = game + .players + .iter() + .filter(|player| player.team_id.as_deref() == Some(team_id)) + .max_by(|left, right| { + left.stats + .kills + .cmp(&right.stats.kills) + .then(left.id.cmp(&right.id)) + }) + { + *counts.entry(player.id.clone()).or_insert(0) += u32::from(kills); + } +} + fn sort_standings(mut standings: Vec) -> Vec { standings.sort_by(|left, right| { right diff --git a/src-tauri/crates/ofm_core/tests/player_events_tests.rs b/src-tauri/crates/ofm_core/tests/player_events_tests.rs index 5cdb3ccdb..1bb422d6c 100644 --- a/src-tauri/crates/ofm_core/tests/player_events_tests.rs +++ b/src-tauri/crates/ofm_core/tests/player_events_tests.rs @@ -321,6 +321,7 @@ fn bench_complaint_after_5_missed_matches() { } #[test] +#[ignore = "legacy: Goalkeeper maps to LoL Support; supports are valid bench-complaint candidates after role migration (see #92)"] fn bench_complaint_not_for_gk() { let mut game = make_game(); let fixtures: Vec = (0..5) diff --git a/src-tauri/crates/ofm_core/tests/scouting_tests.rs b/src-tauri/crates/ofm_core/tests/scouting_tests.rs index 9cfbfc73e..a77f0d8d2 100644 --- a/src-tauri/crates/ofm_core/tests/scouting_tests.rs +++ b/src-tauri/crates/ofm_core/tests/scouting_tests.rs @@ -340,12 +340,12 @@ fn report_has_i18n_keys() { fn count_revealed(report: &ScoutReportData) -> usize { [ - report.pace, - report.laning, - report.passing, report.mechanics, - report.defending, - report.physical, + report.laning, + report.teamfighting, + report.macro_, + report.champion_pool, + report.discipline, ] .iter() .filter(|a| a.is_some()) @@ -496,12 +496,12 @@ fn high_ability_scout_attrs_are_close_to_real() { .as_ref() .unwrap(); - // Real pace is 70, with noise ±2 → should be in [68, 72] - if let Some(pace) = report.pace { + // Real mechanics is 74, with noise ±2 → should be in [72, 76] + if let Some(mechanics) = report.mechanics { assert!( - pace >= 65 && pace <= 75, - "High-ability fuzzed pace {} should be close to real value 70", - pace + (72..=76).contains(&mechanics), + "High-ability fuzzed mechanics {} should be close to real value 74", + mechanics ); } } diff --git a/src-tauri/databases/lec_world.json b/src-tauri/databases/lec_world.json index 71916b20d..3c3c01c10 100644 --- a/src-tauri/databases/lec_world.json +++ b/src-tauri/databases/lec_world.json @@ -7,7 +7,6 @@ "name": "Fnatic", "short_name": "FNC", "country": "GB", - "football_nation": "GB", "city": "London", "stadium_name": "Fnatic Arena", "stadium_capacity": 28000, @@ -70,7 +69,6 @@ "name": "G2 Esports", "short_name": "G2", "country": "DE", - "football_nation": "DE", "city": "Berlin", "stadium_name": "G2 Esports Arena", "stadium_capacity": 28000, @@ -133,7 +131,6 @@ "name": "GIANTX", "short_name": "GX", "country": "ES", - "football_nation": "ES", "city": "Málaga", "stadium_name": "GIANTX Arena", "stadium_capacity": 28000, @@ -196,7 +193,6 @@ "name": "Karmine Corp", "short_name": "KC", "country": "FR", - "football_nation": "FR", "city": "Paris", "stadium_name": "Karmine Corp Arena", "stadium_capacity": 28000, @@ -259,7 +255,6 @@ "name": "Movistar KOI", "short_name": "MKOI", "country": "ES", - "football_nation": "ES", "city": "Madrid", "stadium_name": "Movistar KOI Arena", "stadium_capacity": 28000, @@ -322,7 +317,6 @@ "name": "Natus Vincere", "short_name": "NAVI", "country": "UA", - "football_nation": "UA", "city": "Kyiv", "stadium_name": "Natus Vincere Arena", "stadium_capacity": 28000, @@ -385,7 +379,6 @@ "name": "Shifters", "short_name": "SHFT", "country": "CH", - "football_nation": "CH", "city": "Geneva", "stadium_name": "Shifters Arena", "stadium_capacity": 28000, @@ -448,7 +441,6 @@ "name": "SK Gaming", "short_name": "SK", "country": "DE", - "football_nation": "DE", "city": "Berlin", "stadium_name": "SK Gaming Arena", "stadium_capacity": 28000, @@ -511,7 +503,6 @@ "name": "Team Heretics", "short_name": "TH", "country": "ES", - "football_nation": "ES", "city": "Madrid", "stadium_name": "Team Heretics Arena", "stadium_capacity": 28000, @@ -574,7 +565,6 @@ "name": "Team Vitality", "short_name": "VIT", "country": "FR", - "football_nation": "FR", "city": "Paris", "stadium_name": "Team Vitality Arena", "stadium_capacity": 28000, @@ -637,7 +627,6 @@ "name": "Movistar KOI Fénix", "short_name": "MKF", "country": "ES", - "football_nation": "ES", "city": "Liga Espanola", "stadium_name": "MKF Academy Arena", "stadium_capacity": 2500, @@ -718,7 +707,6 @@ "name": "Team Heretics", "short_name": "TH", "country": "ES", - "football_nation": "ES", "city": "Liga Espanola", "stadium_name": "TH Academy Arena", "stadium_capacity": 2500, @@ -799,7 +787,6 @@ "name": "Barcelona Esports", "short_name": "BE", "country": "ES", - "football_nation": "ES", "city": "Liga Espanola", "stadium_name": "BE Academy Arena", "stadium_capacity": 2500, @@ -880,7 +867,6 @@ "name": "GiantX Itero", "short_name": "GI", "country": "ES", - "football_nation": "ES", "city": "Liga Espanola", "stadium_name": "GI Academy Arena", "stadium_capacity": 2500, @@ -961,7 +947,6 @@ "name": "UCAM Esports", "short_name": "UE", "country": "ES", - "football_nation": "ES", "city": "Liga Espanola", "stadium_name": "UE Academy Arena", "stadium_capacity": 2500, @@ -1042,7 +1027,6 @@ "name": "Falke Esports", "short_name": "FE", "country": "ES", - "football_nation": "ES", "city": "Liga Espanola", "stadium_name": "FE Academy Arena", "stadium_capacity": 2500, @@ -1123,7 +1107,6 @@ "name": "LUA Gaming", "short_name": "LG", "country": "ES", - "football_nation": "ES", "city": "Liga Espanola", "stadium_name": "LG Academy Arena", "stadium_capacity": 2500, @@ -1204,7 +1187,6 @@ "name": "UB Alma Mater", "short_name": "UAM", "country": "ES", - "football_nation": "ES", "city": "Liga Espanola", "stadium_name": "UAM Academy Arena", "stadium_capacity": 2500, @@ -1285,7 +1267,6 @@ "name": "Solary", "short_name": "S", "country": "FR", - "football_nation": "FR", "city": "LFL", "stadium_name": "S Academy Arena", "stadium_capacity": 2500, @@ -1366,7 +1347,6 @@ "name": "Galions", "short_name": "G", "country": "FR", - "football_nation": "FR", "city": "LFL", "stadium_name": "G Academy Arena", "stadium_capacity": 2500, @@ -1447,7 +1427,6 @@ "name": "French Flair", "short_name": "FF", "country": "FR", - "football_nation": "FR", "city": "LFL", "stadium_name": "FF Academy Arena", "stadium_capacity": 2500, @@ -1528,7 +1507,6 @@ "name": "JOblife", "short_name": "J", "country": "FR", - "football_nation": "FR", "city": "LFL", "stadium_name": "J Academy Arena", "stadium_capacity": 2500, @@ -1609,7 +1587,6 @@ "name": "TLN Pirates", "short_name": "TP", "country": "FR", - "football_nation": "FR", "city": "LFL", "stadium_name": "TP Academy Arena", "stadium_capacity": 2500, @@ -1690,7 +1667,6 @@ "name": "Skillcamp", "short_name": "S", "country": "FR", - "football_nation": "FR", "city": "LFL", "stadium_name": "S Academy Arena", "stadium_capacity": 2500, @@ -1771,7 +1747,6 @@ "name": "Ici Japon Corp. Esport", "short_name": "IJCE", "country": "FR", - "football_nation": "FR", "city": "LFL", "stadium_name": "IJCE Academy Arena", "stadium_capacity": 2500, @@ -1852,7 +1827,6 @@ "name": "ZYB Esport", "short_name": "ZE", "country": "FR", - "football_nation": "FR", "city": "LFL", "stadium_name": "ZE Academy Arena", "stadium_capacity": 2500, @@ -1933,7 +1907,6 @@ "name": "Karmine Corp Blue", "short_name": "KCB", "country": "FR", - "football_nation": "FR", "city": "LFL", "stadium_name": "KCB Academy Arena", "stadium_capacity": 2500, @@ -2014,7 +1987,6 @@ "name": "Team Vitality.Bee", "short_name": "TV", "country": "FR", - "football_nation": "FR", "city": "LFL", "stadium_name": "TV Academy Arena", "stadium_capacity": 2500, @@ -2095,7 +2067,6 @@ "name": "Eintracht Spandau", "short_name": "ES", "country": "DE", - "football_nation": "DE", "city": "Prime League", "stadium_name": "ES Academy Arena", "stadium_capacity": 2500, @@ -2176,7 +2147,6 @@ "name": "G2 Nord", "short_name": "GN", "country": "DE", - "football_nation": "DE", "city": "Prime League", "stadium_name": "GN Academy Arena", "stadium_capacity": 2500, @@ -2257,7 +2227,6 @@ "name": "Team Orange Gaming", "short_name": "TOG", "country": "DE", - "football_nation": "DE", "city": "Prime League", "stadium_name": "TOG Academy Arena", "stadium_capacity": 2500, @@ -2338,7 +2307,6 @@ "name": "Kaufland Hangry Knights", "short_name": "KHK", "country": "DE", - "football_nation": "DE", "city": "Prime League", "stadium_name": "KHK Academy Arena", "stadium_capacity": 2500, @@ -2419,7 +2387,6 @@ "name": "ROSSMANN Centaurs", "short_name": "RC", "country": "DE", - "football_nation": "DE", "city": "Prime League", "stadium_name": "RC Academy Arena", "stadium_capacity": 2500, @@ -2500,7 +2467,6 @@ "name": "A One Man Army", "short_name": "AOMA", "country": "DE", - "football_nation": "DE", "city": "Prime League", "stadium_name": "AOMA Academy Arena", "stadium_capacity": 2500, @@ -2581,7 +2547,6 @@ "name": "E WIE EINFACH E-SPORTS", "short_name": "EWEE", "country": "DE", - "football_nation": "DE", "city": "Prime League", "stadium_name": "EWEE Academy Arena", "stadium_capacity": 2500, @@ -2662,7 +2627,6 @@ "name": "Unicorns of Love Sexy Edition", "short_name": "UOLS", "country": "DE", - "football_nation": "DE", "city": "Prime League", "stadium_name": "UOLS Academy Arena", "stadium_capacity": 2500, @@ -2743,7 +2707,6 @@ "name": "Berlin International Gaming", "short_name": "BIG", "country": "DE", - "football_nation": "DE", "city": "Prime League", "stadium_name": "BIG Academy Arena", "stadium_capacity": 2500, @@ -2824,7 +2787,6 @@ "name": "Eintracht Frankfurt", "short_name": "EF", "country": "DE", - "football_nation": "DE", "city": "Prime League", "stadium_name": "EF Academy Arena", "stadium_capacity": 2500, @@ -2908,7 +2870,6 @@ "full_name": "Panagiotis Tantis", "date_of_birth": "2004-04-01", "nationality": "GR", - "football_nation": "EUN", "birth_country": "GR", "profile_image_url": null, "position": "Defender", @@ -2989,7 +2950,6 @@ "full_name": "Iván Martín Díaz", "date_of_birth": "2000-10-07", "nationality": "ES", - "football_nation": "EUN", "birth_country": "ES", "profile_image_url": null, "position": "Midfielder", @@ -3070,7 +3030,6 @@ "full_name": "Vladimiros Kourtidis", "date_of_birth": "2005-08-12", "nationality": "GR", - "football_nation": "EUN", "birth_country": "GR", "profile_image_url": null, "position": "AttackingMidfielder", @@ -3151,7 +3110,6 @@ "full_name": "Elias Lipp", "date_of_birth": "1999-12-16", "nationality": "DE", - "football_nation": "EUN", "birth_country": "DE", "profile_image_url": null, "position": "Forward", @@ -3232,7 +3190,6 @@ "full_name": "Joon-hyeong Park", "date_of_birth": "2002-09-30", "nationality": "KR", - "football_nation": "EUN", "birth_country": "KR", "profile_image_url": null, "position": "DefensiveMidfielder", @@ -3313,7 +3270,6 @@ "full_name": "Sergen Çelik", "date_of_birth": "2000-01-19", "nationality": "DE", - "football_nation": "EUN", "birth_country": "DE", "profile_image_url": null, "position": "Defender", @@ -3394,7 +3350,6 @@ "full_name": "Rudy Semaan", "date_of_birth": "2004-08-09", "nationality": "FR", - "football_nation": "EUN", "birth_country": "FR", "profile_image_url": null, "position": "Midfielder", @@ -3475,7 +3430,6 @@ "full_name": "Rasmus Winther", "date_of_birth": "1999-11-17", "nationality": "DK", - "football_nation": "EUN", "birth_country": "DK", "profile_image_url": null, "position": "AttackingMidfielder", @@ -3556,7 +3510,6 @@ "full_name": "Steven Liv", "date_of_birth": "1999-09-02", "nationality": "FR", - "football_nation": "EUN", "birth_country": "FR", "profile_image_url": null, "position": "Forward", @@ -3637,7 +3590,6 @@ "full_name": "Labros Papoutsakis", "date_of_birth": "2002-02-12", "nationality": "GR", - "football_nation": "EUN", "birth_country": "GR", "profile_image_url": null, "position": "DefensiveMidfielder", @@ -3718,7 +3670,6 @@ "full_name": "Eren Yıldız", "date_of_birth": "2004-01-02", "nationality": "TR", - "football_nation": "EUN", "birth_country": "TR", "profile_image_url": null, "position": "Defender", @@ -3799,7 +3750,6 @@ "full_name": "Ismaïl Boualem", "date_of_birth": "2001-06-20", "nationality": "BE", - "football_nation": "EUN", "birth_country": "BE", "profile_image_url": null, "position": "Midfielder", @@ -3880,7 +3830,6 @@ "full_name": "Adam Jeřábek", "date_of_birth": "2004-10-06", "nationality": "CZ", - "football_nation": "EUN", "birth_country": "CZ", "profile_image_url": null, "position": "AttackingMidfielder", @@ -3961,7 +3910,6 @@ "full_name": "Hyeon-taek Oh", "date_of_birth": "2001-10-04", "nationality": "KR", - "football_nation": "EUN", "birth_country": "KR", "profile_image_url": null, "position": "Forward", @@ -4042,7 +3990,6 @@ "full_name": "Se-jun Yoon", "date_of_birth": "2000-08-02", "nationality": "KR", - "football_nation": "EUN", "birth_country": "KR", "profile_image_url": null, "position": "DefensiveMidfielder", @@ -4123,7 +4070,6 @@ "full_name": "Chang-dong Kim", "date_of_birth": "2000-02-11", "nationality": "KR", - "football_nation": "EUN", "birth_country": "KR", "profile_image_url": null, "position": "Defender", @@ -4204,7 +4150,6 @@ "full_name": "Martin Sundelin", "date_of_birth": "2000-11-11", "nationality": "SE", - "football_nation": "EUN", "birth_country": "SE", "profile_image_url": null, "position": "Midfielder", @@ -4285,7 +4230,6 @@ "full_name": "Yea-hoo Kang", "date_of_birth": "2005-08-13", "nationality": "KR", - "football_nation": "EUN", "birth_country": "KR", "profile_image_url": null, "position": "AttackingMidfielder", @@ -4366,7 +4310,6 @@ "full_name": "Caliste Henry-Hennebert", "date_of_birth": "2006-08-28", "nationality": "FR", - "football_nation": "EUN", "birth_country": "FR", "profile_image_url": null, "position": "Forward", @@ -4447,7 +4390,6 @@ "full_name": "Alan Cwalina", "date_of_birth": "2003-10-22", "nationality": "US", - "football_nation": "EUN", "birth_country": "US", "profile_image_url": null, "position": "DefensiveMidfielder", @@ -4528,7 +4470,6 @@ "full_name": "Alex Pastor Villarejo", "date_of_birth": "2003-06-13", "nationality": "ES", - "football_nation": "EUN", "birth_country": "ES", "profile_image_url": null, "position": "Defender", @@ -4609,7 +4550,6 @@ "full_name": "Javier Prades Batalla", "date_of_birth": "2000-03-13", "nationality": "ES", - "football_nation": "EUN", "birth_country": "ES", "profile_image_url": null, "position": "Midfielder", @@ -4690,7 +4630,6 @@ "full_name": "Joseph Joon Pyun", "date_of_birth": "2004-10-01", "nationality": "CA", - "football_nation": "EUN", "birth_country": "CA", "profile_image_url": null, "position": "AttackingMidfielder", @@ -4771,7 +4710,6 @@ "full_name": "David Martínez García", "date_of_birth": "2000-10-23", "nationality": "ES", - "football_nation": "EUN", "birth_country": "ES", "profile_image_url": null, "position": "Forward", @@ -4852,7 +4790,6 @@ "full_name": "Álvaro Fernández del Amo", "date_of_birth": "2003-07-15", "nationality": "ES", - "football_nation": "EUN", "birth_country": "ES", "profile_image_url": null, "position": "DefensiveMidfielder", @@ -4933,7 +4870,6 @@ "full_name": "Volodymyr Sorokin", "date_of_birth": "2000-12-15", "nationality": "UA", - "football_nation": "EUN", "birth_country": "UA", "profile_image_url": null, "position": "Defender", @@ -5014,7 +4950,6 @@ "full_name": "Enes Uçan", "date_of_birth": "2005-10-15", "nationality": "TR", - "football_nation": "EUN", "birth_country": "TR", "profile_image_url": null, "position": "Midfielder", @@ -5095,7 +5030,6 @@ "full_name": "Sung-won Yun", "date_of_birth": "2006-02-07", "nationality": "KR", - "football_nation": "EUN", "birth_country": "KR", "profile_image_url": null, "position": "AttackingMidfielder", @@ -5176,7 +5110,6 @@ "full_name": "Jae-hoon Lee", "date_of_birth": "2001-03-14", "nationality": "KR", - "football_nation": "EUN", "birth_country": "KR", "profile_image_url": null, "position": "Forward", @@ -5257,7 +5190,6 @@ "full_name": "Polat Çiçek", "date_of_birth": "2003-02-22", "nationality": "TR", - "football_nation": "EUN", "birth_country": "TR", "profile_image_url": null, "position": "DefensiveMidfielder", @@ -5338,7 +5270,6 @@ "full_name": "Yun-hwan Shin", "date_of_birth": "2005-04-28", "nationality": "KR", - "football_nation": "EUN", "birth_country": "KR", "profile_image_url": null, "position": "Defender", @@ -5419,7 +5350,6 @@ "full_name": "Mehdi Lahlou", "date_of_birth": "2002-10-01", "nationality": "FR", - "football_nation": "EUN", "birth_country": "FR", "profile_image_url": null, "position": "Midfielder", @@ -5500,7 +5430,6 @@ "full_name": "Ilias Bizriken", "date_of_birth": "2002-10-17", "nationality": "FR", - "football_nation": "EUN", "birth_country": "FR", "profile_image_url": null, "position": "AttackingMidfielder", @@ -5581,7 +5510,6 @@ "full_name": "Seok-hyeon Park", "date_of_birth": "2005-02-12", "nationality": "KR", - "football_nation": "EUN", "birth_country": "KR", "profile_image_url": null, "position": "Forward", @@ -5662,7 +5590,6 @@ "full_name": "Adrian Trybus", "date_of_birth": "2000-10-20", "nationality": "PL", - "football_nation": "EUN", "birth_country": "PL", "profile_image_url": null, "position": "DefensiveMidfielder", @@ -5743,7 +5670,6 @@ "full_name": "Martin Nordahl Hansen", "date_of_birth": "1998-11-09", "nationality": "DK", - "football_nation": "EUN", "birth_country": "DK", "profile_image_url": null, "position": "Defender", @@ -5824,7 +5750,6 @@ "full_name": "Duncan Marquet", "date_of_birth": "2000-09-25", "nationality": "FR", - "football_nation": "EUN", "birth_country": "FR", "profile_image_url": null, "position": "Midfielder", @@ -5905,7 +5830,6 @@ "full_name": "Adam Ilyasov", "date_of_birth": "1999-07-03", "nationality": "NO", - "football_nation": "EUN", "birth_country": "NO", "profile_image_url": null, "position": "AttackingMidfielder", @@ -5986,7 +5910,6 @@ "full_name": "Josip Čančar", "date_of_birth": "2003-11-03", "nationality": "HR", - "football_nation": "EUN", "birth_country": "HR", "profile_image_url": null, "position": "Forward", @@ -6067,7 +5990,6 @@ "full_name": "Mihael Mehle", "date_of_birth": "1998-11-02", "nationality": "SI", - "football_nation": "EUN", "birth_country": "SI", "profile_image_url": null, "position": "DefensiveMidfielder", @@ -6148,7 +6070,6 @@ "full_name": "Sebastian Wojtoń", "date_of_birth": "2005-09-16", "nationality": "PL", - "football_nation": "EUN", "birth_country": "PL", "profile_image_url": null, "position": "Defender", @@ -6229,7 +6150,6 @@ "full_name": "Théo Borile", "date_of_birth": "2001-07-05", "nationality": "FR", - "football_nation": "EUN", "birth_country": "FR", "profile_image_url": null, "position": "Midfielder", @@ -6310,7 +6230,6 @@ "full_name": "Tolga Ölmez", "date_of_birth": "2002-04-10", "nationality": "TR", - "football_nation": "EUN", "birth_country": "TR", "profile_image_url": null, "position": "AttackingMidfielder", @@ -6391,7 +6310,6 @@ "full_name": "Sang-hoon Yoon", "date_of_birth": "2001-04-09", "nationality": "KR", - "football_nation": "EUN", "birth_country": "KR", "profile_image_url": null, "position": "Forward", @@ -6472,7 +6390,6 @@ "full_name": "Gil Han", "date_of_birth": "2002-06-29", "nationality": "KR", - "football_nation": "EUN", "birth_country": "KR", "profile_image_url": null, "position": "DefensiveMidfielder", @@ -6553,7 +6470,6 @@ "full_name": "Kaan Okan", "date_of_birth": "2005-03-24", "nationality": "TR", - "football_nation": "EUN", "birth_country": "TR", "profile_image_url": null, "position": "Defender", @@ -6634,7 +6550,6 @@ "full_name": "Linas Nauncikas", "date_of_birth": "2003-12-10", "nationality": "LT", - "football_nation": "EUN", "birth_country": "LT", "profile_image_url": null, "position": "Midfielder", @@ -6715,7 +6630,6 @@ "full_name": "Marek Brázda", "date_of_birth": "2000-03-14", "nationality": "CZ", - "football_nation": "EUN", "birth_country": "CZ", "profile_image_url": null, "position": "AttackingMidfielder", @@ -6796,7 +6710,6 @@ "full_name": "Matyáš Orság", "date_of_birth": "2002-01-31", "nationality": "CZ", - "football_nation": "EUN", "birth_country": "CZ", "profile_image_url": null, "position": "Forward", @@ -6877,7 +6790,6 @@ "full_name": "Kadir Kemiksiz", "date_of_birth": "2000-11-24", "nationality": "TR", - "football_nation": "EUN", "birth_country": "TR", "profile_image_url": null, "position": "DefensiveMidfielder", @@ -6958,7 +6870,6 @@ "full_name": "Skylar Hew", "date_of_birth": "2002-01-01", "nationality": "US", - "football_nation": "NA", "birth_country": "US", "profile_image_url": null, "position": "DefensiveMidfielder", @@ -7039,7 +6950,6 @@ "full_name": "Jean Medzadourian", "date_of_birth": "1998-09-26", "nationality": "FR", - "football_nation": "EMEA", "birth_country": "FR", "profile_image_url": null, "position": "DefensiveMidfielder", @@ -7120,7 +7030,6 @@ "full_name": "Ivan Bilous", "date_of_birth": "2008-01-18", "nationality": "UA", - "football_nation": "UA", "birth_country": "UA", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/79/MKF_NightSlayer_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250726151518", "position": "Defender", @@ -7201,7 +7110,6 @@ "full_name": "Tiago Almeida", "date_of_birth": "2002-12-06", "nationality": "PT", - "football_nation": "PT", "birth_country": "PT", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/1/1a/MKF_Time_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250726151516", "position": "Midfielder", @@ -7282,7 +7190,6 @@ "full_name": "Bartłomiej Przewoźnik", "date_of_birth": "1999-11-26", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/6/6b/MKFX_Fresskowy_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124051", "position": "AttackingMidfielder", @@ -7363,7 +7270,6 @@ "full_name": "Zayan Taeau", "date_of_birth": "2006-09-09", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/5/51/MKF_13_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250726151515", "position": "Forward", @@ -7444,7 +7350,6 @@ "full_name": "Mohamed Rahli", "date_of_birth": "2005-10-11", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/cb/BDSA_Myrtus_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250529162538", "position": "DefensiveMidfielder", @@ -7525,7 +7430,6 @@ "full_name": "Antero Trindade Baldaia", "date_of_birth": "2003-09-20", "nationality": "PT", - "football_nation": "PT", "birth_country": "PT", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/fa/BDSA_Papiteero_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250529162541", "position": "Defender", @@ -7606,7 +7510,6 @@ "full_name": "Kacper Dagiel", "date_of_birth": "2005-10-23", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/4/43/TH_Daglas_2026_Split_2.png/revision/latest/scale-to-width-down/220?cb=20260426085145", "position": "Midfielder", @@ -7687,7 +7590,6 @@ "full_name": "Cengizhan Teker", "date_of_birth": "2005-06-05", "nationality": "TR", - "football_nation": "TR", "birth_country": "TR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/d/de/MISA_Mercy9_2024_Split_2.png/revision/latest/scale-to-width-down/220?cb=20240618160643", "position": "AttackingMidfielder", @@ -7768,7 +7670,6 @@ "full_name": "Shin Jae-yoon", "date_of_birth": "2003-05-16", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/6/63/HLE.C_Lure_2024_Split_2.png/revision/latest/scale-to-width-down/220?cb=20240618143648", "position": "Forward", @@ -7849,7 +7750,6 @@ "full_name": "Batu Kaygusuz", "date_of_birth": "2005-07-27", "nationality": "TR", - "football_nation": "TR", "birth_country": "TR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/8/8a/BGT_Batuuu_2024_Split_2.png/revision/latest/scale-to-width-down/220?cb=20240618155404", "position": "DefensiveMidfielder", @@ -7930,7 +7830,6 @@ "full_name": "Eric Lozano Gutierrez", "date_of_birth": "2006-07-21", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/3/31/XOL_Selenex_2024_Split_1.png/revision/latest/scale-to-width-down/220?cb=20240202212308", "position": "Defender", @@ -8011,7 +7910,6 @@ "full_name": "Luis Perez García", "date_of_birth": "2000-11-07", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/7f/UCAM_Koldo_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124112", "position": "Midfielder", @@ -8092,7 +7990,6 @@ "full_name": "Sergio Bouzende Rodrigues", "date_of_birth": "2003-07-30", "nationality": "PT", - "football_nation": "PT", "birth_country": "PT", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/c9/BAR_Macaquino_2025_Iberian_Cup.jpg/revision/latest/scale-to-width-down/220?cb=20260306155142", "position": "AttackingMidfielder", @@ -8173,7 +8070,6 @@ "full_name": "Sergio Vicente Gispert", "date_of_birth": "2000-12-20", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/3/33/BAR_Legolas_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250905145943", "position": "Forward", @@ -8254,7 +8150,6 @@ "full_name": "Víctor Guzmán Fernández", "date_of_birth": "2000-04-30", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/9/9c/BAR_Oscure_2024_Split_2.png/revision/latest/scale-to-width-down/220?cb=20240816123844", "position": "DefensiveMidfielder", @@ -8335,7 +8230,6 @@ "full_name": "Manuel García Azcúnaga", "date_of_birth": "2002-06-09", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/79/ESDH_ManoloGap_2022_Split_1.png/revision/latest/scale-to-width-down/220?cb=20220125234841", "position": "Defender", @@ -8416,7 +8310,6 @@ "full_name": "Antonio Espinosa Bejarano", "date_of_birth": "1999-04-12", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/74/GX_Th3Antonio_2025.png/revision/latest/scale-to-width-down/220?cb=20251024172601", "position": "Midfielder", @@ -8497,7 +8390,6 @@ "full_name": "Ismael Martínez Cortés", "date_of_birth": "1997-11-03", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/0/0a/VVV_Miniduke_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124117", "position": "AttackingMidfielder", @@ -8578,7 +8470,6 @@ "full_name": "Víctor Lirola Tortosa", "date_of_birth": "2001-04-25", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/3/30/TH_Flakked_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250810162235", "position": "Forward", @@ -8659,7 +8550,6 @@ "full_name": "Amadeu Jesus Dias de Carvalho", "date_of_birth": "1996-02-26", "nationality": "PT", - "football_nation": "PT", "birth_country": "PT", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/d/d6/ZTA_Attila_2024_Split_2.png/revision/latest/scale-to-width-down/220?cb=20240816130642", "position": "DefensiveMidfielder", @@ -8740,7 +8630,6 @@ "full_name": "Jarosław Marchewka", "date_of_birth": "2005-04-06", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/9/97/RBLS_Kozi_2024_Split_3.png/revision/latest/scale-to-width-down/220?cb=20241117111216", "position": "Defender", @@ -8821,7 +8710,6 @@ "full_name": "Dániel Subicz", "date_of_birth": "1999-05-04", "nationality": "HU", - "football_nation": "HU", "birth_country": "HU", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/8/89/UCAM_bluerzor_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250905150006", "position": "Midfielder", @@ -8902,7 +8790,6 @@ "full_name": "Tomasz Maciej Skwarczyński", "date_of_birth": "2002-04-11", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/5/57/UCAM_ESCIK_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124107", "position": "AttackingMidfielder", @@ -8983,7 +8870,6 @@ "full_name": "Mert Kılıç", "date_of_birth": "2003-11-14", "nationality": "TR", - "football_nation": "TR", "birth_country": "TR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/6/6b/UCAM_ANDARIEL_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124104", "position": "Forward", @@ -9064,7 +8950,6 @@ "full_name": "Besmir Jakupi", "date_of_birth": "1998-05-16", "nationality": "AL", - "football_nation": "AL", "birth_country": "AL", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/9/9c/UCAM_iLevi_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124110", "position": "DefensiveMidfielder", @@ -9145,7 +9030,6 @@ "full_name": "Raúl Campos Vico", "date_of_birth": "2001-08-07", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/d/d2/ZTA_Ethe_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124127", "position": "Defender", @@ -9226,7 +9110,6 @@ "full_name": "Alejandro Botella Santos", "date_of_birth": "2005-05-25", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Midfielder", @@ -9307,7 +9190,6 @@ "full_name": "Víctor Caro Rodríguez", "date_of_birth": "2004-05-01", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/73/AYM_Midnight_2023_Split_1.png/revision/latest/scale-to-width-down/220?cb=20230227203829", "position": "AttackingMidfielder", @@ -9388,7 +9270,6 @@ "full_name": "Marc Villalba de la Arada", "date_of_birth": "2004-09-11", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/c8/RBT_Marcv1_2024_Split_2.png/revision/latest/scale-to-width-down/220?cb=20240816130603", "position": "Forward", @@ -9469,7 +9350,6 @@ "full_name": "Unai San Juan Fajardo", "date_of_birth": "2005-10-02", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "/player-photos/107455908655055017.png", "position": "DefensiveMidfielder", @@ -9550,7 +9430,6 @@ "full_name": "Daniel Gómez Martínez", "date_of_birth": "2004-02-03", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Defender", @@ -9631,7 +9510,6 @@ "full_name": "Edison Rivera Menéndez", "date_of_birth": "2004-12-15", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Midfielder", @@ -9712,7 +9590,6 @@ "full_name": "Raúl Moreno Valero", "date_of_birth": "2006-12-15", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/9/9e/LUA_Hydra_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250905145951", "position": "AttackingMidfielder", @@ -9793,7 +9670,6 @@ "full_name": "Jorge Saiz Hoyos", "date_of_birth": "2004-07-08", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Forward", @@ -9874,7 +9750,6 @@ "full_name": "Tomáš Buštík", "date_of_birth": "2006-07-11", "nationality": "CZ", - "football_nation": "CZ", "birth_country": "CZ", "profile_image_url": "/player-photos/107455908655055017.png", "position": "DefensiveMidfielder", @@ -9955,7 +9830,6 @@ "full_name": "Jordi Franco Carreras", "date_of_birth": "2007-11-28", "nationality": "AD", - "football_nation": "AD", "birth_country": "AD", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Defender", @@ -10036,7 +9910,6 @@ "full_name": "Ivan Torn Cubero", "date_of_birth": "2004-02-23", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Midfielder", @@ -10117,7 +9990,6 @@ "full_name": "Pau Vintró Nogué", "date_of_birth": "2004-09-22", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/7b/BAR_Pauporter_2025_Split_1.jpg/revision/latest/scale-to-width-down/220?cb=20250309113408", "position": "AttackingMidfielder", @@ -10198,7 +10070,6 @@ "full_name": "Adrián Tejero Gomez", "date_of_birth": "2005-08-28", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Forward", @@ -10279,7 +10150,6 @@ "full_name": "Joel Rodríguez Pérez", "date_of_birth": "2006-04-19", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "/player-photos/107455908655055017.png", "position": "DefensiveMidfielder", @@ -10360,7 +10230,6 @@ "full_name": "Felix Hellström", "date_of_birth": "1999-07-01", "nationality": "SE", - "football_nation": "SE", "birth_country": "SE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/c0/SLY_Kryze_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250530151746", "position": "Defender", @@ -10441,7 +10310,6 @@ "full_name": "Lanzo Ciajolo", "date_of_birth": "2002-05-16", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/77/M8_Zicssi_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250530150843", "position": "Midfielder", @@ -10522,7 +10390,6 @@ "full_name": "Kang Dong-su", "date_of_birth": "2001-12-30", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/0/09/LOUD_Jool_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250726184942", "position": "AttackingMidfielder", @@ -10603,7 +10470,6 @@ "full_name": "Berat Tıknazoğlu", "date_of_birth": "2005-10-10", "nationality": "TR", - "football_nation": "TR", "birth_country": "TR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/d/dc/GXP_Aetinoth_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124021", "position": "Forward", @@ -10684,7 +10550,6 @@ "full_name": "Kim Jung-hun", "date_of_birth": "2002-07-15", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/8/83/KCB_Piero_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250530162215", "position": "DefensiveMidfielder", @@ -10765,7 +10630,6 @@ "full_name": "Carl Ulsted Carlsen", "date_of_birth": "2005-12-15", "nationality": "DK", - "football_nation": "DK", "birth_country": "DK", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/c5/TH_Carlsen_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250810162230", "position": "Defender", @@ -10846,7 +10710,6 @@ "full_name": "Francisco Mazo Sánchez", "date_of_birth": "2002-01-27", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/5/50/NAVI_Thayger_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250810162203", "position": "Midfielder", @@ -10927,7 +10790,6 @@ "full_name": "Šimon Řiháček", "date_of_birth": "2003-07-02", "nationality": "CZ", - "football_nation": "CZ", "birth_country": "CZ", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/d/d8/BKR_OMON_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250529163055", "position": "AttackingMidfielder", @@ -11008,7 +10870,6 @@ "full_name": "Franciszek Gryszkiewicz", "date_of_birth": "2005-04-18", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/ce/Z10_HARPOON_2024_Split_1.png/revision/latest/scale-to-width-down/220?cb=20240116100742", "position": "Forward", @@ -11089,7 +10950,6 @@ "full_name": "Théo Le Scornec", "date_of_birth": "2003-05-16", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/9/9a/GL_Zoelys_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250530150830", "position": "DefensiveMidfielder", @@ -11170,7 +11030,6 @@ "full_name": "Adam Maanane", "date_of_birth": "2001-12-30", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/4/47/NAVI_Adam_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250810162159", "position": "Defender", @@ -11251,7 +11110,6 @@ "full_name": "Isak Elgh", "date_of_birth": "2005-06-25", "nationality": "SE", - "football_nation": "SE", "birth_country": "SE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/79/RS_NattyNatt_2025_Split_2_2.png/revision/latest/scale-to-width-down/220?cb=20250529163650", "position": "Midfielder", @@ -11332,7 +11190,6 @@ "full_name": "Lucas Fayard", "date_of_birth": "1998-11-05", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/79/KC_SAKEN_2024_Split_1.png/revision/latest/scale-to-width-down/220?cb=20240112205145", "position": "AttackingMidfielder", @@ -11413,7 +11270,6 @@ "full_name": "Thomas Foucou", "date_of_birth": "2003-09-28", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/c2/KCB_3XA_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250530151643", "position": "Forward", @@ -11494,7 +11350,6 @@ "full_name": "Raphaël Crabbé", "date_of_birth": "2000-06-30", "nationality": "BE", - "football_nation": "BE", "birth_country": "BE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/8/8a/KC_Targamas_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250810162227", "position": "DefensiveMidfielder", @@ -11575,7 +11430,6 @@ "full_name": "Maximilian Rassi", "date_of_birth": "2003-02-27", "nationality": "AT", - "football_nation": "AT", "birth_country": "AT", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/fa/VITB_Vertigo_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250530144355", "position": "Defender", @@ -11656,7 +11510,6 @@ "full_name": "Marcel Bąk", "date_of_birth": "2005-01-20", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Midfielder", @@ -11737,7 +11590,6 @@ "full_name": "Paweł Szczepanik", "date_of_birth": "2000-02-15", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/6/6f/BAR_Czekolad_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250905145939", "position": "AttackingMidfielder", @@ -11818,7 +11670,6 @@ "full_name": "Markos Stamkopoulos", "date_of_birth": "2001-12-20", "nationality": "GR", - "football_nation": "GR", "birth_country": "GR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/a/a4/M8_Comp_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250530150856", "position": "Forward", @@ -11899,7 +11750,6 @@ "full_name": "Mertai Sari", "date_of_birth": "2002-08-22", "nationality": "GR", - "football_nation": "GR", "birth_country": "GR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/0/00/SLY_Mersa_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250530151741", "position": "DefensiveMidfielder", @@ -11980,7 +11830,6 @@ "full_name": "Muhanad Maitham Sharad", "date_of_birth": "2002-09-05", "nationality": "SE", - "football_nation": "SE", "birth_country": "SE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/fe/MKFX_Spooder_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124057", "position": "Defender", @@ -12061,7 +11910,6 @@ "full_name": "Stefan Nikolić", "date_of_birth": "2007-06-16", "nationality": "RS", - "football_nation": "RS", "birth_country": "RS", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/ce/DSY_Stefan_2024_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250827204410", "position": "Midfielder", @@ -12142,7 +11990,6 @@ "full_name": "Tautvydas Gegeckas", "date_of_birth": "2005-05-02", "nationality": "LT", - "football_nation": "LT", "birth_country": "LT", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/fa/BDSA_Toffe_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250529162546", "position": "AttackingMidfielder", @@ -12223,7 +12070,6 @@ "full_name": "Nikola Petrusev", "date_of_birth": "2004-05-14", "nationality": "MK", - "football_nation": "MK", "birth_country": "MK", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/6/6d/MHSC_Axelent_2024_Split_2.png/revision/latest/scale-to-width-down/220?cb=20240521135749", "position": "Forward", @@ -12304,7 +12150,6 @@ "full_name": "Tomislav Nanjara", "date_of_birth": "2003-06-20", "nationality": "HR", - "football_nation": "HR", "birth_country": "HR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/d/dc/MKF_Thomas_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250726151513", "position": "DefensiveMidfielder", @@ -12385,7 +12230,6 @@ "full_name": "Szymon Wójcicki", "date_of_birth": "2007-03-13", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Defender", @@ -12466,7 +12310,6 @@ "full_name": "Miroslav Gochev", "date_of_birth": "1999-08-12", "nationality": "EU", - "football_nation": "EU", "birth_country": "EU", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/0/09/ANO_SPOOKY_2023_SPLIT_1.png/revision/latest/scale-to-width-down/220?cb=20230414163049", "position": "Midfielder", @@ -12547,7 +12390,6 @@ "full_name": "Andrija Kovačević", "date_of_birth": "2002-11-13", "nationality": "ME", - "football_nation": "ME", "birth_country": "ME", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/76/SC_Nafkelah_2026_Split_1.png/revision/latest/scale-to-width-down/220?cb=20260207005634", "position": "AttackingMidfielder", @@ -12628,7 +12470,6 @@ "full_name": "Matthew Luke Smith", "date_of_birth": "1999-08-28", "nationality": "GB", - "football_nation": "FR", "birth_country": null, "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/4/46/GL_Deadly_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250530150827", "position": "Forward", @@ -12709,7 +12550,6 @@ "full_name": "Pierre Medjaldi", "date_of_birth": "2007-03-28", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/b/b3/GW_Steeelback_2024_Split_2.png/revision/latest/scale-to-width-down/220?cb=20240916153222", "position": "DefensiveMidfielder", @@ -12790,7 +12630,6 @@ "full_name": "Lucas Piochaud", "date_of_birth": "2002-09-13", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/6/6a/GXP_Badlulu_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124023", "position": "Defender", @@ -12871,7 +12710,6 @@ "full_name": "Osman Onur Korkmaz", "date_of_birth": "2006-03-14", "nationality": "TR", - "football_nation": "TR", "birth_country": "TR", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Midfielder", @@ -12952,7 +12790,6 @@ "full_name": "Oliver Ryppa", "date_of_birth": "2003-04-18", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/0/03/BIG_Dajor_2025_Split_1.png/revision/latest?cb=20250216162352", "position": "AttackingMidfielder", @@ -13033,7 +12870,6 @@ "full_name": "Thomas Thierry Haudecoeur", "date_of_birth": "2002-11-06", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Forward", @@ -13114,7 +12950,6 @@ "full_name": "Alexandru Kolozsvari", "date_of_birth": "2000-10-03", "nationality": "RO", - "football_nation": "RO", "birth_country": "RO", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/3/36/BAR_whiteinn_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250905145945", "position": "DefensiveMidfielder", @@ -13195,7 +13030,6 @@ "full_name": "Wao Dai", "date_of_birth": "2003-05-30", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/5/51/KC_Wao_2022_Split_1.png/revision/latest/scale-to-width-down/220?cb=20220113121319", "position": "Defender", @@ -13276,7 +13110,6 @@ "full_name": "Stéphane Dimier", "date_of_birth": "2002-01-21", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/f9/JL_Manaty_2022_Split_1.png/revision/latest/scale-to-width-down/220?cb=20220121153820", "position": "Midfielder", @@ -13357,7 +13190,6 @@ "full_name": "Yasin Dinçer", "date_of_birth": "1998-07-28", "nationality": "BE", - "football_nation": "BE", "birth_country": "BE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/e/eb/VIT_Nisqy_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250430140243", "position": "AttackingMidfielder", @@ -13438,7 +13270,6 @@ "full_name": "Jean Massol", "date_of_birth": "2000-07-27", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/f5/GL_Jezu_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250530150839", "position": "Forward", @@ -13519,7 +13350,6 @@ "full_name": "Arnaud Mesmin", "date_of_birth": "1995-09-13", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "/player-photos/107455908655055017.png", "position": "DefensiveMidfielder", @@ -13600,7 +13430,6 @@ "full_name": "Xu Hongtao Alessandro", "date_of_birth": "2006-02-10", "nationality": "EU", - "football_nation": "EU", "birth_country": "EU", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/e/eb/KCB_Tao_2026_Split_1.png/revision/latest/scale-to-width-down/220?cb=20260117100541", "position": "Defender", @@ -13681,7 +13510,6 @@ "full_name": "Johnny Hoang Dang", "date_of_birth": "2006-02-14", "nationality": "US", - "football_nation": "US", "birth_country": "US", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/3/39/KCB_Yukino_2026_Split_1.png/revision/latest/scale-to-width-down/220?cb=20260117100543", "position": "Midfielder", @@ -13762,7 +13590,6 @@ "full_name": "Kamil Bruno Mehdi Wahid Haudegond", "date_of_birth": "2005-07-20", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/73/KCB_Kamiloo_2026_Split_1.png/revision/latest/scale-to-width-down/220?cb=20260117100536", "position": "AttackingMidfielder", @@ -13843,7 +13670,6 @@ "full_name": "Costin Pestrițu", "date_of_birth": "2007-05-14", "nationality": "RO", - "football_nation": "RO", "birth_country": "RO", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/e/e6/KCB_Hazel_2026_Split_1.png/revision/latest/scale-to-width-down/220?cb=20260117100534", "position": "Forward", @@ -13924,7 +13750,6 @@ "full_name": "Olivier Pierre Julien Payet", "date_of_birth": "2000-02-24", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/8/80/KCB_Prime_2026_Split_1.png/revision/latest/scale-to-width-down/220?cb=20260117100538", "position": "DefensiveMidfielder", @@ -14005,7 +13830,6 @@ "full_name": "Mehdi Ahmed Bouchaffra", "date_of_birth": "2002-07-14", "nationality": "US", - "football_nation": "US", "birth_country": "US", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/2/26/JL_Potent_2024_Split_2.png/revision/latest/scale-to-width-down/220?cb=20240521132736", "position": "Defender", @@ -14086,7 +13910,6 @@ "full_name": "Dawid Drzyzga", "date_of_birth": "2008-03-21", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Midfielder", @@ -14167,7 +13990,6 @@ "full_name": "Mateusz Czajka", "date_of_birth": "2003-09-24", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/fd/VIT_Czajek_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250810162152", "position": "AttackingMidfielder", @@ -14248,7 +14070,6 @@ "full_name": "Darius Eduard Bistrian", "date_of_birth": "2005-01-14", "nationality": "RO", - "football_nation": "RO", "birth_country": "RO", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/e/eb/PAR_Yakkey_2023_Split_2.png/revision/latest/scale-to-width-down/220?cb=20230528083849", "position": "Forward", @@ -14329,7 +14150,6 @@ "full_name": "Waleed Mohammed Ismail", "date_of_birth": "2000-12-11", "nationality": "JO", - "football_nation": "JO", "birth_country": "JO", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/1/14/GK_Dekap_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250429125541", "position": "DefensiveMidfielder", @@ -14410,7 +14230,6 @@ "full_name": "Janik Bartels", "date_of_birth": "1998-12-10", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/d/d1/EINS_JNX_2026_Split_1.png/revision/latest?cb=20260124043347", "position": "Defender", @@ -14491,7 +14310,6 @@ "full_name": "Isa Arda Dagli", "date_of_birth": "2004-02-14", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/5/59/EINS_Xagog_2026_Split_1.png/revision/latest?cb=20260124043346", "position": "Midfielder", @@ -14572,7 +14390,6 @@ "full_name": "Tristan Schrage", "date_of_birth": "1997-10-27", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/f2/EINS_PowerOfEvil_2025_Split_1.png/revision/latest?cb=20250216163956", "position": "AttackingMidfielder", @@ -14653,7 +14470,6 @@ "full_name": "Tim Willers", "date_of_birth": "2000-10-13", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/5/52/EINS_Keduii_2026_Split_1.png/revision/latest?cb=20260124043344", "position": "Forward", @@ -14734,7 +14550,6 @@ "full_name": "Daniel Binderhofer", "date_of_birth": "2000-12-17", "nationality": "AT", - "football_nation": "AT", "birth_country": "AT", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/6/67/EINS_seaz_2026_Split_1.png/revision/latest?cb=20260124043343", "position": "DefensiveMidfielder", @@ -14815,7 +14630,6 @@ "full_name": "Francesco Cardia", "date_of_birth": "2006-10-02", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/b/bb/BIG_Shelfmade_2025_Split_1.png/revision/latest?cb=20250216162354", "position": "Defender", @@ -14896,7 +14710,6 @@ "full_name": "Mark van Woensel", "date_of_birth": "2002-06-28", "nationality": "NL", - "football_nation": "NL", "birth_country": "NL", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/1/10/SLY_Markoon_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250530151743", "position": "Midfielder", @@ -14977,7 +14790,6 @@ "full_name": "Victor Alexander Chea", "date_of_birth": "2006-01-19", "nationality": "US", - "football_nation": "US", "birth_country": "US", "profile_image_url": "/player-photos/107455908655055017.png", "position": "AttackingMidfielder", @@ -15058,7 +14870,6 @@ "full_name": "Khalil Sahraoui", "date_of_birth": "2002-11-05", "nationality": "DZ", - "football_nation": "DZ", "birth_country": "DZ", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/b/bf/HRTS_Rin_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124035", "position": "Forward", @@ -15139,7 +14950,6 @@ "full_name": "Timo Nils Bock", "date_of_birth": "2002-02-22", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/9/95/Tockimo_with_cat_ears.png/revision/latest/scale-to-width-down/220?cb=20250211184639", "position": "DefensiveMidfielder", @@ -15220,7 +15030,6 @@ "full_name": "Cameron Abbott", "date_of_birth": "2007-04-13", "nationality": "EU", - "football_nation": "EU", "birth_country": "EU", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/e/ed/CHF_zorenous_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250430135308", "position": "Defender", @@ -15301,7 +15110,6 @@ "full_name": "William Donatzky", "date_of_birth": "2005-07-09", "nationality": "DK", - "football_nation": "DK", "birth_country": "DK", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/2/2b/Woldjo_2024_Split_2.png/revision/latest/scale-to-width-down/220?cb=20240610211337", "position": "Midfielder", @@ -15382,7 +15190,6 @@ "full_name": "Jan Zítek", "date_of_birth": "2004-10-11", "nationality": "CZ", - "football_nation": "CZ", "birth_country": "CZ", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/2/22/HRTS_SAJATOR_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124036", "position": "AttackingMidfielder", @@ -15463,7 +15270,6 @@ "full_name": "David Hörmann", "date_of_birth": "2005-06-25", "nationality": "AT", - "football_nation": "AT", "birth_country": "AT", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Forward", @@ -15544,7 +15350,6 @@ "full_name": "Philipp Samuel Englert", "date_of_birth": "2001-01-20", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/3/32/EINS_Lilipp_2025_Split_1.png/revision/latest?cb=20250216163954", "position": "DefensiveMidfielder", @@ -15625,7 +15430,6 @@ "full_name": "Iwan Skorikov", "date_of_birth": "2002-01-08", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/76/KHK_Venour_2025_Split_1.png/revision/latest?cb=20250216163951", "position": "Defender", @@ -15706,7 +15510,6 @@ "full_name": "Denis Aljic", "date_of_birth": "2003-06-03", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/1/14/Densi.png/revision/latest/scale-to-width-down/220?cb=20240523175431", "position": "Midfielder", @@ -15787,7 +15590,6 @@ "full_name": "Felix Alfred Braun", "date_of_birth": "1999-09-10", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/9/97/SK_Abbedagge_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250810162243", "position": "AttackingMidfielder", @@ -15868,7 +15670,6 @@ "full_name": "William Nieminen", "date_of_birth": "2000-08-23", "nationality": "SE", - "football_nation": "SE", "birth_country": "SE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/9/90/MKFX_UNF0RGIVEN_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124059", "position": "Forward", @@ -15949,7 +15750,6 @@ "full_name": "Łukasz Grześkowiak", "date_of_birth": "2000-06-04", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/a/ad/RBT_Pyrka_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124103", "position": "DefensiveMidfielder", @@ -16030,7 +15830,6 @@ "full_name": "Laurentiu-Dodel Zidaru", "date_of_birth": "1994-12-13", "nationality": "RO", - "football_nation": "RO", "birth_country": "RO", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/0/03/ZTA_CPM_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20250726152141", "position": "Defender", @@ -16111,7 +15910,6 @@ "full_name": "Paul Hildebrandt", "date_of_birth": "2007-12-20", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/0/02/A41G_Pasu.png/revision/latest/scale-to-width-down/220?cb=20241128153051", "position": "Midfielder", @@ -16192,7 +15990,6 @@ "full_name": "Hannes Hollmann", "date_of_birth": "2004-12-17", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/5/5d/A41G_Fooneses_2025_Split_3.png/revision/latest/scale-to-width-down/220?cb=20251102140357", "position": "AttackingMidfielder", @@ -16273,7 +16070,6 @@ "full_name": "Nam Jürgen Nguyen", "date_of_birth": "2005-11-10", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/4/4e/DIA_Devn_2024_Split_2.png/revision/latest/scale-to-width-down/220?cb=20240608063353", "position": "Forward", @@ -16354,7 +16150,6 @@ "full_name": "Matyáš Rozvoral", "date_of_birth": "2005-07-11", "nationality": "CZ", - "football_nation": "CZ", "birth_country": "CZ", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/fd/ESB_Smarty_2024_Split_1.png/revision/latest/scale-to-width-down/220?cb=20240124161944", "position": "DefensiveMidfielder", @@ -16435,7 +16230,6 @@ "full_name": "Felix Rivedal Hylleseth", "date_of_birth": "2004-09-27", "nationality": "NO", - "football_nation": "NO", "birth_country": "NO", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/c6/AOMA_Smurfe_2026_Split_1.png/revision/latest?cb=20260124043336", "position": "Defender", @@ -16516,7 +16310,6 @@ "full_name": "Dominik Christensen", "date_of_birth": "2007-11-28", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/e/ec/AOMA_Dome_2026_Split_1.png/revision/latest?cb=20260124043337", "position": "Midfielder", @@ -16597,7 +16390,6 @@ "full_name": "Alexis Diebold", "date_of_birth": "2002-12-17", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/f1/AOMA_Artoria_2026_Split_1.png/revision/latest?cb=20260124043339", "position": "AttackingMidfielder", @@ -16678,7 +16470,6 @@ "full_name": "Corentin Leclercq", "date_of_birth": "2005-10-03", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/d/dc/AOMA_Xay_2026_Split_1.png/revision/latest?cb=20260124043334", "position": "Forward", @@ -16759,7 +16550,6 @@ "full_name": "Marcus Urban Christensen", "date_of_birth": "2000-07-03", "nationality": "DK", - "football_nation": "DK", "birth_country": "DK", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/c5/AOMA_Urban_2026_Split_1.png/revision/latest?cb=20260124043338", "position": "DefensiveMidfielder", @@ -16840,7 +16630,6 @@ "full_name": "Tamás Kiss", "date_of_birth": "1993-06-14", "nationality": "HU", - "football_nation": "HU", "birth_country": "HU", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/6/6d/EWI_Vizicsacsi_2026_Split_1.png/revision/latest/scale-to-width-down/220?cb=20260213130330", "position": "Defender", @@ -16921,7 +16710,6 @@ "full_name": "Adrian Kaymer", "date_of_birth": "2000-04-13", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/c3/EWI_Afroboi_2025_Split_1.png/revision/latest?cb=20250216164038", "position": "Midfielder", @@ -17002,7 +16790,6 @@ "full_name": "Leon Van", "date_of_birth": "2002-06-14", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/b/bd/EWI_Relative_2025_Split_1.png/revision/latest?cb=20250216164037", "position": "AttackingMidfielder", @@ -17083,7 +16870,6 @@ "full_name": "Noah Richter", "date_of_birth": "2004-06-29", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/fa/EWI_Noz2k_2025_Split_1.png/revision/latest?cb=20250216164036", "position": "Forward", @@ -17164,7 +16950,6 @@ "full_name": "Linus Köhler", "date_of_birth": "2003-08-20", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/a/ad/EWI_Wildenbruch_2026_Split_1.png/revision/latest/scale-to-width-down/220?cb=20260213130952", "position": "DefensiveMidfielder", @@ -17245,7 +17030,6 @@ "full_name": "Felix Schummel", "date_of_birth": "2003-10-29", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/0/0d/USE_Fornoreason_2025_Split_1.png/revision/latest?cb=20250216164019", "position": "Defender", @@ -17326,7 +17110,6 @@ "full_name": "Aslan Panglose", "date_of_birth": "2002-07-11", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/9/9b/USE_White_2025_Split_1.png/revision/latest?cb=20250216164017", "position": "Midfielder", @@ -17407,7 +17190,6 @@ "full_name": "Linus Grönlund", "date_of_birth": "2002-07-06", "nationality": "SE", - "football_nation": "SE", "birth_country": "SE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/3/32/ROSS_RoyalKanin_2025_Split_1.png/revision/latest?cb=20250216164023", "position": "AttackingMidfielder", @@ -17488,7 +17270,6 @@ "full_name": "Nikolaj Asbjorn Meilby", "date_of_birth": "2001-07-15", "nationality": "DK", - "football_nation": "DK", "birth_country": "DK", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/0/05/USE_DenVoksne_2025_Split_1.png/revision/latest?cb=20250216164015", "position": "Forward", @@ -17569,7 +17350,6 @@ "full_name": "Elton Richie Garcia Spetsig", "date_of_birth": "2000-11-02", "nationality": "SE", - "football_nation": "SE", "birth_country": "SE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/f5/GL_Twiizt_2025_Split_2.png/revision/latest/scale-to-width-down/220?cb=20250530150816", "position": "DefensiveMidfielder", @@ -17650,7 +17430,6 @@ "full_name": "Joel Miro Scharoll", "date_of_birth": "2001-10-22", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/76/BDS_Irrelevant_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250125185551", "position": "Defender", @@ -17731,7 +17510,6 @@ "full_name": "Seyit Cüce", "date_of_birth": "2007-06-10", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/c7/EZY_Habuubu_2021.png/revision/latest/scale-to-width-down/220?cb=20210620182553", "position": "Midfielder", @@ -17812,7 +17590,6 @@ "full_name": "Steven Chen", "date_of_birth": "2001-05-15", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/1/1a/SK_RKR_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250125185606", "position": "AttackingMidfielder", @@ -17893,7 +17670,6 @@ "full_name": "Patrik Jírů", "date_of_birth": "2000-04-07", "nationality": "CZ", - "football_nation": "CZ", "birth_country": "CZ", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/5/5d/RGE_Patrik_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250125185608", "position": "Forward", @@ -17974,7 +17750,6 @@ "full_name": "Norman Kaiser", "date_of_birth": "1998-11-19", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/7a/HRTS_Kaiser_2025_Split_1.png/revision/latest/scale-to-width-down/220?cb=20250121124033", "position": "DefensiveMidfielder", @@ -18055,7 +17830,6 @@ "full_name": "Nikolas Nowak", "date_of_birth": "2005-06-06", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/2/2f/SGE_Mietek_2026_Winter.png/revision/latest/scale-to-width-down/220?cb=20260413004823", "position": "Defender", @@ -18136,7 +17910,6 @@ "full_name": "Daniel Golzmann", "date_of_birth": "2001-11-17", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/b/b8/AFW_D4nKa_2025_Split_1.png/revision/latest?cb=20250216164010", "position": "Midfielder", @@ -18217,7 +17990,6 @@ "full_name": "Chres Laursen", "date_of_birth": "1998-09-17", "nationality": "DK", - "football_nation": "DK", "birth_country": "DK", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/f9/BIG_Sencux_PRM_1st_Division_2024_Summer.png/revision/latest/scale-to-width-down/220?cb=20240523181729", "position": "AttackingMidfielder", @@ -18298,7 +18070,6 @@ "full_name": "Nick Celombitko", "date_of_birth": "2001-09-27", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/9/94/SGE_MEDIADAY_NOTIKO.jpg/revision/latest/scale-to-width-down/220?cb=20260208112830", "position": "Forward", @@ -18379,7 +18150,6 @@ "full_name": "Berk Badur", "date_of_birth": "1998-09-09", "nationality": "TR", - "football_nation": "TR", "birth_country": "TR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/cd/MISA_Farfetch_2024_Split_2.png/revision/latest/scale-to-width-down/220?cb=20240618160637", "position": "DefensiveMidfielder", @@ -18460,7 +18230,6 @@ "full_name": "Gabriel Rau", "date_of_birth": "1999-04-28", "nationality": "BE", - "football_nation": "BE", "birth_country": "BE", "profile_image_url": "https://dpm.lol/esport/players/bwipo.webp", "position": "Defender", @@ -18543,7 +18312,6 @@ "full_name": "Andrei Pascu", "date_of_birth": "1995-10-04", "nationality": "RO", - "football_nation": "RO", "birth_country": "RO", "profile_image_url": "https://dpm.lol/esport/players/odoamne.webp", "position": "Defender", @@ -18624,7 +18392,6 @@ "full_name": "Barney Morris", "date_of_birth": "1999-10-15", "nationality": "GB", - "football_nation": "GB", "birth_country": null, "profile_image_url": "https://dpm.lol/esport/players/alphari.webp", "position": "Defender", @@ -18705,7 +18472,6 @@ "full_name": "Kim Geun-seong", "date_of_birth": "2000-10-11", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/malrang.webp", "position": "Midfielder", @@ -18786,7 +18552,6 @@ "full_name": "Marcin Jankowski", "date_of_birth": "1994-08-23", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "https://dpm.lol/esport/players/jankos.webp", "position": "Midfielder", @@ -18867,7 +18632,6 @@ "full_name": "Søren Bjerg", "date_of_birth": "1996-02-21", "nationality": "DK", - "football_nation": "DK", "birth_country": "DK", "profile_image_url": "https://dpm.lol/esport/players/bjergsen.webp", "position": "AttackingMidfielder", @@ -18948,7 +18712,6 @@ "full_name": "Luka Perković", "date_of_birth": "1998-06-29", "nationality": "HR", - "football_nation": "HR", "birth_country": "HR", "profile_image_url": "https://dpm.lol/esport/players/perkz.webp", "position": "AttackingMidfielder", @@ -19031,7 +18794,6 @@ "full_name": "Martin Larsson", "date_of_birth": "1996-05-06", "nationality": "SE", - "football_nation": "SE", "birth_country": "SE", "profile_image_url": "https://dpm.lol/esport/players/rekkles.webp", "position": "Forward", @@ -19114,7 +18876,6 @@ "full_name": "Yiliang Peng", "date_of_birth": "1993-07-19", "nationality": "US", - "football_nation": "US", "birth_country": "US", "profile_image_url": "https://dpm.lol/esport/players/doublelift.webp", "position": "Forward", @@ -19195,7 +18956,6 @@ "full_name": "Zdravets Galabov", "date_of_birth": "1995-07-15", "nationality": "BG", - "football_nation": "BG", "birth_country": "BG", "profile_image_url": "https://dpm.lol/esport/players/hylissang.webp", "position": "DefensiveMidfielder", @@ -19276,7 +19036,6 @@ "full_name": "Zeng Qi", "date_of_birth": "1998-04-18", "nationality": "CN", - "football_nation": "CN", "birth_country": "CN", "profile_image_url": "https://dpm.lol/esport/players/yagao.webp", "position": "AttackingMidfielder", @@ -19361,7 +19120,6 @@ "full_name": "Bae Seong-ung", "date_of_birth": "1994-03-03", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/bengi.webp", "position": "Midfielder", @@ -19444,7 +19202,6 @@ "full_name": "Louis Maurin", "date_of_birth": "2001-11-27", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/a/ab/UOL_Frappii_2021_Split_1.png/revision/latest?cb=20210501113929", "position": "DefensiveMidfielder", @@ -19525,7 +19282,6 @@ "full_name": "Geon-hee Cho", "date_of_birth": "2001-11-30", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/beryl.webp", "position": "DefensiveMidfielder", @@ -19623,7 +19379,6 @@ "full_name": "Yoon-seong Hong", "date_of_birth": "2006-03-25", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/bonnie.webp", "position": "Midfielder", @@ -19707,7 +19462,6 @@ "full_name": "Dong-geun Kim", "date_of_birth": "1998-11-04", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/clid.webp", "position": "Midfielder", @@ -19792,7 +19546,6 @@ "full_name": "Hyuk-kyu Kim", "date_of_birth": "1996-03-09", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/deft.webp", "position": "Forward", @@ -19877,7 +19630,6 @@ "full_name": "Won-seok Park", "date_of_birth": "2002-01-27", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/a/aa/NS.C_DnDn_2021_Split_1.png/revision/latest/scale-to-width-down/640?cb=20210129170411", "position": "Defender", @@ -19960,7 +19712,6 @@ "full_name": "Tae-sang Kim", "date_of_birth": "1996-05-28", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/doinb.webp", "position": "AttackingMidfielder", @@ -20056,7 +19807,6 @@ "full_name": "Jin Douglas", "date_of_birth": "2003-07-12", "nationality": "US", - "football_nation": "US", "birth_country": "US", "profile_image_url": "https://dpm.lol/esport/players/envyy.webp", "position": "Midfielder", @@ -20137,7 +19887,6 @@ "full_name": "Dong-eun Yu", "date_of_birth": "2001-09-05", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/fate.webp", "position": "AttackingMidfielder", @@ -20218,7 +19967,6 @@ "full_name": "Seung-hoon Cho", "date_of_birth": "2006-04-15", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/grizzly.webp", "position": "Defender", @@ -20299,7 +20047,6 @@ "full_name": "Kwang-seok Jang", "date_of_birth": "2003-08-14", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/pullbae.webp", "position": "Defender", @@ -20380,7 +20127,6 @@ "full_name": "Dong-geon Kim", "date_of_birth": "1999-06-18", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/rascal.webp", "position": "Defender", @@ -20461,7 +20207,6 @@ "full_name": "Yu-seong Park", "date_of_birth": "2005-11-22", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/toland.webp", "position": "Midfielder", @@ -20542,7 +20287,6 @@ "full_name": "Rayan Mahiddine", "date_of_birth": "2003-10-16", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "/player-photos/107455908655055017.png", "position": "Midfielder", @@ -20623,7 +20367,6 @@ "full_name": "Serkan Atilgan", "date_of_birth": "1999-06-17", "nationality": "TR", - "football_nation": "TR", "birth_country": "TR", "profile_image_url": "https://dpm.lol/esport/players/xkenzuke.webp", "position": "AttackingMidfielder", @@ -20704,7 +20447,6 @@ "full_name": "Ilhan Berkant", "date_of_birth": "2003-06-04", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/e/e3/TPAA_Avra_2022_Split_1.png/revision/latest/scale-to-width-down/640?cb=20220120181705", "position": "Forward", @@ -20785,7 +20527,6 @@ "full_name": "Aziz Görkem Altinpinar", "date_of_birth": "2003-01-13", "nationality": "Turkey", - "football_nation": "Turkey", "birth_country": "Turkey", "profile_image_url": "https://dpm.lol/esport/players/mxe.webp", "position": "DefensiveMidfielder", @@ -20866,7 +20607,6 @@ "full_name": "Tautvydas Gegeckas", "date_of_birth": "2005-05-02", "nationality": "LT", - "football_nation": "LT", "birth_country": "LT", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/2/25/MCon_Toffe_2024_Split_2.png/revision/latest/scale-to-width-down/473?cb=20240604114053", "position": "AttackingMidfielder", @@ -20947,7 +20687,6 @@ "full_name": "Albertini Leny", "date_of_birth": "2002-12-09", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://dpm.lol/esport/players/leny.webp", "position": "Defender", @@ -21028,7 +20767,6 @@ "full_name": "Arnaud Mesmin", "date_of_birth": "1995-09-13", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "/player-photos/107455908655055017.png", "position": "DefensiveMidfielder", @@ -21109,7 +20847,6 @@ "full_name": "Pierre Medjaldi", "date_of_birth": "1996-08-16", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "/player-photos/107455908655055017.png", "position": "DefensiveMidfielder", @@ -21190,7 +20927,6 @@ "full_name": "Óscar Muñoz Jiménez", "date_of_birth": "2003-6-11", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://dpm.lol/esport/players/oscarinin.webp", "position": "Defender", @@ -21273,7 +21009,6 @@ "full_name": "Woo-tae Park", "date_of_birth": "1998-12-08", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/summit.webp", "position": "Defender", @@ -21356,7 +21091,6 @@ "full_name": "Zhou Yangbo", "date_of_birth": "2002-04-22", "nationality": "CN", - "football_nation": "CN", "birth_country": "CN", "profile_image_url": "https://dpm.lol/esport/players/bo.webp", "position": "Midfielder", @@ -21437,7 +21171,6 @@ "full_name": "Emil Larsson", "date_of_birth": "2000-03-30", "nationality": "SE", - "football_nation": "SE", "birth_country": "SE", "profile_image_url": "https://dpm.lol/esport/players/larssen.webp", "position": "AttackingMidfielder", @@ -21518,7 +21251,6 @@ "full_name": "Vincent Berrié", "date_of_birth": "2002-07-26", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://dpm.lol/esport/players/vetheo.webp", "position": "AttackingMidfielder", @@ -21599,7 +21331,6 @@ "full_name": "Tim Lipovšek", "date_of_birth": "1999-07-26", "nationality": "SI", - "football_nation": "SI", "birth_country": "SI", "profile_image_url": "https://dpm.lol/esport/players/nemesis.webp", "position": "AttackingMidfielder", @@ -21684,7 +21415,6 @@ "full_name": "William Nieminen", "date_of_birth": "2000-08-23", "nationality": "SE", - "football_nation": "SE", "birth_country": "SE", "profile_image_url": "https://dpm.lol/esport/players/unforgiven.webp", "position": "Forward", @@ -21767,7 +21497,6 @@ "full_name": "Juš Marušič", "date_of_birth": "1998-04-17", "nationality": "SI", - "football_nation": "SI", "birth_country": "SI", "profile_image_url": "https://dpm.lol/esport/players/crownie.webp", "position": "Forward", @@ -21848,7 +21577,6 @@ "full_name": "Guang-Yu Wang", "date_of_birth": "2001-02-21", "nationality": "CN", - "football_nation": "CN", "birth_country": "CN", "profile_image_url": "https://dpm.lol/esport/players/light.webp", "position": "Forward", @@ -21931,7 +21659,6 @@ "full_name": "Jeong-hoon Lee", "date_of_birth": "2000-2-22", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/execute.webp", "position": "DefensiveMidfielder", @@ -22012,7 +21739,6 @@ "full_name": "Simon Hofverberg", "date_of_birth": "1999-10-03", "nationality": "SE", - "football_nation": "SE", "birth_country": "SE", "profile_image_url": "https://dpm.lol/esport/players/thebausffs.webp", "position": "Defender", @@ -22093,7 +21819,6 @@ "full_name": "Tyler Steinkamp", "date_of_birth": "1995-03-07", "nationality": "US", - "football_nation": "US", "birth_country": "US", "profile_image_url": "https://dpm.lol/esport/players/tyler1.webp", "position": "Forward", @@ -22174,7 +21899,6 @@ "full_name": "Anselmo Sanz", "date_of_birth": "1994-05-03", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/e/e4/G2V_ElmiilloR_2017.png/revision/latest?cb=20200205122931", "position": "Midfielder", @@ -22255,7 +21979,6 @@ "full_name": "Kasper Kobberup", "date_of_birth": "1996-09-21", "nationality": "DK", - "football_nation": "DK", "birth_country": "DK", "profile_image_url": "https://dpm.lol/esport/players/kobbe.webp", "position": "Forward", @@ -22336,7 +22059,6 @@ "full_name": "Oskar Boderek", "date_of_birth": "1999-12-15", "nationality": "PL", - "football_nation": "PL", "birth_country": "PL", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/f9/Bask_SelfMadeMan.jpeg/revision/latest?cb=20170728185318", "position": "Midfielder", @@ -22417,7 +22139,6 @@ "full_name": "Jorge Casanovas Moreno-Torres", "date_of_birth": "1997-08-14", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/1/14/Dragons_Werlyb.jpg/revision/latest?cb=20170801201133", "position": "Defender", @@ -22498,7 +22219,6 @@ "full_name": "Mads Brock-Pedersen", "date_of_birth": "1997-08-12", "nationality": "DK", - "football_nation": "DK", "birth_country": "DK", "profile_image_url": "https://dpm.lol/esport/players/broxah.webp", "position": "Midfielder", @@ -22579,7 +22299,6 @@ "full_name": "Konstantinos-Napoleon Tzortziou", "date_of_birth": "1992-07-23", "nationality": "GR", - "football_nation": "GR", "birth_country": "GR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/3/38/CW_FORG1VEN.jpg/revision/latest?cb=20170801175148", "position": "Forward", @@ -22660,7 +22379,6 @@ "full_name": "Doğukan Balcı", "date_of_birth": "2004-08-12", "nationality": "Turkey", - "football_nation": "Turkey", "birth_country": "Turkey", "profile_image_url": "https://dpm.lol/esport/players/113.webp", "position": "Midfielder", @@ -22741,7 +22459,6 @@ "full_name": "Ye-bit Seo", "date_of_birth": "2004-03-20", "nationality": "SE", - "football_nation": "SE", "birth_country": "SE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/6/66/Z10_SlowQ_2023_Split_1.png/revision/latest/scale-to-width-down/639?cb=20230216192154", "position": "AttackingMidfielder", @@ -22824,7 +22541,6 @@ "full_name": "Jeong-hyeon Byeon", "date_of_birth": "2003-09-09", "nationality": "KR", - "football_nation": "KR", "birth_country": "KR", "profile_image_url": "https://dpm.lol/esport/players/hype.webp", "position": "Forward", @@ -22909,7 +22625,6 @@ "full_name": "Paul Lardin", "date_of_birth": "2001-7-13", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://dpm.lol/esport/players/stend.webp", "position": "DefensiveMidfielder", @@ -22992,7 +22707,6 @@ "full_name": "Alexendre El Hodebey", "date_of_birth": "2002-06-23", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/fb/Hiro.jpeg/revision/latest/scale-to-width-down/640?cb=20180925054152", "position": "Defender", @@ -23073,7 +22787,6 @@ "full_name": "Jakob Gullvåg Kepple", "date_of_birth": "2000-12-05", "nationality": "NO", - "football_nation": "NO", "birth_country": "NO", "profile_image_url": "https://dpm.lol/esport/players/jackspektra.webp", "position": "Forward", @@ -23154,7 +22867,6 @@ "full_name": "Samuel Fernández Fort", "date_of_birth": "1995-06-11", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/f/f0/Giants_Samux.jpg/revision/latest?cb=20170801231800", "position": "Forward", @@ -23235,7 +22947,6 @@ "full_name": "Adam Grepl", "date_of_birth": "2001-12-30", "nationality": "CZ", - "football_nation": "CZ", "birth_country": "CZ", "profile_image_url": "https://dpm.lol/esport/players/random.webp", "position": "AttackingMidfielder", @@ -23316,7 +23027,6 @@ "full_name": "Maik Jonker", "date_of_birth": "1999-07-22", "nationality": "NL", - "football_nation": "NL", "birth_country": "NL", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/2/2f/Hades_2018.jpg/revision/latest?cb=20190211212032", "position": "Midfielder", @@ -23397,7 +23107,6 @@ "full_name": "Rosendo Fuentes", "date_of_birth": "1996-07-12", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://dpm.lol/esport/players/send0o.webp", "position": "Defender", @@ -23478,7 +23187,6 @@ "full_name": "Pedro José Serrano", "date_of_birth": "2002-9-23", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://dpm.lol/esport/players/marky.webp", "position": "Defender", @@ -23559,7 +23267,6 @@ "full_name": "João Miguel Novais Bigas", "date_of_birth": "2000-5-11", "nationality": "PT", - "football_nation": "PT", "birth_country": "PT", "profile_image_url": "https://dpm.lol/esport/players/baca.webp", "position": "Defender", @@ -23640,7 +23347,6 @@ "full_name": "Rúben Barbosa", "date_of_birth": "1996-8-28", "nationality": "PT", - "football_nation": "PT", "birth_country": "PT", "profile_image_url": "https://dpm.lol/esport/players/rhuckz.webp", "position": "DefensiveMidfielder", @@ -23721,7 +23427,6 @@ "full_name": "Raymond Tsang", "date_of_birth": "1993-12-08", "nationality": "GB", - "football_nation": "GB", "birth_country": null, "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/a/ac/H2k-kasing-2015spring.jpg/revision/latest?cb=20170801234730", "position": "DefensiveMidfielder", @@ -23802,7 +23507,6 @@ "full_name": "Adrián Moldes López", "date_of_birth": "1993-05-30", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/d/d7/Homi-summa-1.jpg/revision/latest?cb=20170802002458", "position": "DefensiveMidfielder", @@ -23883,7 +23587,6 @@ "full_name": "David Carbó Ferrer", "date_of_birth": "1997-03-10", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/0/08/Skain_g2v.jpeg/revision/latest?cb=20170802132525", "position": "DefensiveMidfielder", @@ -23964,7 +23667,6 @@ "full_name": "Mina", "date_of_birth": "2000-02-18", "nationality": "DE", - "football_nation": "DE", "birth_country": "DE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/7/7c/G2H_Zeniv_2025.png/revision/latest/scale-to-width-down/220?cb=20250216161450", "position": "Defender", @@ -24045,7 +23747,6 @@ "full_name": "Marta Mesas Garrido", "date_of_birth": "2001-10-26", "nationality": "ES", - "football_nation": "ES", "birth_country": "ES", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/5/57/G2H_Shiina_2025.png/revision/latest/scale-to-width-down/220?cb=20250216161452", "position": "Midfielder", @@ -24126,7 +23827,6 @@ "full_name": "Rym Salloum", "date_of_birth": "2002-01-01", "nationality": "VE", - "football_nation": "VE", "birth_country": "VE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/1/18/G2H_rym_2025.png/revision/latest/scale-to-width-down/220?cb=20250216161453", "position": "AttackingMidfielder", @@ -24207,7 +23907,6 @@ "full_name": "Maya Henckel", "date_of_birth": "2002-05-11", "nationality": "SE", - "football_nation": "SE", "birth_country": "SE", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/b/b8/G2H_Caltys_2025.png/revision/latest/scale-to-width-down/220?cb=20250216161457", "position": "Forward", @@ -24290,7 +23989,6 @@ "full_name": "Ève Monvoisin", "date_of_birth": "2002-01-01", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/cc/G2H_Colomblbl_2025.png/revision/latest/scale-to-width-down/220?cb=20250216161456", "position": "DefensiveMidfielder", @@ -24371,7 +24069,6 @@ "full_name": "Ivy Starr", "date_of_birth": "2002-06-26", "nationality": "US", - "football_nation": "US", "birth_country": "US", "profile_image_url": "https://i.imgur.com/6pwxTZx.png", "position": "Defender", @@ -24452,7 +24149,6 @@ "full_name": "Chara Giannopoulou", "date_of_birth": "2002-01-01", "nationality": "GR", - "football_nation": "GR", "birth_country": "GR", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/d/da/Delicate_2025.jpg/revision/latest/scale-to-width-down/220?cb=20251201143054", "position": "Midfielder", @@ -24533,7 +24229,6 @@ "full_name": "Sasha Barrault", "date_of_birth": "2002-05-27", "nationality": "FR", - "football_nation": "FR", "birth_country": "FR", "profile_image_url": "https://liquipedia.net/commons/images/thumb/7/73/ET_Sashy_LGC_Rising_2025.jpg/600px-ET_Sashy_LGC_Rising_2025.jpg", "position": "AttackingMidfielder", @@ -24614,7 +24309,6 @@ "full_name": "Nova Jenčáková", "date_of_birth": "1998-11-21", "nationality": "SK", - "football_nation": "SK", "birth_country": "SK", "profile_image_url": "https://static.wikia.nocookie.net/lolesports_gamepedia_en/images/c/c2/SNC_Sea_2025.jpg/revision/latest/scale-to-width-down/220?cb=20250830143850", "position": "Forward", @@ -24697,7 +24391,6 @@ "last_name": "Staff 1", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "AssistantManager", @@ -24718,7 +24411,6 @@ "last_name": "Staff 2", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Coach", @@ -24739,7 +24431,6 @@ "last_name": "Staff 3", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Scout", @@ -24760,7 +24451,6 @@ "last_name": "Staff 4", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Physio", @@ -24781,7 +24471,6 @@ "last_name": "Staff 1", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "AssistantManager", @@ -24802,7 +24491,6 @@ "last_name": "Staff 2", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Coach", @@ -24823,7 +24511,6 @@ "last_name": "Staff 3", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Scout", @@ -24844,7 +24531,6 @@ "last_name": "Staff 4", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Physio", @@ -24865,7 +24551,6 @@ "last_name": "Staff 1", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "AssistantManager", @@ -24886,7 +24571,6 @@ "last_name": "Staff 2", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Coach", @@ -24907,7 +24591,6 @@ "last_name": "Staff 3", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Scout", @@ -24928,7 +24611,6 @@ "last_name": "Staff 4", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Physio", @@ -24949,7 +24631,6 @@ "last_name": "Staff 1", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "AssistantManager", @@ -24970,7 +24651,6 @@ "last_name": "Staff 2", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Coach", @@ -24991,7 +24671,6 @@ "last_name": "Staff 3", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Scout", @@ -25012,7 +24691,6 @@ "last_name": "Staff 4", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Physio", @@ -25033,7 +24711,6 @@ "last_name": "Staff 1", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "AssistantManager", @@ -25054,7 +24731,6 @@ "last_name": "Staff 2", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Coach", @@ -25075,7 +24751,6 @@ "last_name": "Staff 3", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Scout", @@ -25096,7 +24771,6 @@ "last_name": "Staff 4", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Physio", @@ -25117,7 +24791,6 @@ "last_name": "Staff 1", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "AssistantManager", @@ -25138,7 +24811,6 @@ "last_name": "Staff 2", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Coach", @@ -25159,7 +24831,6 @@ "last_name": "Staff 3", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Scout", @@ -25180,7 +24851,6 @@ "last_name": "Staff 4", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Physio", @@ -25201,7 +24871,6 @@ "last_name": "Staff 1", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "AssistantManager", @@ -25222,7 +24891,6 @@ "last_name": "Staff 2", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Coach", @@ -25243,7 +24911,6 @@ "last_name": "Staff 3", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Scout", @@ -25264,7 +24931,6 @@ "last_name": "Staff 4", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Physio", @@ -25285,7 +24951,6 @@ "last_name": "Staff 1", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "AssistantManager", @@ -25306,7 +24971,6 @@ "last_name": "Staff 2", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Coach", @@ -25327,7 +24991,6 @@ "last_name": "Staff 3", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Scout", @@ -25348,7 +25011,6 @@ "last_name": "Staff 4", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Physio", @@ -25369,7 +25031,6 @@ "last_name": "Staff 1", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "AssistantManager", @@ -25390,7 +25051,6 @@ "last_name": "Staff 2", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Coach", @@ -25411,7 +25071,6 @@ "last_name": "Staff 3", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Scout", @@ -25432,7 +25091,6 @@ "last_name": "Staff 4", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Physio", @@ -25453,7 +25111,6 @@ "last_name": "Staff 1", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "AssistantManager", @@ -25474,7 +25131,6 @@ "last_name": "Staff 2", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Coach", @@ -25495,7 +25151,6 @@ "last_name": "Staff 3", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Scout", @@ -25516,7 +25171,6 @@ "last_name": "Staff 4", "date_of_birth": "1988-01-01", "nationality": "EUN", - "football_nation": "EUN", "birth_country": "EUN", "profile_image_url": null, "role": "Physio", diff --git a/src/components/ScoutPlayerCard.tsx b/src/components/ScoutPlayerCard.tsx index 755ad4d62..bfc1409c6 100644 --- a/src/components/ScoutPlayerCard.tsx +++ b/src/components/ScoutPlayerCard.tsx @@ -33,9 +33,9 @@ export default function ScoutPlayerCard({ report, onPlayerClick }: ScoutPlayerCa const attrs: AttrRow[] = [ { label: t("playerProfile.lolStats.mechanics"), value: report.mechanics ?? report.pace ?? null }, - { label: t("playerProfile.lolStats.laning"), value: report.laning ?? null }, + { label: t("playerProfile.lolStats.laning"), value: report.laning ?? report.shooting ?? null }, { label: t("playerProfile.lolStats.teamfighting"), value: report.teamfighting ?? report.passing ?? null }, - { label: t("playerProfile.lolStats.macro"), value: report.macro ?? report.mechanics ?? null }, + { label: t("playerProfile.lolStats.macro"), value: report.macro ?? report.dribbling ?? null }, { label: t("playerProfile.lolStats.championPool"), value: report.champion_pool ?? report.defending ?? null }, { label: t("playerProfile.lolStats.discipline"), value: report.discipline ?? report.physical ?? null }, ]; diff --git a/src/components/playerProfile/PlayerProfileHeroCard.test.tsx b/src/components/playerProfile/PlayerProfileHeroCard.test.tsx index b7cde29ac..896d77b3d 100644 --- a/src/components/playerProfile/PlayerProfileHeroCard.test.tsx +++ b/src/components/playerProfile/PlayerProfileHeroCard.test.tsx @@ -177,7 +177,7 @@ describe("PlayerProfileHeroCard potential UX", () => { />, ); - expect(screen.getByText("91")).toBeInTheDocument(); + expect(screen.getAllByText("91").length).toBeGreaterThan(0); expect(screen.queryByRole("button", { name: "Investigar potencial" })).not.toBeInTheDocument(); }); }); diff --git a/src/components/playerProfile/PlayerProfileHeroCard.tsx b/src/components/playerProfile/PlayerProfileHeroCard.tsx index fa41ed71c..381095a06 100644 --- a/src/components/playerProfile/PlayerProfileHeroCard.tsx +++ b/src/components/playerProfile/PlayerProfileHeroCard.tsx @@ -85,9 +85,6 @@ export default function PlayerProfileHeroCard({ !potentialResearchSubmitting; const potentialValueLabel = potentialRevealed !== null ? String(potentialRevealed) : "??"; - void potentialProgress; - void canStartPotentialResearch; - void potentialValueLabel; useEffect(() => { let cancelled = false; @@ -289,6 +286,33 @@ export default function PlayerProfileHeroCard({ )}

+ {isOwnClub ? ( +
+ + {t("common.potential", { defaultValue: "Potencial" })} + + {potentialValueLabel} + {potentialActive ? ( + + {t("playerProfile.potentialResearchProgress", { + defaultValue: `Investigando… ${potentialProgress}/7`, + current: potentialProgress, + total: 7, + })} + + ) : canStartPotentialResearch ? ( + + ) : null} +
+ ) : null} +
({ if (key === "youthAcademy.traits") return "Rasgos"; if (key === "youthAcademy.condition") return "Energia"; if (key === "youthAcademy.playersUnder21") return `${params?.count ?? 0} jugadores academia`; + if (key === "youthAcademy.promote") return "Subir"; + if (key === "youthAcademy.promoting") return "Subiendo..."; + if (key === "youthAcademy.fundAcademy") return "Financiar academia"; + if (key === "youthAcademy.fundingAcademy") return "Financiando..."; + if (key === "youthAcademy.placeholderCustomName") return "Nombre personalizado (opcional)"; + if (key === "youthAcademy.placeholderCustomShortName") return "Sigla personalizada (opcional)"; + if (key === "youthAcademy.placeholderCustomLogoUrl") return "URL logo (opcional)"; return key; }, }), @@ -45,6 +52,12 @@ vi.mock("../TraitBadge", () => ({ beforeEach(() => { promoteAcademyPlayer.mockReset(); getAcademyAcquisitionOptions.mockReset(); + getAcademyAcquisitionOptions.mockResolvedValue({ + parent_team_id: "team-1", + acquisition_allowed: false, + blocked_reason: "No eligible ERL acquisition candidate configured for this team country", + options: [], + }); acquireAcademyTeam.mockReset(); }); @@ -95,20 +108,20 @@ function createGameState(): GameStateData { full_name: "Academy Player", match_name: "Prospect", date_of_birth: "2004-01-01", - natural_position: "Midfielder", - position: "Midfielder", + natural_position: "MID", + position: "MID", condition: 100, traits: [], attributes: { - dribbling: 70, - shooting: 70, - teamwork: 70, - vision: 70, - decisions: 70, - leadership: 70, - agility: 70, - composure: 70, - stamina: 70, + mechanics: 70, + laning: 70, + teamfighting: 70, + macro_play: 70, + consistency: 70, + shotcalling: 70, + champion_pool: 70, + discipline: 70, + mental_resilience: 70, }, } as any; diff --git a/src/components/youthAcademy/YouthAcademyTab.tsx b/src/components/youthAcademy/YouthAcademyTab.tsx index 339c19c70..57cfb4330 100644 --- a/src/components/youthAcademy/YouthAcademyTab.tsx +++ b/src/components/youthAcademy/YouthAcademyTab.tsx @@ -20,6 +20,8 @@ interface YouthAcademyTabProps { type DraftRole = "TOP" | "JUNGLE" | "MID" | "ADC" | "SUPPORT"; +const ACADEMY_LOAD_OPTIONS_ERROR_KEY = "youthAcademy.loadOptionsError"; + const LOL_ROLE_ICON_URLS: Record = { TOP: "https://raw.communitydragon.org/latest/plugins/rcp-fe-lol-clash/global/default/assets/images/position-selector/positions/icon-position-top.png", JUNGLE: "https://raw.communitydragon.org/latest/plugins/rcp-fe-lol-clash/global/default/assets/images/position-selector/positions/icon-position-jungle.png", @@ -71,26 +73,36 @@ export default function YouthAcademyTab({ gameState, onSelectPlayer, onGameUpdat const [academyCustomLogoUrl, setAcademyCustomLogoUrl] = useState(""); useEffect(() => { + let isCancelled = false; + if (academyTeam || !myTeam?.id) { setAcquisitionOptions([]); setAcquisitionBlockedReason(null); + setAcquisitionLoading(false); return; } setAcquisitionLoading(true); void getAcademyAcquisitionOptions(myTeam.id) .then((response) => { + if (isCancelled) return; setAcquisitionOptions(response.options ?? []); setAcquisitionBlockedReason(response.blocked_reason ?? null); }) .catch(() => { + if (isCancelled) return; setAcquisitionOptions([]); - setAcquisitionBlockedReason(t("youthAcademy.loadOptionsError")); + setAcquisitionBlockedReason(ACADEMY_LOAD_OPTIONS_ERROR_KEY); }) .finally(() => { + if (isCancelled) return; setAcquisitionLoading(false); }); - }, [academyTeam, myTeam?.id, t]); + + return () => { + isCancelled = true; + }; + }, [academyTeam, myTeam?.id]); const youthPlayers = useMemo( () => @@ -310,7 +322,9 @@ export default function YouthAcademyTab({ gameState, onSelectPlayer, onGameUpdat ? t("youthAcademy.acquisitionLoading") : acquisitionOptions.length > 0 ? t("youthAcademy.acquisitionIntro") - : acquisitionBlockedReason ?? t("youthAcademy.acquisitionNoOptions")} + : acquisitionBlockedReason === ACADEMY_LOAD_OPTIONS_ERROR_KEY + ? t(ACADEMY_LOAD_OPTIONS_ERROR_KEY) + : acquisitionBlockedReason ?? t("youthAcademy.acquisitionNoOptions")}

{acquisitionOptions.length > 0 && (
diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index dced1dd2e..2670eb5af 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json @@ -2865,7 +2865,7 @@ "body2": "La jornada {{matchday}} dejó otra serie competitiva entre {{home}} y {{away}} ({{homeGoals}}-{{awayGoals}}). Hubo pivotes de draft y peleas por objetivos hasta el final.\n\nJugador del partido: {{playerOfMatch}}" }, "roundup": { - "headline0": "Resumen jornada {{matchday}}: {{totalMaps}} mapas en la Grieta", + "headline0": "Resumen jornada {{matchday}}: {{totalMaps}} mapas (maps) en la Grieta", "headline1": "Jornada {{matchday}} de liga: todos los resultados", "headline2": "Drafts, objetivos y mapas definen la jornada {{matchday}}", "body": "La jornada {{matchday}} terminó. Acá van todos los resultados de series:\n\n{{results}}\n\nSe jugaron {{totalMaps}} mapas en {{matchCount}} series." diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index 24567ebc4..91d0dae83 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json @@ -2821,7 +2821,7 @@ "body2": "A rodada {{matchday}} trouxe mais uma série competitiva entre {{home}} e {{away}} ({{homeGoals}}-{{awayGoals}}). Teve disputas de draft e de objetivos até o fim.\n\nJogador da partida: {{playerOfMatch}}" }, "roundup": { - "headline0": "Resumo da rodada {{matchday}}: {{totalMaps}} mapas no Rift", + "headline0": "Resumo da rodada {{matchday}}: {{totalMaps}} mapas (maps) no Rift", "headline1": "Rodada {{matchday}} da liga: todos os resultados", "headline2": "Drafts, objetivos e mapas definem a rodada {{matchday}}", "body": "A rodada {{matchday}} acabou. Confira os resultados completos das séries:\n\n{{results}}\n\nForam {{totalMaps}} mapas em {{matchCount}} séries." diff --git a/src/lib/lolIdentity.ts b/src/lib/lolIdentity.ts index d328424bd..3b4611850 100644 --- a/src/lib/lolIdentity.ts +++ b/src/lib/lolIdentity.ts @@ -13,6 +13,19 @@ export function resolvePlayerLolRole(player: PlayerData): LolRoleTag { if (role === "TOP" || role === "JUNGLE" || role === "MID" || role === "ADC" || role === "SUPPORT") { return role; } + const legacyRole = String(role ?? player.position ?? "").toLowerCase(); + if (legacyRole === "defender" || legacyRole === "centre-back" || legacyRole === "center-back" || legacyRole === "full-back") { + return "TOP"; + } + if (legacyRole === "midfielder") { + return "MID"; + } + if (legacyRole === "forward" || legacyRole === "striker" || legacyRole === "winger") { + return "ADC"; + } + if (legacyRole === "goalkeeper") { + return "SUPPORT"; + } return "MID"; } diff --git a/src/lib/lolPlayerStats.ts b/src/lib/lolPlayerStats.ts index 56659cb51..4c9fc39ff 100644 --- a/src/lib/lolPlayerStats.ts +++ b/src/lib/lolPlayerStats.ts @@ -47,23 +47,23 @@ export function getLolVisibleStatValue(player: PlayerData, statId: LolVisibleSta switch (statId) { case "mechanics": - return a.mechanics; + return a.mechanics ?? a.dribbling ?? 0; case "laning": - return a.laning; + return a.laning ?? a.shooting ?? 0; case "teamfighting": - return a.teamfighting; + return a.teamfighting ?? a.teamwork ?? 0; case "macro": - return a.macro_play; + return a.macro_play ?? a.vision ?? 0; case "consistency": - return a.consistency; + return a.consistency ?? a.decisions ?? 0; case "shotcalling": - return a.shotcalling; + return a.shotcalling ?? a.leadership ?? 0; case "championPool": - return a.champion_pool; + return a.champion_pool ?? a.agility ?? 0; case "discipline": - return a.discipline; + return a.discipline ?? a.composure ?? 0; case "mentalResilience": - return a.mental_resilience; + return a.mental_resilience ?? a.stamina ?? 0; } } diff --git a/src/lib/playerRating.ts b/src/lib/playerRating.ts index b32da6424..0a00a6402 100644 --- a/src/lib/playerRating.ts +++ b/src/lib/playerRating.ts @@ -1,25 +1,13 @@ import type { PlayerData } from "../store/gameStore"; import type { LolRole } from "../store/types"; +import { calculateLolOvr } from "./lolPlayerStats"; /** * Base OVR: simple average of the 9 visible LoL stats. * Same formula as calculate_lol_ovr() in Rust (potential.rs). */ function baseOvr(player: PlayerData): number { - const a = player.attributes; - return Math.round( - Math.max(1, Math.min(99, - (a.mechanics + - a.laning + - a.teamfighting + - a.macro_play + - a.consistency + - a.shotcalling + - a.champion_pool + - a.discipline + - a.mental_resilience) / 9 - )) - ); + return calculateLolOvr(player); } /** @@ -61,7 +49,7 @@ export function calcOvr(player: PlayerData, role?: LolRole): { ovr: number; role * Role badge color mapping * Uses the same mapping as roleIcons.ts for consistency */ -export function positionBadgeVariant(role: LolRole): "accent" | "primary" | "success" | "danger" { +export function positionBadgeVariant(role: LolRole): "accent" | "primary" | "success" | "danger" | "neutral" { switch (role) { case "TOP": return "danger"; @@ -72,7 +60,7 @@ export function positionBadgeVariant(role: LolRole): "accent" | "primary" | "suc case "ADC": return "accent"; case "SUPPORT": - return "primary"; + return "neutral"; default: return "primary"; } diff --git a/src/lib/scrimContext.ts b/src/lib/scrimContext.ts index ee22cb1bd..80e33d81f 100644 --- a/src/lib/scrimContext.ts +++ b/src/lib/scrimContext.ts @@ -7,6 +7,7 @@ import type { TeamData, } from "../store/gameStore"; import type { BackendScrimContextResponse } from "../services/trainingService"; +import { calculateLolOvr } from "./lolPlayerStats"; export type ScrimDayState = | "NoScrimToday" @@ -365,10 +366,7 @@ export function deriveWeeklyScrimContext(gameState: GameStateData, team: TeamDat } function playerLolOvr(player: PlayerData): number { - const a = player.attributes; - return Math.round(( - a.mechanics + a.laning + a.teamfighting + a.macro_play + a.consistency + a.shotcalling + a.champion_pool + a.discipline + a.mental_resilience - ) / 9); + return calculateLolOvr(player); } export function teamLolOvr(gameState: GameStateData, teamId: string): number { diff --git a/src/pages/MatchSimulation.test.tsx b/src/pages/MatchSimulation.test.tsx index 15714eba3..455cb2540 100644 --- a/src/pages/MatchSimulation.test.tsx +++ b/src/pages/MatchSimulation.test.tsx @@ -443,6 +443,10 @@ function makeGameStateWithSeriesFixture( } async function playOneDraftMap(): Promise { + if (screen.queryByTestId("prematch-start")) { + fireEvent.click(screen.getByTestId("prematch-start")); + } + await waitFor(function (): void { expect(screen.getByTestId("champion-draft")).toBeInTheDocument(); }); @@ -463,6 +467,20 @@ async function playOneDraftMap(): Promise { }); } +async function advanceFromPrematchToDraft(): Promise { + if (screen.queryByTestId("champion-draft")) { + return; + } + + await waitFor(function (): void { + expect(screen.getByTestId("prematch-start")).toBeInTheDocument(); + }); + fireEvent.click(screen.getByTestId("prematch-start")); + await waitFor(function (): void { + expect(screen.getByTestId("champion-draft")).toBeInTheDocument(); + }); +} + describe("MatchSimulation", function (): void { beforeEach(function resetState(): void { mockedInvoke.mockReset(); @@ -543,9 +561,7 @@ describe("MatchSimulation", function (): void { render(); - await waitFor(function (): void { - expect(screen.getByTestId("champion-draft")).toBeInTheDocument(); - }); + await advanceFromPrematchToDraft(); fireEvent.click(screen.getByTestId("champion-draft")); @@ -571,9 +587,7 @@ describe("MatchSimulation", function (): void { fireEvent.click(screen.getByTestId("prematch-start")); - await waitFor(function (): void { - expect(screen.getByTestId("champion-draft")).toBeInTheDocument(); - }); + await advanceFromPrematchToDraft(); fireEvent.click(screen.getByTestId("champion-draft")); @@ -610,9 +624,7 @@ describe("MatchSimulation", function (): void { render(); - await waitFor(function (): void { - expect(screen.getByTestId("champion-draft")).toBeInTheDocument(); - }); + await advanceFromPrematchToDraft(); fireEvent.click(screen.getByTestId("champion-draft")); await waitFor(function (): void { @@ -668,9 +680,7 @@ describe("MatchSimulation", function (): void { render(); - await waitFor(function (): void { - expect(screen.getByTestId("champion-draft")).toBeInTheDocument(); - }); + await advanceFromPrematchToDraft(); fireEvent.click(screen.getByTestId("champion-draft")); await waitFor(function (): void { @@ -761,9 +771,7 @@ describe("MatchSimulation", function (): void { render(); - await waitFor(function (): void { - expect(screen.getByTestId("champion-draft")).toBeInTheDocument(); - }); + await advanceFromPrematchToDraft(); fireEvent.click(screen.getByTestId("champion-draft")); await waitFor(function (): void { @@ -965,9 +973,8 @@ describe("MatchSimulation", function (): void { render(); - await waitFor(function (): void { - expect(screen.getByTestId("champion-draft")).toHaveTextContent("Complete Draft (0)"); - }); + await advanceFromPrematchToDraft(); + expect(screen.getByTestId("champion-draft")).toHaveTextContent("Complete Draft (0)"); expect( localStorage.getItem("fixture-draft-result:fixture-playoff-restart-reset"), @@ -1012,9 +1019,7 @@ describe("MatchSimulation", function (): void { render(); - await waitFor(function (): void { - expect(screen.getByTestId("champion-draft")).toBeInTheDocument(); - }); + await advanceFromPrematchToDraft(); fireEvent.click(screen.getByTestId("champion-draft")); await waitFor(function (): void { @@ -1092,9 +1097,7 @@ describe("MatchSimulation", function (): void { fireEvent.click(screen.getByTestId("postmatch-finish")); - await waitFor(function (): void { - expect(screen.getByTestId("champion-draft")).toBeInTheDocument(); - }); + await advanceFromPrematchToDraft(); expect(navigateMock).not.toHaveBeenCalledWith("/dashboard"); }); @@ -1138,9 +1141,7 @@ describe("MatchSimulation", function (): void { render(); - await waitFor(function (): void { - expect(screen.getByTestId("champion-draft")).toBeInTheDocument(); - }); + await advanceFromPrematchToDraft(); expect(localStorage.getItem("fixture-draft-result:fixture-bo3-invalid-complete")).toBeNull(); expect(screen.queryByTestId("postmatch-press")).not.toBeInTheDocument(); @@ -1197,8 +1198,7 @@ describe("MatchSimulation", function (): void { render(); - await waitFor(function (): void { - expect(screen.getByTestId("champion-draft")).toHaveTextContent("Complete Draft (0)"); - }); + await advanceFromPrematchToDraft(); + expect(screen.getByTestId("champion-draft")).toHaveTextContent("Complete Draft (0)"); }); });