/* data.jsx — Dutch items, recipes (with reward explanations),
   25-villager roster, class-chest seed.
   Globals: ITEMS, RECIPES, SEED_STUDENTS, SEED_CHEST,
            ITEM_TYPE_LABEL, RECIPE_CATEGORY_LABEL
*/

const ITEMS = {
  // -------- Tier 0 — base tokens — solid colored circles ---------------------
  water:        { name: 'Water',        type: 'base',             tier: 0, color: 'blue'   },
  paddenstoel:  { name: 'Paddenstoel',  type: 'base',             tier: 0, color: 'red'    },
  zand:         { name: 'Zand',         type: 'base',             tier: 0, color: 'yellow' },

  // -------- Tier 1 — rare crafted materials — solid colored squares ----------
  lava:         { name: 'Lava',         type: 'rare',             tier: 1, color: 'orange' },
  zeewier:      { name: 'Zeewier',      type: 'rare',             tier: 1, color: 'green'  },
  fles:         { name: 'Fles',         type: 'rare',             tier: 1, color: 'white'  },

  // -------- Tier 2 — legendary materials ------------------------------------
  enderparel:   { name: 'Enderparel',   type: 'legendary_mat',    tier: 2, color: 'purple' }, // purple star
  enderpoeder:  { name: 'Enderpoeder',  type: 'legendary_mat',    tier: 2, color: 'purple' }, // purple dust

  // -------- Basic rewards (Dutch) -------------------------------------------
  snelheid:     { name: 'Snelheid',     type: 'reward_basic',     tier: 1, color: 'blue'   },
  partner:      { name: 'Partner',      type: 'reward_basic',     tier: 1, color: 'purple' },
  dj:           { name: 'DJ',           type: 'reward_basic',     tier: 1, color: 'red'    },

  // -------- Advanced rewards (Dutch) ----------------------------------------
  snelheid_2:   { name: 'Snelheid 2',   type: 'reward_advanced',  tier: 2, color: 'blue'   },
  teleporteren: { name: 'Teleporteren', type: 'reward_advanced',  tier: 2, color: 'purple' },
  duo:          { name: 'Duo',          type: 'reward_advanced',  tier: 2, color: 'yellow' },

  // -------- Class rewards (Dutch) -------------------------------------------
  speeltijd:    { name: 'Speeltijd',    type: 'reward_legendary', tier: 3, color: 'green'  },
  plaats_kiezen:{ name: 'Plaats kiezen',type: 'reward_legendary', tier: 3, color: 'orange' },
};

const RECIPES = [
  // ---- Tier 1 crafted materials ----
  { key: 'lava',     output: 'lava',     name: 'Lava',     category: 'rare',
    cost: [['water', 2], ['paddenstoel', 1]] },
  { key: 'zeewier',  output: 'zeewier',  name: 'Zeewier',  category: 'rare',
    cost: [['zand', 2], ['paddenstoel', 1]] },
  { key: 'fles',     output: 'fles',     name: 'Fles',     category: 'rare',
    cost: [['water', 1], ['paddenstoel', 1], ['zand', 1]] },

  // ---- Tier 2 legendary materials ----
  { key: 'enderparel',  output: 'enderparel',  name: 'Enderparel',  category: 'legendary',
    cost: [['lava', 1], ['zeewier', 1]] },
  { key: 'enderpoeder', output: 'enderpoeder', name: 'Enderpoeder', category: 'legendary',
    cost: [['fles', 1], ['lava', 1], ['zeewier', 1]] },

  // ---- Trade-in: 1 basic reward → 1 enderpoeder -------------------------------
  // Three alternate routes to enderpoeder by trading any earned basic reward.
  { key: 'enderpoeder_van_snelheid', output: 'enderpoeder', name: 'Enderpoeder (van Snelheid)',
    category: 'legendary',
    explanation: 'Ruil 1 Snelheid-beloning in voor 1 Enderpoeder.',
    cost: [['snelheid', 1]] },
  { key: 'enderpoeder_van_partner',  output: 'enderpoeder', name: 'Enderpoeder (van Partner)',
    category: 'legendary',
    explanation: 'Ruil 1 Partner-beloning in voor 1 Enderpoeder.',
    cost: [['partner', 1]] },
  { key: 'enderpoeder_van_dj',       output: 'enderpoeder', name: 'Enderpoeder (van DJ)',
    category: 'legendary',
    explanation: 'Ruil 1 DJ-beloning in voor 1 Enderpoeder.',
    cost: [['dj', 1]] },

  // ---- Basic rewards (with explanations) ----
  { key: 'snelheid', output: 'snelheid', name: 'Snelheid', category: 'basic',
    explanation: 'Je mag een hele dag vooraan in de rij staan.',
    cost: [['water', 3]] },
  { key: 'partner',  output: 'partner',  name: 'Partner',  category: 'basic',
    explanation: 'Je mag de hele dag een Enderman op jouw bank zetten.',
    cost: [['zand', 3]] },
  { key: 'dj',       output: 'dj',       name: 'DJ',       category: 'basic',
    explanation: 'Je mag op het einde van de dag de liedjes kiezen.',
    cost: [['paddenstoel', 3]] },

  // ---- Advanced rewards (with explanations) ----
  { key: 'snelheid_2',   output: 'snelheid_2',   name: 'Snelheid 2', category: 'advanced',
    explanation: 'Je mag een hele dag vooraan in de rij staan.',
    cost: [['snelheid', 1], ['lava', 1]] },
  { key: 'teleporteren', output: 'teleporteren', name: 'Teleporteren', category: 'advanced',
    explanation: 'Je mag een hele dag kiezen naast wie je zit.',
    cost: [['dj', 1], ['fles', 1]] },
  { key: 'duo',          output: 'duo',          name: 'Duo', category: 'advanced',
    explanation: 'Je mag een hele week een knuffel meenemen en naast jou plaatsen.',
    cost: [['partner', 1], ['zeewier', 1]] },

  // ---- Class rewards (with explanations) ----
  { key: 'speeltijd',     output: 'speeltijd',     name: 'Speeltijd',     category: 'class',
    explanation: '10\u2032 extra speeltijd voor de hele klas.',
    cost: [['enderparel', 5], ['enderpoeder', 5], ['zeewier', 5]] },
  { key: 'plaats_kiezen', output: 'plaats_kiezen', name: 'Plaats kiezen', category: 'class',
    explanation: 'Iedereen mag voor 1 dag zijn plaats kiezen.',
    cost: [['enderparel', 5], ['enderpoeder', 5], ['lava', 5]] },
];

