export interface SeedItem {
  name: string;
  type: "weapon" | "armor" | "gear";
  slot_count: number;
  effects: Record<string, unknown>;
  properties: Record<string, unknown>;
}

export const SEED_ITEMS: SeedItem[] = [
  // --- Weapons ---
  {
    name: "Bastard sword",
    type: "weapon",
    slot_count: 1,
    effects: { damage: "1d8", melee: true, stat: "STR", versatile: "1d10" },
    properties: { tags: ["versatile"] },
  },
  {
    name: "Club",
    type: "weapon",
    slot_count: 1,
    effects: { damage: "1d4", melee: true, stat: "STR" },
    properties: {},
  },
  {
    name: "Crossbow",
    type: "weapon",
    slot_count: 1,
    effects: { damage: "1d6", ranged: true, stat: "DEX", range: "far" },
    properties: { tags: ["loading"] },
  },
  {
    name: "Dagger",
    type: "weapon",
    slot_count: 1,
    effects: {
      damage: "1d4",
      melee: true,
      stat: "STR",
      finesse: true,
      thrown: true,
      range: "close",
    },
    properties: { tags: ["finesse", "thrown"] },
  },
  {
    name: "Greataxe",
    type: "weapon",
    slot_count: 1,
    effects: { damage: "1d10", melee: true, stat: "STR", two_handed: true },
    properties: { tags: ["two-handed"] },
  },
  {
    name: "Greatsword",
    type: "weapon",
    slot_count: 1,
    effects: { damage: "2d6", melee: true, stat: "STR", two_handed: true },
    properties: { tags: ["two-handed"] },
  },
  {
    name: "Javelin",
    type: "weapon",
    slot_count: 1,
    effects: {
      damage: "1d4",
      melee: true,
      stat: "STR",
      thrown: true,
      range: "far",
    },
    properties: { tags: ["thrown"] },
  },
  {
    name: "Longbow",
    type: "weapon",
    slot_count: 1,
    effects: {
      damage: "1d8",
      ranged: true,
      stat: "DEX",
      range: "far",
      two_handed: true,
    },
    properties: { tags: ["two-handed"] },
  },
  {
    name: "Longsword",
    type: "weapon",
    slot_count: 1,
    effects: { damage: "1d8", melee: true, stat: "STR" },
    properties: {},
  },
  {
    name: "Mace",
    type: "weapon",
    slot_count: 1,
    effects: { damage: "1d6", melee: true, stat: "STR" },
    properties: {},
  },
  {
    name: "Shortbow",
    type: "weapon",
    slot_count: 1,
    effects: {
      damage: "1d4",
      ranged: true,
      stat: "DEX",
      range: "far",
      two_handed: true,
    },
    properties: { tags: ["two-handed"] },
  },
  {
    name: "Shortsword",
    type: "weapon",
    slot_count: 1,
    effects: { damage: "1d6", melee: true, stat: "STR" },
    properties: {},
  },
  {
    name: "Spear",
    type: "weapon",
    slot_count: 1,
    effects: {
      damage: "1d6",
      melee: true,
      stat: "STR",
      thrown: true,
      range: "close",
    },
    properties: { tags: ["thrown"] },
  },
  {
    name: "Staff",
    type: "weapon",
    slot_count: 1,
    effects: { damage: "1d4", melee: true, stat: "STR", two_handed: true },
    properties: { tags: ["two-handed"] },
  },
  {
    name: "Warhammer",
    type: "weapon",
    slot_count: 1,
    effects: { damage: "1d10", melee: true, stat: "STR", two_handed: true },
    properties: { tags: ["two-handed"] },
  },

  // --- Armor ---
  {
    name: "Leather armor",
    type: "armor",
    slot_count: 1,
    effects: { ac_base: 11, ac_dex: true },
    properties: {},
  },
  {
    name: "Chainmail",
    type: "armor",
    slot_count: 1,
    effects: { ac_base: 13, ac_dex: true },
    properties: { note: "Disadvantage on stealth and swimming" },
  },
  {
    name: "Plate mail",
    type: "armor",
    slot_count: 1,
    effects: { ac_base: 15, ac_dex: false },
    properties: { note: "Disadvantage on stealth, swimming, and climbing" },
  },
  {
    name: "Shield",
    type: "armor",
    slot_count: 1,
    effects: { ac_bonus: 2 },
    properties: {},
  },
  {
    name: "Mithral chainmail",
    type: "armor",
    slot_count: 1,
    effects: { ac_base: 13, ac_dex: true },
    properties: { note: "No disadvantage" },
  },

  // --- Gear ---
  {
    name: "Arrows/bolts (20)",
    type: "gear",
    slot_count: 1,
    effects: {},
    properties: {},
  },
  {
    name: "Backpack",
    type: "gear",
    slot_count: 0,
    effects: {},
    properties: {},
  },
  {
    name: "Caltrops",
    type: "gear",
    slot_count: 1,
    effects: {},
    properties: {},
  },
  {
    name: "Climbing gear",
    type: "gear",
    slot_count: 1,
    effects: {},
    properties: {},
  },
  { name: "Crowbar", type: "gear", slot_count: 1, effects: {}, properties: {} },
  {
    name: "Flask/bottle",
    type: "gear",
    slot_count: 1,
    effects: {},
    properties: {},
  },
  {
    name: "Flint and steel",
    type: "gear",
    slot_count: 1,
    effects: {},
    properties: {},
  },
  {
    name: "Grappling hook",
    type: "gear",
    slot_count: 1,
    effects: {},
    properties: {},
  },
  {
    name: "Iron spikes (10)",
    type: "gear",
    slot_count: 1,
    effects: {},
    properties: {},
  },
  { name: "Lantern", type: "gear", slot_count: 1, effects: {}, properties: {} },
  { name: "Mirror", type: "gear", slot_count: 1, effects: {}, properties: {} },
  {
    name: "Oil flask",
    type: "gear",
    slot_count: 1,
    effects: {},
    properties: {},
  },
  { name: "Rations", type: "gear", slot_count: 1, effects: {}, properties: {} },
  {
    name: "Rope (60ft)",
    type: "gear",
    slot_count: 1,
    effects: {},
    properties: {},
  },
  {
    name: "Thieves' tools",
    type: "gear",
    slot_count: 1,
    effects: {},
    properties: {},
  },
  { name: "Torch", type: "gear", slot_count: 1, effects: {}, properties: {} },
];
