import type { AttackKey } from './types.js';

// Attack → Defense pairings for outfield players
export const ATTACK_DEFENSE_PAIRINGS_OUTFIELD: Record<AttackKey, string> = {
  dribbeln: 'positionieren',
  finte: 'zweikampf',
  flacherPass: 'abfangen',
  hoherPass: 'defKopfball',
  offKopfball: 'decken',
  schuss: 'blocken',
};

// Attack → Defense pairings for goalkeepers
export const ATTACK_DEFENSE_PAIRINGS_GK: Record<AttackKey, string> = {
  dribbeln: 'positionieren',
  finte: 'einsVsEins',
  flacherPass: 'kick',
  hoherPass: 'abfangen',
  offKopfball: 'fausten',
  schuss: 'parade',
};

// German display names for attack attributes
export const ATTACK_LABELS: Record<AttackKey, string> = {
  dribbeln: 'Dribbeln',
  finte: 'Finte',
  flacherPass: 'Flacher Pass',
  hoherPass: 'Hoher Pass',
  offKopfball: 'OFF-Kopfball',
  schuss: 'Schuss',
};

// German display names for outfield defense attributes
export const OUTFIELD_DEFENSE_LABELS: Record<string, string> = {
  positionieren: 'Positionieren',
  zweikampf: 'Zweikampf',
  abfangen: 'Abfangen',
  defKopfball: 'DEF-Kopfball',
  decken: 'Decken',
  blocken: 'Blocken',
};

// German display names for goalkeeper defense attributes
export const GK_DEFENSE_LABELS: Record<string, string> = {
  positionieren: 'Positionieren',
  einsVsEins: '1vs1',
  kick: 'Kick',
  abfangen: 'Abfangen',
  fausten: 'Fausten',
  parade: 'Parade',
};

// Game rules constants
export const ATTACKS_PER_HALF = 5;
export const WINS_FOR_GOAL = 5;
export const STARTERS_COUNT = 11;
export const BENCH_COUNT = 5;
export const TOTAL_SQUAD_SIZE = STARTERS_COUNT + BENCH_COUNT;
export const MIN_GK_IN_STARTERS = 1;