// Dutch category & type labels
const RECIPE_CATEGORY_LABEL = {
  rare:      'Zeldzame materialen',
  legendary: 'Legendarische materialen',
  basic:     'Basis beloningen',
  advanced:  'Gevorderde beloningen',
  class:     'Klasbeloningen',
};

const ITEM_TYPE_LABEL = {
  base:             'Basis materialen',
  rare:             'Zeldzame materialen',
  legendary_mat:    'Legendarische materialen',
  reward_basic:     'Basis beloning',
  reward_advanced:  'Gevorderde beloning',
  reward_legendary: 'Klasbeloning',
};

// ---- 25 villagers (L3a roster) — slots 23-25 hidden, reserved for next year
const SEED_STUDENTS = [
  { id: 1,  name: 'Alexander', inventory: {} },
  { id: 2,  name: 'Noah',      inventory: {} },
  { id: 3,  name: 'Amandine',  inventory: {} },
  { id: 4,  name: 'Aurélie',   inventory: {} },
  { id: 5,  name: 'Amber',     inventory: {} },
  { id: 6,  name: 'Skylar',    inventory: {} },
  { id: 7,  name: 'Daan',      inventory: {} },
  { id: 8,  name: 'Lotte',     inventory: {} },
  { id: 9,  name: 'Annelise',  inventory: {} },
  { id: 10, name: 'Monica',    inventory: {} },
  { id: 11, name: 'Isadora',   inventory: {} },
  { id: 12, name: 'Wiktor',    inventory: {} },
  { id: 13, name: 'Israel',    inventory: {} },
  { id: 14, name: 'Mathis',    inventory: {} },
  { id: 15, name: 'Finn',      inventory: {} },
  { id: 16, name: 'Manon',     inventory: {} },
  { id: 17, name: 'Florian',   inventory: {} },
  { id: 18, name: 'Zlata',     inventory: {} },
  { id: 19, name: 'Quinten',   inventory: {} },
  { id: 20, name: 'Mare',      inventory: {} },
  { id: 21, name: 'Xem',       inventory: {} },
  { id: 22, name: 'Lucas',     inventory: {} },
  { id: 23, name: 'Leerling 23', inventory: {}, hidden: true },
  { id: 24, name: 'Leerling 24', inventory: {}, hidden: true },
  { id: 25, name: 'Leerling 25', inventory: {}, hidden: true },
];

const SEED_CHEST = {
  water:       6,
  paddenstoel: 4,
  zand:        3,
  lava:        2,
  zeewier:     1,
  fles:        0,
  enderparel:  0,
  enderpoeder: 0,
};

Object.assign(window, {
  ITEMS, RECIPES, SEED_STUDENTS, SEED_CHEST,
  ITEM_TYPE_LABEL, RECIPE_CATEGORY_LABEL,
});
