# frozen_string_literal: true

module BCDice
  module GameSystem
    class MeikyuKingdomBasic
      # 王国名決定表１(D66)
      # override
      def mk_kingdom_name_1_table(num)
        table = [
          [11, "暗黒、クラヤミ、星灯り、カガヤキ、シャイニング、黄昏、暁"],
          [12, "王政、帝政、爆発、回転"],
          [13, "超、スーパー、秘密主義、高等、ハイ、どん底"],
          [14, "共和制、立憲、公立、私立"],
          [15, "古代、新、ネオ、笑う、歌う"],
          [16, "共産、社会主義、自由、自由主義、ぶらり、ここは"],
          [22, "専制、民主主義、踊る、眠れる"],
          [23, "第三、最終、特別、標準"],
          [24, "神聖、聖、セント、絶対主義、現代、未来"],
          [25, "正統、本格、裏、偽、リバース、怪奇、幻想"],
          [26, "本家、元祖、荒ぶる、分かる"],
          [33, "大、グレート、小、スモール、必殺、淡麗"],
          [34, "天階、上、上方、深階、下、下方、異世界、現代"],
          [35, "東、東方、西、西方、かわいい、世界の"],
          [36, "北、北方、南、南方、赤い、緑の"],
          [44, "中央、辺境、飛び出せ、戦え"],
          [45, "独立、統一、ちはやぶる、八雲立つ"],
          [46, "永世、臨時、ザ、ラ"],
          [55, "さよなら、おはよう、太平、汎"],
          [56, "好戦的、平和的、素晴らしき、衝撃の"],
          [66, "優しい、怖い、ぼくらの、みんなの"],
        ]
        return get_table_by_number(num, table)
      end

      # 王国名決定表２(D66)
      # override
      def mk_kingdom_name_2_table(num)
        table = [
          [11, "凸凹、仄仄、子ども、大人"],
          [12, "迷宮、ダンジョン、監獄、封印、墓場"],
          [13, "グランドゼロ、エレベータ、コンパス、行き止まり"],
          [14, "サイコロ、ダイス、ランダム、ファンブル、ピンゾロ、シャッフル"],
          [15, "災厄、征服、無敵、野蛮"],
          [16, "デーモン、魔神、エンジェル、天使、超人、哲人"],
          [22, "野球、サッカー、クリケット、バドミントン"],
          [23, "商、武、科学、クラフト"],
          [24, "ドラゴン、龍、ヴァンパイア、吸血鬼、ヒューマン、人間、フェアリー、妖精"],
          [25, "猫、狼、キリン、キンギョ"],
          [26, "バナナ、ボルシチ、スシ、チーズ"],
          [33, "ファンタジー、魔法、マジカル、冒険、英雄"],
          [34, "大砲、刀剣、装甲、鉄拳"],
          [35, "ひきこもり、乙女、3D、転生"],
          [36, "崖っぷち、片隅、路地裏、炎上"],
          [44, "電脳、浪漫、蒸気、退廃"],
          [45, "コンプライアンス、ダイバーシティ、アグリー、ウィンウィン"],
          [46, "ローマ、中華、エジプト、アステカ"],
          [55, "(単語表1で決定)、(単語表2で決定)、(単語表3で決定)、(単語表4で決定)"],
          [56, "(プレイ会場の地名)、(GMの出身地)、(この表を使用した者の住所)、(GMの苗字)"],
          [66, "(国王の名前。後で決定)、(国王のジョブ名。後で決定)、(ランダムな武具アイテム名)、(ランダムな日常アイテム名)"],
        ]
        return get_table_by_number(num, table)
      end

      # 王国名決定表３(D66)
      # override
      def mk_kingdom_name_3_table(num)
        table = [
          [11, "王国、キングダム、王朝"],
          [12, "会社、公社、本舗"],
          [13, "学園、学校、食堂"],
          [14, "汗国、国"],
          [15, "合衆国、政府"],
          [16, "共同体、共和国"],
          [22, "司教国、教皇領"],
          [23, "星、伯国"],
          [24, "公国、大公国"],
          [25, "市、シティ、ポリス、都、のみやこ"],
          [26, "自治国、騎士団領"],
          [33, "植民地、統一機構"],
          [34, "帝国、皇国"],
          [35, "同盟、機関"],
          [36, "首長国、土侯国"],
          [44, "幕府、藩王国"],
          [45, "領、クラブ"],
          [46, "村、町、街"],
          [55, "横丁、亭、社中"],
          [56, "ランド、戦線"],
          [66, "連邦、連合"],
        ]
        return get_table_by_number(num, table)
      end

      # 王国環境表(1D6)
      def mk_kingdom_environment_table(num)
        d1 = @randomizer.roll_once(6)
        functionTable = [
          [1, lambda { mk_technic_decide_table(d1) }],
          [2, lambda { mk_national_style_decide_table(d1) }],
          [3, lambda { mk_resource_decide_table(d1) }],
          [4, lambda { mk_facility_decide_table(d1) }],
          [5, lambda { mk_human_resources_decide_table(d1) }],
          [6, lambda { mk_blood_decide_table(d1) }],
        ]
        return get_table_by_number(num, functionTable)
      end

      # 技術決定表（1d6）
      def mk_technic_decide_table(num)
        table = [
          [1, "あなたの国は、魔法の研究、開発に力をそそぐ魔道国家である。その国のキャラクターは、星術、召喚、科学スキルの判定を行うとき、その達成値が1点上昇する（最大3点まで上昇する。4回目以降は振り直すこと）。"],
          [2, "あなたの国は、神話的遺物の逸話が残っている。レア一般アイテムの中からランダムに1種を選ぶ。そのレアアイテムのレシピを持っている。【王宮】のある部屋に、そのレア一般アイテムの名前を記入すること。"],
          [3, "あなたの国は、英雄が用いた武具の伝説が残っている。レア武具アイテムの中からランダムに1種を選ぶ。そのレアアイテムのレシピを持っている。【王宮】のある部屋に、そのレア武具アイテムの名前を記入すること。"],
          [4, "あなたの国は、有名な職人たちが揃う工業国家である。コモンアイテムを作成するとき、それらのアイテムを作成するための必要国力が1点高いものとして扱う。"],
          [5, "あなたの国は、質実剛健な兵士たちが揃っている。その国のキャラクターは、《配下》最大値が1人上昇する（最大2人まで上昇する。3回目以降は振り直すこと）。"],
          [6, "あなたの国は、過去に列強に臣従し、いまでも友好的な関係を築いている。（1D6）を振ること。1ならダイナマイト帝国、2なら千年王朝、3ならメトロ汗国、4ならハグルマ資本主義神聖共和国との関係が「友好」になる。5や6なら振り直すこと。また、その列強の列強系施設1軒を獲得する。"],
        ]
        return get_table_by_number(num, table)
      end

      # 国風決定表（1d6）
      def mk_national_style_decide_table(num)
        table = [
          [1, "あなたの国は、古くからあり、伝統を重んじる気風を持つ。宮廷系施設を建設・発展するための価格が1MG軽減される（最大2MGまで軽減される。3回目以降は振り直すこと）。"],
          [2, "あなたの国は、広い国土と高い天井に恵まれている。居住系施設を建設するための価格が1MG軽減される（最大2MGまで軽減される。3回目以降は振り直すこと）。"],
          [3, "あなたの国は、夏星が豊富で、作物がたくさん収穫できる。生産系施設を建設・発展するための価格が1MG軽減される。（最大2MGまで軽減される。3回目以降は振り直すこと）。"],
          [4, "あなたの国は、しっかりとした規律と礼節があり、それを守る風潮がある。公共系施設を建設・発展するための価格が1MG軽減される（最大2MGまで軽減される。3回目以降は振り直すこと）。"],
          [5, "あなたの国は、芸術を奨励し、文化的な国民性を誇る。娯楽系施設を建設・発展するための価格が1MG軽減される（最大2MGまで軽減される。3回目以降は振り直すこと）。"],
          [6, "あなたの国は、物を大切にし、質素な生活を心がける気風を持つ。保管系施設を建設・発展するための価格が1MG軽減される（最大2MGまで軽減される。3回目以降は振り直すこと）。"],
        ]
        return get_table_by_number(num, table)
      end

      # 資源決定表（1d6）
      def mk_resource_decide_table(num)
        table = [
          [1, "あなたの国は、過去に善政がしかれ、非常に安定している。セッション開始時の《民の声》の値が1点上昇する（最大3点まで上昇する。4回目以降は振り直すこと）。"],
          [2, "あなたの国は、天然の要害に囲まれており、外敵に襲われにくい。《民》が（2D6）人増加する。"],
          [3, "あなたの国には、名工がつくった武器がある。ランダムに選んだ武具アイテム1個を獲得する。その武具アイテムはレベル1として扱う。"],
          [4, "あなたの国には、先頃友誼を誓い合った同盟国がある。王国シートの周辺階域から、ランダムに未知の土地1つを選ぶ。その土地に、王国を1つ設定すること。この国は【特産物】を持つ。「相場表」を使って、【特産物】の素材をランダムに決定すること。この国との関係は「同盟」となる。"],
          [5, "あなたの国で先頃、前王の隠し財産が発見された。《予算》を（1D6） MG獲得する。"],
          [6, "あなたの国には、隠し扉があった。「自国の地理」を決定したあと、追加で通路を2本引くことができる。通路でつながっている部屋は領土として扱う。"],
        ]
        return get_table_by_number(num, table)
      end

      # 施設決定表（1d6）
      def mk_facility_decide_table(num)
        table = [
          [1, "あなたの国は、その地方を代々統治する伝統ある王国だ。宮廷系施設の中からランダムに1種を選ぶ。自国にその施設を1件建設する。"],
          [2, "あなたの国は、交易路の周囲にあり、多くの人々が流入する。居住系施設の中からランダムに1種を選ぶ。自国にその施設を1件建設する。"],
          [3, "あなたの国は、職人気質のものが多く、物作りがさかんだ。生産系施設の中からランダムに1種を選ぶ。自国にその施設を1件建設する。"],
          [4, "あなたの国は民を第一に考え、福祉に力を入れている。公共系施設の中からランダムに1種を選ぶ。自国にその施設を1件建設する。"],
          [5, "あなたの国は、歓楽国家として知られ、他国からの客もよく出入りしている。娯楽系施設の中からランダムに1種を選ぶ。自国にその施設を1件建設する。"],
          [6, "あなたの国は、辺境に位置する王国だ。周辺には怪物も少ない。保管系施設の中からランダムに1種を選ぶ。自国にその施設を1件建設する。"],
        ]
        return get_table_by_number(num, table)
      end

      # 人材決定表（1d6）
      def mk_human_resources_decide_table(num)
        table = [
          [1, "あなたの国には、高い見識を持つ知識人がいる。「才覚系生まれ表」でランダムにジョブ1種を選ぶ。そのジョブの逸材を1人獲得する。逸材の名前を決定すること。"],
          [2, "あなたの国には、皆を魅了する好人物がいる。「魅了系生まれ表」でランダムにジョブ1種を選ぶ。そのジョブの逸材を1人獲得する。逸材の名前を決定すること。"],
          [3, "あなたの国には、巧みな技術を持つ専門家がいる。「探索系生まれ表」でランダムにジョブ1種を選ぶ。そのジョブの逸材を1人獲得する。逸材の名前を決定すること。"],
          [4, "あなたの国には、見事な腕前の戦士がいる。「武勇系生まれ表」でランダムにジョブ1種を選ぶ。そのジョブの逸材を1人獲得する。逸材の名前を決定すること。"],
          [5, "あなたの国は、怪物と共存している？ （1D6）を振ること。1なら【小鬼】、2なら【ウマトカゲ】、3なら【ドワーフ】、4なら【エルフ】、5なら【キンギョ】、6なら【ごんぎつね】の《モンスターの民》を（1D6）人獲得する。"],
          [6, "あなたの国は、ここしばらく怪物や敵国の襲撃もなく、平和な日々が続いていた。《民》が（2D6）人増加する。"],
        ]
        return get_table_by_number(num, table)
      end

      # 血族決定表（1d6）
      def mk_blood_decide_table(num)
        table = [
          [1, "あなたの国は、鬼族の蹂躙を受けた歴史を持ち、混血が進んでいる。その国のキャラクターは新たにスキルを修得するとき、鬼族カテゴリの自分のレベル以下のモンスターが修得しているモンスタースキルの中から、修得するスキルを選ぶことができるようになる。"],
          [2, "あなたの国は、古代に迷宮から姿を消した妖精女王の末裔といわれている。その国のキャラクターは新たにスキルを修得するとき、妖精カテゴリの自分のレベル以下のモンスターが修得しているモンスタースキルの中から、修得するスキルを選ぶことができるようになる。"],
          [3, "あなたの国は、偉大なる古龍が迷宮と化した場所であり、その尊い血を引いているといわれる。その国のキャラクターは新たにスキルを修得するとき、魔獣カテゴリの自分のレベル以下のモンスターが修得しているモンスタースキルの中から、修得するスキルを選ぶことができるようになる。"],
          [4, "あなたの国は、魔階からやってきた魔王の子供たちといわれている。その国のキャラクターは新たにスキルを修得するとき、異形カテゴリの自分のレベル以下のモンスターが修得しているモンスタースキルの中から、修得するスキルを選ぶことができるようになる。"],
          [5, "あなたの国は、死霊術師によって死者の王国に変えられた悲劇的な過去を持つ。その国のキャラクターは新たにスキルを修得するとき、死霊カテゴリの自分のレベル以下のモンスターが修得しているモンスタースキルの中から、修得するスキルを選ぶことができるようになる。"],
          [6, "あなたの国は、古代の錬金術師たちによって造られた人造生命が多数使役されている。その国のキャラクターは新たにスキルを修得するとき、呪物カテゴリの自分のレベル以下のモンスターが修得しているモンスタースキルの中から、修得するスキルを選ぶことができるようになる。"],
        ]
        return get_table_by_number(num, table)
      end
    end
  end
end
