National Team Expansion (50+ Countries + PRC China)

This commit is contained in:
markmental 2026-02-10 19:11:28 -05:00
commit 839b9f6c08
2 changed files with 166 additions and 1 deletions

View file

@ -78,3 +78,11 @@
- Added modal scrolling controls (`j/k` or up/down) and close controls (`Esc` or `q`). - Added modal scrolling controls (`j/k` or up/down) and close controls (`Esc` or `q`).
- Simplified detail view to focus on scoreboard, logs, and instance info. - Simplified detail view to focus on scoreboard, logs, and instance info.
- Added detail-panel hint bar to direct users to the new dedicated modals. - Added detail-panel hint bar to direct users to the new dedicated modals.
## 2026-02-10 - National team expansion
### Scope completed
- Expanded team database to include 50+ national teams in addition to existing clubs.
- Added national-team flag mappings, including `PRC China`.
- Added tactic/formation profile mappings for the new national teams.
- Verified with `list` and deterministic `quick` simulation using national teams.

View file

@ -59,7 +59,7 @@ pub const TACTICS: [Tactic; 4] = [
}, },
]; ];
pub const TEAMS: [&str; 29] = [ pub const TEAMS: [&str; 85] = [
"Kashima Antlers", "Kashima Antlers",
"Urawa Red Diamonds", "Urawa Red Diamonds",
"Gamba Osaka", "Gamba Osaka",
@ -89,6 +89,62 @@ pub const TEAMS: [&str; 29] = [
"Benfica", "Benfica",
"Porto", "Porto",
"Celtic", "Celtic",
"England",
"France",
"Spain",
"Germany",
"Italy",
"Portugal",
"Netherlands",
"Belgium",
"Croatia",
"Denmark",
"Switzerland",
"Austria",
"Sweden",
"Norway",
"Poland",
"Serbia",
"Turkey",
"Ukraine",
"Czech Republic",
"Scotland",
"Argentina",
"Brazil",
"Uruguay",
"Colombia",
"Chile",
"Peru",
"Ecuador",
"Paraguay",
"Bolivia",
"Venezuela",
"United States",
"Mexico",
"Canada",
"Costa Rica",
"Panama",
"Jamaica",
"Honduras",
"Japan",
"South Korea",
"Australia",
"Iran",
"Saudi Arabia",
"Qatar",
"Iraq",
"United Arab Emirates",
"PRC China",
"Morocco",
"Senegal",
"Nigeria",
"Egypt",
"Algeria",
"Tunisia",
"Ghana",
"Cameroon",
"Ivory Coast",
"South Africa",
]; ];
pub fn team_flag(team: &str) -> &'static str { pub fn team_flag(team: &str) -> &'static str {
@ -113,6 +169,61 @@ pub fn team_flag(team: &str) -> &'static str {
"Juventus" | "Inter" | "AC Milan" => "🇮🇹", "Juventus" | "Inter" | "AC Milan" => "🇮🇹",
"Ajax" => "🇳🇱", "Ajax" => "🇳🇱",
"Benfica" | "Porto" => "🇵🇹", "Benfica" | "Porto" => "🇵🇹",
"England" | "Scotland" => "🇬🇧",
"France" => "🇫🇷",
"Spain" => "🇪🇸",
"Germany" => "🇩🇪",
"Italy" => "🇮🇹",
"Portugal" => "🇵🇹",
"Netherlands" => "🇳🇱",
"Belgium" => "🇧🇪",
"Croatia" => "🇭🇷",
"Denmark" => "🇩🇰",
"Switzerland" => "🇨🇭",
"Austria" => "🇦🇹",
"Sweden" => "🇸🇪",
"Norway" => "🇳🇴",
"Poland" => "🇵🇱",
"Serbia" => "🇷🇸",
"Turkey" => "🇹🇷",
"Ukraine" => "🇺🇦",
"Czech Republic" => "🇨🇿",
"Argentina" => "🇦🇷",
"Brazil" => "🇧🇷",
"Uruguay" => "🇺🇾",
"Colombia" => "🇨🇴",
"Chile" => "🇨🇱",
"Peru" => "🇵🇪",
"Ecuador" => "🇪🇨",
"Paraguay" => "🇵🇾",
"Bolivia" => "🇧🇴",
"Venezuela" => "🇻🇪",
"United States" => "🇺🇸",
"Mexico" => "🇲🇽",
"Canada" => "🇨🇦",
"Costa Rica" => "🇨🇷",
"Panama" => "🇵🇦",
"Jamaica" => "🇯🇲",
"Honduras" => "🇭🇳",
"Japan" => "🇯🇵",
"South Korea" => "🇰🇷",
"Australia" => "🇦🇺",
"Iran" => "🇮🇷",
"Saudi Arabia" => "🇸🇦",
"Qatar" => "🇶🇦",
"Iraq" => "🇮🇶",
"United Arab Emirates" => "🇦🇪",
"PRC China" => "🇨🇳",
"Morocco" => "🇲🇦",
"Senegal" => "🇸🇳",
"Nigeria" => "🇳🇬",
"Egypt" => "🇪🇬",
"Algeria" => "🇩🇿",
"Tunisia" => "🇹🇳",
"Ghana" => "🇬🇭",
"Cameroon" => "🇨🇲",
"Ivory Coast" => "🇨🇮",
"South Africa" => "🇿🇦",
_ => "🏳️", _ => "🏳️",
} }
} }
@ -247,6 +358,52 @@ pub fn profile_for(team: &str) -> TeamProfile {
formation: "4-3-3", formation: "4-3-3",
tactic: "counter", tactic: "counter",
}, },
"Spain" | "Netherlands" | "Portugal" | "Japan" | "PRC China" => TeamProfile {
formation: "4-3-3",
tactic: "possession",
},
"England" | "Germany" | "France" | "Brazil" | "Argentina" | "Belgium" | "United States"
| "South Korea" | "Morocco" | "Nigeria" => TeamProfile {
formation: "4-2-3-1",
tactic: "high_press",
},
"Italy" | "Croatia" | "Denmark" | "Switzerland" | "Uruguay" | "Mexico" | "Canada"
| "Iran" | "Saudi Arabia" | "Senegal" | "Algeria" | "Tunisia" => TeamProfile {
formation: "4-4-2",
tactic: "counter",
},
"Austria"
| "Sweden"
| "Norway"
| "Poland"
| "Serbia"
| "Turkey"
| "Ukraine"
| "Czech Republic"
| "Scotland"
| "Colombia"
| "Chile"
| "Peru"
| "Ecuador"
| "Paraguay"
| "Bolivia"
| "Venezuela"
| "Costa Rica"
| "Panama"
| "Jamaica"
| "Honduras"
| "Australia"
| "Qatar"
| "Iraq"
| "United Arab Emirates"
| "Egypt"
| "Ghana"
| "Cameroon"
| "Ivory Coast"
| "South Africa" => TeamProfile {
formation: "4-2-3-1",
tactic: "counter",
},
_ => TeamProfile { _ => TeamProfile {
formation: "4-4-2", formation: "4-4-2",
tactic: "counter", tactic: "counter",