export const gameConfig = {
  gameId: "gates-of-olympus-super-scatter",
  name: "Gates of Olympus Super Scatter",
  version: "1.0.0",
  description: "Scatter-pays slot game with tumble/cascade mechanics, multiplier bonuses, and Super Scatter feature",
  config: {
    grid: {
      rows: 6,
      cols: 5,
    },

    symbols: [
      { id: 0,  code: "NU",  name: "Null",           category: "system",  description: "Empty position" },
      { id: 1,  code: "H1",  name: "High 1",         category: "high",    description: "Highest paying regular symbol" },
      { id: 2,  code: "H2",  name: "High 2",         category: "high",    description: "Second highest paying regular symbol" },
      { id: 3,  code: "H3",  name: "High 3",         category: "high",    description: "Third highest paying regular symbol" },
      { id: 4,  code: "H4",  name: "High 4",         category: "high",    description: "Fourth highest paying regular symbol" },
      { id: 11, code: "N1",  name: "Normal 1",       category: "normal",  description: "Highest paying normal symbol" },
      { id: 12, code: "N2",  name: "Normal 2",       category: "normal",  description: "Second normal symbol" },
      { id: 13, code: "N3",  name: "Normal 3",       category: "normal",  description: "Third normal symbol" },
      { id: 14, code: "N4",  name: "Normal 4",       category: "normal",  description: "Fourth normal symbol" },
      { id: 15, code: "N5",  name: "Normal 5",       category: "normal",  description: "Lowest paying normal symbol" },
      { id: 31, code: "SC",  name: "Scatter",        category: "scatter", description: "Triggers free spins when 4+ appear" },
      { id: 32, code: "SC1", name: "Super Scatter",  category: "scatter", description: "Enhanced scatter with higher payouts" },
      { id: 41, code: "BN",  name: "Bonus",          category: "bonus",   description: "Carries multiplier value, applied to tumble wins" },
    ],

    payTable: {
      symbolCountTiers: [
        { label: "8-9 symbols",   min: 8,  max: 9 },
        { label: "10-11 symbols", min: 10, max: 11 },
        { label: "12-30 symbols", min: 12, max: 30 },
      ],
      regular: [
        { symbolId: 1,  code: "H1", payouts: [200, 500, 1000] },
        { symbolId: 2,  code: "H2", payouts: [50, 200, 500] },
        { symbolId: 3,  code: "H3", payouts: [40, 100, 300] },
        { symbolId: 4,  code: "H4", payouts: [30, 40, 240] },
        { symbolId: 11, code: "N1", payouts: [20, 30, 200] },
        { symbolId: 12, code: "N2", payouts: [16, 24, 160] },
        { symbolId: 13, code: "N3", payouts: [10, 20, 100] },
        { symbolId: 14, code: "N4", payouts: [8, 18, 80] },
        { symbolId: 15, code: "N5", payouts: [5, 15, 40] },
      ],
      scatter: {
        symbolId: 31,
        code: "SC",
        note: "Pays x TotalBet[0]",
        countTiers: [
          { label: "4 scatters",  count: 4, payout: 0 },
          { label: "5 scatters",  count: 5, payout: 3 },
          { label: "6 scatters",  count: 6, payout: 5 },
          { label: "7+ scatters", count: 7, payout: 100 },
        ],
      },
      superScatter: {
        symbolId: 32,
        code: "SC1",
        note: "Pays x TotalBet[0], exponential scaling",
        countTiers: [
          { label: "1 super scatter", count: 1, payout: 100 },
          { label: "2 super scatter", count: 2, payout: 500 },
          { label: "3 super scatter", count: 3, payout: 5000 },
          { label: "4 super scatter", count: 4, payout: 50000 },
          { label: "5 super scatter", count: 5, payout: 50000 },
          { label: "6 super scatter", count: 6, payout: 50000 },
        ],
      },
    },

    rules: {
      minNumOfKind: 1,
      maxNumOfKind: 30,
      triggerCount: 4,
      freeSpins: 15,
      retriggerCount: 3,
      addFreeSpins: 5,
      maxWin: 1000000,
      maxWinFormula: "50000 x 20",
    },

    options: {
      totalBet: [20, 30, 2000, 10000],
      multiplier: [2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 25, 50, 100, 250, 500],
      symbolCount: [8, 10, 12],
    },

    states: [
      { id: 0, name: "BaseGame", label: "Base Game" },
      { id: 1, name: "FreeGame", label: "Free Game" },
    ],

    winTypes: [
      { id: 0, name: "NoWin",     label: "No Win" },
      { id: 1, name: "NormalWin", label: "Normal Win" },
      { id: 2, name: "FreeGame",  label: "Free Game Trigger" },
      { id: 3, name: "MaxWin",    label: "Max Win" },
    ],

    mechanics: {
      winType: "scatter-pays",
      winDescription: "8+ matching symbols anywhere on grid = win",
      tumble: true,
      tumbleDescription: "Winning symbols removed, remaining symbols cascade right, new symbols fill empty spaces",
      bonusMultiplier: true,
      bonusMultiplierDescription: "BN symbols carry a random multiplier; after tumble sequence ends, total tumble win is multiplied",
      superScatter: true,
      superScatterDescription: "SC can upgrade to SC1 with ~1% chance in BaseGame, 10x boost on retrigger check",
      buyFeature: true,
      buyFeatureDescription: "Modes 2-3 guarantee 4+ scatters on first spin (buy feature)",
    },

    modes: [
      {
        id: 0,
        name: "Normal",
        description: "Standard play mode",
        isBuyFeature: false,
        // symbolWeight: {
        //   symbolOrder: ["H1", "H2", "H3", "H4", "N1", "N2", "N3", "N4", "N5", "SC", "BN"],
        //   BaseGame: [40, 40, 40, 40, 100, 100, 100, 100, 100, 16, 5],
        //   FreeGame: [95, 100, 100, 100, 100, 45, 40, 40, 40, 12, 10],
        // },
        // multiplierWeight: [285000, 149012, 59605, 23842, 9537, 3815, 1526, 610, 244, 98, 39, 16, 6, 3, 1],
      },
      {
        id: 1,
        name: "Ante Bet",
        description: "Higher bet with increased scatter/bonus chance",
        isBuyFeature: false,
        // symbolWeight: {
        //   symbolOrder: ["H1", "H2", "H3", "H4", "N1", "N2", "N3", "N4", "N5", "SC", "BN"],
        //   BaseGame: [40, 40, 40, 40, 100, 100, 100, 100, 100, 20, 7],
        //   FreeGame: [95, 100, 100, 100, 100, 45, 40, 40, 40, 12, 10],
        // },
        // multiplierWeight: [265000, 149012, 59605, 23842, 9537, 3815, 1526, 610, 244, 98, 39, 16, 6, 3, 1],
      },
      {
        id: 2,
        name: "Buy Feature",
        description: "Buy feature mode - guaranteed scatter trigger",
        isBuyFeature: true,
        // symbolWeight: {
        //   symbolOrder: ["H1", "H2", "H3", "H4", "N1", "N2", "N3", "N4", "N5", "SC", "BN"],
        //   BaseGame: [40, 40, 40, 40, 100, 100, 100, 100, 100, 0, 5],
        //   FreeGame: [85, 100, 100, 100, 100, 55, 40, 40, 40, 12, 10],
        // },
        // multiplierWeight: [180000, 149012, 59605, 23842, 9537, 3815, 1526, 610, 244, 98, 39, 16, 6, 3, 1],
      },
      {
        id: 3,
        name: "Buy Feature (High)",
        description: "Premium buy feature - guaranteed high multipliers",
        isBuyFeature: true,
        // symbolWeight: {
        //   symbolOrder: ["H1", "H2", "H3", "H4", "N1", "N2", "N3", "N4", "N5", "SC", "BN"],
        //   BaseGame: [40, 40, 40, 40, 100, 100, 100, 100, 100, 0, 5],
        //   FreeGame: [95, 100, 100, 100, 100, 45, 40, 40, 40, 12, 10],
        // },
        // multiplierWeight: [0, 0, 0, 0, 0, 0, 800, 610, 244, 98, 39, 16, 6, 3, 1],
      },
    ],

    // superScatterRate: [100, 1],
    // buyFeatureScatterCount: [60, 39, 1],
  },
};
