lib/bcdice/game_system/meikyu_kingdom/name_tables.rb
# frozen_string_literal: true
module BCDice
module GameSystem
class MeikyuKingdom
# 名前表
def mk_name_table
debug("mk_name_table begin")
output = "1"
# 名前表
name_n = @randomizer.roll_once(6)
debug("name_n", name_n)
d1 = @randomizer.roll_d66(D66SortType::ASC)
d2 = @randomizer.roll_d66(D66SortType::ASC)
debug("d1, d2", d1, d2)
debug("name_n", name_n)
if name_n <= 1
# 名前表A+二つ名表A
output = mk_nick_a_table(mk_name_a_table(d1), d2)
elsif name_n <= 2
# 名前表B+二つ名表A
output = mk_nick_a_table(mk_name_b_table(d1), d2)
elsif name_n <= 3
# 名前表エキゾチック+二つ名表A
output = mk_nick_a_table(mk_name_ex_table(d1), d2)
elsif name_n <= 4
# 名前表A+二つ名表B
output = mk_nick_b_table(mk_name_a_table(d1), d2)
elsif name_n <= 5
# 名前表B+二つ名表B
output = mk_nick_b_table(mk_name_b_table(d1), d2)
else
# 名前表ファンタジー+二つ名表B
output = mk_nick_b_table(mk_name_fa_table(d1), d2)
end
dice = "#{name_n},#{d1},#{d2}"
return output, dice
end
# 二つ名表A(D66)
def mk_nick_a_table(output, num)
table = [
[11, "“災い転じて福となす”"],
[12, "“七転び八起きの”"],
[13, "“冗談にも程がある”"],
[14, "“虎の尾を踏む”"],
[15, "“石橋を叩いて渡る”"],
[16, "“一を聴いて十を知る”"],
[22, "“喉から手が出る”"],
[23, "“据え膳食わぬは男の恥の”"],
[24, "“天につば吐く”"],
[25, "“風に柳の”"],
[26, "“目に入れても痛くない”"],
[33, "“とかく浮世は色と酒の”"],
[34, "“当たるも八卦、当たらぬも八卦の”"],
[35, "“泣く子も黙る”"],
[36, "“天上天下唯我独尊”"],
[44, "“虫も殺さぬ”"],
[45, "“花も恥じらう”"],
[46, "“触らぬ神に祟り無しの”"],
[55, "“両手に花の”"],
[56, "“(ゲーム会場の地名)でも一、二を争う”"],
]
if num < 66
output = get_table_by_number(num, table) + output
else
output = "#{output}#{@randomizer.roll_once(6)}世"
end
return output
end
# 二つ名表B(D66)
def mk_nick_b_table(output, 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) + output
end
# 名前表A(D66)
def mk_name_a_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
# 名前表B(D66)
def mk_name_b_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)
def mk_name_ex_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)
def mk_name_fa_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
end
end
end
# puts BCDice::GameSystem::MeikyuKingdom.new.methods.sort
# exit 1