# frozen_string_literal: true

module Engine
  module Game
    module G1861
      module Entities
        COMPANIES = [
          {
            name: 'rules until start of phase 3',
            sym: '3',
            value: 3,
            revenue: 0,
            desc: 'Hidden corporation',
            abilities: [{ type: 'blocks_hexes', hexes: %w[E3 H6 I5 I9 J10] }],
            color: nil,
          },
          {
            name: 'Tsarskoye Selo Railway',
            sym: 'TSR',
            value: 30,
            revenue: 10,
            discount: 10,
            desc: 'No special abilities.',
            color: nil,
          },
          {
            name: 'Black Sea Shipping Company',
            sym: 'BSS',
            value: 45,
            revenue: 15,
            discount: 15,
            desc: 'When owned by a corporation, they gain 10₽ extra revenue for '\
                  'each of their routes that include Odessa',
            abilities: [
              {
                type: 'hex_bonus',
                owner_type: 'corporation',
                hexes: ['D20'],
                amount: 10,
              },
            ],
            color: nil,
          },
          {
            name: 'Moscow - Yaroslavl Railway',
            sym: 'MYR',
            value: 60,
            revenue: 20,
            discount: 20,
            desc: 'When owned by a corporation, they gain 10₽ extra revenue for '\
                  'each of their routes that include Moscow',
            abilities: [
              {
                type: 'hex_bonus',
                owner_type: 'corporation',
                hexes: ['H8'],
                amount: 10,
              },
            ],
            color: nil,
          },
          {
            name: 'Moscow - Ryazan Railway',
            sym: 'MRR',
            value: 75,
            revenue: 25,
            discount: 25,
            desc: 'When owned by a corporation, they gain 10₽ extra revenue for '\
                  'each of their routes that include Moscow',
            abilities: [
              {
                type: 'hex_bonus',
                owner_type: 'corporation',
                hexes: ['H8'],
                amount: 10,
              },
            ],
            color: nil,
          },
          {
            name: 'Warsaw - Vienna Railway',
            sym: 'WVR',
            value: 90,
            revenue: 30,
            discount: 30,
            desc: 'When owned by a corporation, they gain 10₽ extra revenue for '\
                  'each of their routes that include Poland',
            abilities: [
              {
                type: 'hex_bonus',
                owner_type: 'corporation',
                hexes: %w[A9 A11 A13 A15],
                amount: 10,
              },
            ],
            color: nil,
          },
        ].freeze

        CORPORATIONS = [
          {
            sym: 'NW',
            name: 'North Western Railway',
            logo: '1861/NW',
            simple_logo: '1861/NW.alt',
            float_percent: 20,
            always_market_price: true,
            tokens: [0, 20, 40],
            type: 'major',
            color: '#000080',
            reservation_color: nil,
          },
          {
            sym: 'SW',
            name: 'Southwestern Railway',
            logo: '1861/SW',
            simple_logo: '1861/SW.alt',
            float_percent: 20,
            always_market_price: true,
            tokens: [0, 20, 40],
            type: 'major',
            color: '#d75500',
            reservation_color: nil,
          },
          {
            sym: 'SE',
            name: 'Southeastern Railway',
            logo: '1861/SE',
            simple_logo: '1861/SE.alt',
            float_percent: 20,
            always_market_price: true,
            tokens: [0, 20, 40],
            type: 'major',
            color: '#772282',
            reservation_color: nil,
          },
          {
            sym: 'MVR',
            name: 'Moscow, Vindava & Rybinsk Railway',
            logo: '1861/MVR',
            simple_logo: '1861/MVR.alt',
            float_percent: 20,
            always_market_price: true,
            tokens: [0, 20, 40],
            type: 'major',
            color: '#808000',
            reservation_color: nil,
          },
          {
            sym: 'MK',
            name: 'Moscow & Kazan Railway',
            logo: '1861/MK',
            simple_logo: '1861/MK.alt',
            float_percent: 20,
            always_market_price: true,
            tokens: [0, 20, 40],
            type: 'major',
            color: '#7b352a',
            reservation_color: nil,
          },
          {
            sym: 'GRR',
            name: 'Grand Russian Railway',
            logo: '1861/GRR',
            simple_logo: '1861/GRR.alt',
            float_percent: 20,
            always_market_price: true,
            tokens: [0, 20, 40],
            type: 'major',
            color: '#ef4223',
            reservation_color: nil,
          },
          {
            sym: 'MKN',
            name: 'Moscow, Kursk & Nizhnii Novgorod',
            logo: '1861/MKN',
            simple_logo: '1861/MKN.alt',
            float_percent: 20,
            always_market_price: true,
            tokens: [0, 20, 40],
            type: 'major',
            color: '#0189d1',
            reservation_color: nil,
          },
          {
            sym: 'MKV',
            name: 'Moscow, Kiev & Voronezh Railway',
            logo: '1861/MKV',
            simple_logo: '1861/MKV.alt',
            float_percent: 20,
            always_market_price: true,
            tokens: [0, 20, 40],
            type: 'major',
            color: '#3c7b5c',
            reservation_color: nil,
          },
          {
            sym: 'RO',
            name: 'Riga-Orel Railway',
            logo: '1861/RO',
            simple_logo: '1861/RO.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            type: 'minor',
            coordinates: 'B4',
            shares: [100],
            max_ownership_percent: 100,
            color: '#009595',
            reservation_color: nil,
          },
          {
            sym: 'KB',
            name: 'Kiev-Brest Railway',
            logo: '1861/KB',
            simple_logo: '1861/KB.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'D14',
            city: 1,
            color: '#4cb5d2',
            reservation_color: nil,
          },
          {
            sym: 'OK',
            name: 'Odessa-Kiev Railway',
            logo: '1861/OK',
            simple_logo: '1861/OK.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'D20',
            color: '#0097df',
            reservation_color: nil,
          },
          {
            sym: 'KK',
            name: 'Kiev-Kursk Railway',
            logo: '1861/KK',
            simple_logo: '1861/KK.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'D14',
            city: 2,
            color: '#0097df',
            reservation_color: nil,
          },
          {
            sym: 'SPW',
            name: 'St. Petersburg Warsaw',
            logo: '1861/SPW',
            simple_logo: '1861/SPW.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'E1',
            city: 0,
            color: '#0189d1',
            reservation_color: nil,
          },
          {
            sym: 'MB',
            name: 'Moscow-Brest Railway',
            logo: '1861/MB',
            simple_logo: '1861/MB.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'E9',
            color: '#000080',
            reservation_color: '#009a54ff',
          },
          {
            sym: 'KR',
            name: 'Kharkiv-Rostov Railway',
            logo: '1861/KR',
            simple_logo: '1861/KR.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'G15',
            color: '#772282',
            reservation_color: nil,
          },
          {
            sym: 'N',
            name: 'Nikolaev Railway',
            logo: '1861/N',
            simple_logo: '1861/N.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'H8',
            city: 1,
            color: '#d30869',
            reservation_color: nil,
          },
          {
            sym: 'Y',
            name: 'Yuzovka Railway',
            logo: '1861/Y',
            simple_logo: '1861/Y.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'H18',
            color: '#f3716d',
            reservation_color: '#009a54ff',
          },
          {
            sym: 'M-K',
            name: 'Moscow-Kursk Railway',
            logo: '1861/M-K',
            simple_logo: '1861/M-K.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'H8',
            city: 0,
            color: '#d75500',
            reservation_color: nil,
          },
          {
            sym: 'MNN',
            name: 'Moscow-Nizhnii Novgorod',
            logo: '1861/MNN',
            simple_logo: '1861/MNN.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'H8',
            city: 2,
            color: '#ef4223',
            reservation_color: nil,
          },
          {
            sym: 'MV',
            name: 'Moscow-Voronezh Railway',
            logo: '1861/MV',
            simple_logo: '1861/MV.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'I13',
            color: '#b7274c',
            reservation_color: nil,
          },
          {
            sym: 'V',
            name: 'Vladikavkaz Railway',
            logo: '1861/V',
            simple_logo: '1861/V.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'I19',
            color: '#7c7b8c',
            reservation_color: '#009a54ff',
          },
          {
            sym: 'TR',
            name: 'Tsaritsyn-Riga Railway',
            logo: '1861/TR',
            simple_logo: '1861/TR.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'K17',
            color: '#7c7b8c',
            reservation_color: '#009a54ff',
          },
          {
            sym: 'SV',
            name: 'Samara-Vyazma Railway',
            logo: '1861/SV',
            simple_logo: '1861/SV.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'N10',
            color: '#7c7b8c',
            reservation_color: '#009a54ff',
          },
          {
            sym: 'E',
            name: 'Ekaterinin Railway',
            logo: '1861/E',
            simple_logo: '1861/E.alt',
            float_percent: 100,
            always_market_price: true,
            tokens: [0],
            shares: [100],
            max_ownership_percent: 100,
            type: 'minor',
            coordinates: 'Q3',
            color: '#000080',
            reservation_color: '#009a54ff',
          },
          {
            sym: 'RSR',
            name: 'Russian State Railway',
            logo: '1861/RSR',
            simple_logo: '1861/RSR.alt',
            tokens: [0, 0, 0, 0, 0, 0, 0, 0],
            shares: [100],
            hide_shares: true,
            type: 'national',
            coordinates: 'E1',
            city: 1,
            color: '#fffdd0',
            text_color: 'black',
            reservation_color: nil,
          },
        ].freeze
      end
    end
  end
end
