From 5c49979302dca88263cfc67096e4753952570411 Mon Sep 17 00:00:00 2001 From: SAKATA Sinji Date: Fri, 28 Oct 2022 09:18:45 +0900 Subject: [PATCH] =?UTF-8?q?=E4=BF=A1=E9=95=B7=E3=81=AE=E9=BB=92=E3=81=84?= =?UTF-8?q?=E5=9F=8E=20=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Faceless さんからの寄稿 --- lib/bcdice/game_system.rb | 1 + .../game_system/NobunagasBlackCastle.rb | 243 +++++++ test/data/NobunagasBlackCastle.toml | 601 ++++++++++++++++++ 3 files changed, 845 insertions(+) create mode 100644 lib/bcdice/game_system/NobunagasBlackCastle.rb create mode 100644 test/data/NobunagasBlackCastle.toml diff --git a/lib/bcdice/game_system.rb b/lib/bcdice/game_system.rb index cc0d1fcd0..7a068741c 100644 --- a/lib/bcdice/game_system.rb +++ b/lib/bcdice/game_system.rb @@ -144,6 +144,7 @@ require "bcdice/game_system/NightmareHunterDeep" require "bcdice/game_system/NinjaSlayer" require "bcdice/game_system/NjslyrBattle" +require "bcdice/game_system/NobunagasBlackCastle" require "bcdice/game_system/NSSQ" require "bcdice/game_system/Nuekagami" require "bcdice/game_system/OneWayHeroics" diff --git a/lib/bcdice/game_system/NobunagasBlackCastle.rb b/lib/bcdice/game_system/NobunagasBlackCastle.rb new file mode 100644 index 000000000..7cd9ae73c --- /dev/null +++ b/lib/bcdice/game_system/NobunagasBlackCastle.rb @@ -0,0 +1,243 @@ +# frozen_string_literal: true + +require 'bcdice/dice_table/table' + +module BCDice + module GameSystem + class NobunagasBlackCastle < Base + # ゲームシステムの識別子 + ID = 'NobunagasBlackCastle' + + # ゲームシステム名 + NAME = '信長の黒い城' + + # ゲームシステム名の読みがな + SORT_KEY = 'のふなかのくろいしろ' + + # ダイスボットの使い方 + HELP_MESSAGE = <<~INFO_MESSAGETEXT + ■判定 sDRt s: 能力値 t:目標値 + + 例)+3DR12: 能力値+3、DR12で1d20を振って、その結果を表示(クリティカル・ファンブルも表示) + + ■イニシアティヴ INS + + 例)INS: 1d6を振って、イニシアティヴの結果を表示(PC先行を成功として表示) + + ■NPC能力値作成 NPCST + + 例)NPCST: 3d6を4回振って、各能力値とHPを表示 + + + ■各種表 + + ・遭遇反応表(ERT) + ・武器表(SWT)/その他の奇妙な武器表(OSWT) + ・鎧表(ART) + + INFO_MESSAGETEXT + + # コマンドを追加するときは、ここにコマンドを登録すること + register_prefix('[+-]?\d*DR[\d]+', 'INS', 'NPCST', 'O?SWT', 'ERT', 'ART') + + def initialize(command) + super(command) + + @sort_add_dice = true + @d66_sort_type = D66SortType::NO_SORT + end + + def eval_game_system_specific_command(command) + resolute_action(command) || resolute_initiative(command) || roll_tables(command, TABLES) || make_npc_status(command) + end + + private + + def result_DR(total, dice_total, target) + if dice_total <= 1 + Result.fumble("ファンブル") + elsif dice_total >= 20 + Result.critical("クリティカル") + elsif total >= target + Result.success("成功") + else + Result.failure("失敗") + end + end + + # DR判定 + # @param [String] command + # @return [Result] + def resolute_action(command) + m = /([+-]?\d*)DR(\d+)/.match(command) + return nil unless m + + num_status = m[1].to_i + num_target = m[2].to_i + + total = @randomizer.roll_once(20) + total_status = total.to_s + with_symbol(num_status) + result = result_DR(total + num_status, total, num_target) + + sequence = [ + "(#{command})", + total_status, + total + num_status, + result&.text, + ].compact + + result.text = sequence.join(" > ") + return result + end + + def with_symbol(number) + if number == 0 + return "+0" + elsif number > 0 + return "+#{number}" + else + return number.to_s + end + end + + # イニシアティヴ判定 + # @param [String] command + # @return [Result] + def resolute_initiative(command) + m = /INS/.match(command) + return nil unless m + + total = @randomizer.roll_once(6) + result = + if total >= 4 + Result.success("PC先行") + else + Result.failure("敵先行") + end + sequence = [ + "(#{command})", + total, + result&.text, + ].compact + + result.text = sequence.join(" > ") + return result + end + + # NPC能力値作成 + # @param [String] command + # @return [String] + def make_npc_status(command) + m = /NPCST/.match(command) + return nil unless m + + pre = @randomizer.roll_barabara(3, 6).sum() + agi = @randomizer.roll_barabara(3, 6).sum() + str = @randomizer.roll_barabara(3, 6).sum() + tgh = @randomizer.roll_barabara(3, 6).sum() + hpd = @randomizer.roll_once(8).to_i + hp = hpd + calc_status(tgh) + hp = 1 if hp < 1 + + text = "心" + with_symbol(calc_status(pre)) + "(#{pre})" + text += ", 技" + with_symbol(calc_status(agi)) + "(#{agi})" + text += ", 体" + with_symbol(calc_status(str)) + "(#{str})" + text += ", 耐久" + with_symbol(calc_status(tgh)) + "(#{tgh})" + text += ", HP" + hp.to_s + "(#{hpd})" + + sequence = [ + "(#{command})", + text, + ].compact + sequence.join(" > ") + end + + def calc_status(st) + if st <= 4 + return -3 + elsif st <= 6 + return -2 + elsif st <= 8 + return -1 + elsif st <= 12 + return 0 + elsif st <= 14 + return 1 + elsif st <= 16 + return 2 + elsif st <= 20 + return 3 + end + end + + # 各種表 + + TABLES = { + 'OSWT' => DiceTable::Table.new( + 'その他の奇妙な武器表', + '1D10', + [ + '六尺棒(D4)', + '手槍(D4)', + '弓矢(D6)', + '鉄扇(D4)', + '大鉞(D8)', + '吹き矢(D2)+感染', + '鞭(D3)', + '熊手(D4)', + '石つぶて(D3)', + '丸太(D4)', + ] + ), + 'SWT' => DiceTable::Table.new( + '武器表', + '1D12', + [ + '尖らせた骨の杭(D3)', + '竹槍(D4)', + '百姓から奪った鍬(D4)', + '脇差し(D4)', + '手裏剣 D6本(D4)', + '刀(D6)', + '鎖鎌(D6)', + '太刀(D8)', + '種子島銃(2D6) 弾丸(心+5)発', + '大槍(D8)', + '爆裂弾(D4) 心+3発', + '斬馬刀(D10)', + ] + ), + 'ART' => DiceTable::Table.new( + '鎧表', + '1D6', + [ + '防具は、何もない', + '防具は、何もない', + '部分鎧(腹巻き) -D2ダメージ', + 'お貸し具足 -D3ダメージ', + '武者鎧 -D4ダメージ', + '大鎧 -D6ダメージ', + ] + ), + # 無理に高度なことをしなくても、表は展開して実装しても動く + 'ERT' => DiceTable::Table.new( + '遭遇反応表', + '2D6', + [ + 'お前ら、殺す!', + 'お前ら、殺す!', + '憎悪の視線で睨んでくる。すきを見せれば、攻撃してくる。', + '憎悪の視線で睨んでくる。すきを見せれば、攻撃してくる。', + '憎悪の視線で睨んでくる。すきを見せれば、攻撃してくる。', + '警戒はしているが、特に、戦闘は望んでいない。怒らせなければ、自分たちの目的に沿って動く。', + '警戒はしているが、特に、戦闘は望んでいない。怒らせなければ、自分たちの目的に沿って動く。', + '中立。何かを与えたり、取引の材料を提示したりできれば、交渉できそうだ。', + '中立。何かを与えたり、取引の材料を提示したりできれば、交渉できそうだ。', + '好意的に会話できそうだ。向こうも取引したがっている。', + '好意的に会話できそうだ。向こうも取引したがっている。', + ] + ), + }.freeze + end + end +end diff --git a/test/data/NobunagasBlackCastle.toml b/test/data/NobunagasBlackCastle.toml new file mode 100644 index 000000000..9cfcba610 --- /dev/null +++ b/test/data/NobunagasBlackCastle.toml @@ -0,0 +1,601 @@ +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "0DR12 DRロール 成功失敗の確認" +output = "(0DR12) > 12+0 > 12 > 成功" +success = true +rands = [ + { sides = 20, value = 12 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "0DR12" +output = "(0DR12) > 11+0 > 11 > 失敗" +failure = true +rands = [ + { sides = 20, value = 11 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "0DR12" +output = "(0DR12) > 20+0 > 20 > クリティカル" +success = true +critical = true +rands = [ + { sides = 20, value = 20 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "0DR12" +output = "(0DR12) > 1+0 > 1 > ファンブル" +failure = true +fumble = true +rands = [ + { sides = 20, value = 1 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "-3DR12 DRロール 能力値加算の確認" +output = "(-3DR12) > 14-3 > 11 > 失敗" +failure = true +rands = [ + { sides = 20, value = 14 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "-2DR12" +output = "(-2DR12) > 14-2 > 12 > 成功" +success = true +rands = [ + { sides = 20, value = 14 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "-1DR12" +output = "(-1DR12) > 14-1 > 13 > 成功" +success = true +rands = [ + { sides = 20, value = 14 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "0DR12" +output = "(0DR12) > 14+0 > 14 > 成功" +success = true +rands = [ + { sides = 20, value = 14 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "1DR12" +output = "(1DR12) > 14+1 > 15 > 成功" +success = true +rands = [ + { sides = 20, value = 14 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "2DR12" +output = "(2DR12) > 14+2 > 16 > 成功" +success = true +rands = [ + { sides = 20, value = 14 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "+3DR12" +output = "(+3DR12) > 14+3 > 17 > 成功" +success = true +rands = [ + { sides = 20, value = 14 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "DR12 能力値0の時の省略が有効か?" +output = "(DR12) > 14+0 > 14 > 成功" +success = true +rands = [ + { sides = 20, value = 14 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "3DR12 DRロール クリティカル・ファンブルが出目だけに影響を受けているか確認" +output = "(3DR12) > 17+3 > 20 > 成功" +success = true +rands = [ + { sides = 20, value = 17 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "-2DR12" +output = "(-2DR12) > 3-2 > 1 > 失敗" +failure = true +rands = [ + { sides = 20, value = 3 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "INS イニシアティヴ 敵・PC先行の確認" +output = "(INS) > 1 > 敵先行" +failure = true +rands = [ + { sides = 6, value = 1 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "INS" +output = "(INS) > 3 > 敵先行" +failure = true +rands = [ + { sides = 6, value = 3 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "INS" +output = "(INS) > 4 > PC先行" +success = true +rands = [ + { sides = 6, value = 4 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "INS" +output = "(INS) > 6 > PC先行" +success = true +rands = [ + { sides = 6, value = 6 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "SWT 武器表" +output = "武器表(1) > 尖らせた骨の杭(D3)" +rands = [ + { sides = 12, value = 1 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "SWT 武器表" +output = "武器表(2) > 竹槍(D4)" +rands = [ + { sides = 12, value = 2 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "SWT 武器表" +output = "武器表(3) > 百姓から奪った鍬(D4)" +rands = [ + { sides = 12, value = 3 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "SWT 武器表" +output = "武器表(4) > 脇差し(D4)" +rands = [ + { sides = 12, value = 4 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "SWT 武器表" +output = "武器表(5) > 手裏剣 D6本(D4)" +rands = [ + { sides = 12, value = 5 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "SWT 武器表" +output = "武器表(6) > 刀(D6)" +rands = [ + { sides = 12, value = 6 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "SWT 武器表" +output = "武器表(7) > 鎖鎌(D6)" +rands = [ + { sides = 12, value = 7 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "SWT 武器表" +output = "武器表(8) > 太刀(D8)" +rands = [ + { sides = 12, value = 8 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "SWT 武器表" +output = "武器表(9) > 種子島銃(2D6) 弾丸(心+5)発" +rands = [ + { sides = 12, value = 9 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "SWT 武器表" +output = "武器表(10) > 大槍(D8)" +rands = [ + { sides = 12, value = 10 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "SWT 武器表" +output = "武器表(11) > 爆裂弾(D4) 心+3発" +rands = [ + { sides = 12, value = 11 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "SWT 武器表" +output = "武器表(12) > 斬馬刀(D10)" +rands = [ + { sides = 12, value = 12 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "OSWT その他の奇妙な武器表" +output = "その他の奇妙な武器表(1) > 六尺棒(D4)" +rands = [ + { sides = 10, value = 1 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "OSWT その他の奇妙な武器表" +output = "その他の奇妙な武器表(2) > 手槍(D4)" +rands = [ + { sides = 10, value = 2 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "OSWT その他の奇妙な武器表" +output = "その他の奇妙な武器表(3) > 弓矢(D6)" +rands = [ + { sides = 10, value = 3 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "OSWT その他の奇妙な武器表" +output = "その他の奇妙な武器表(4) > 鉄扇(D4)" +rands = [ + { sides = 10, value = 4 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "OSWT その他の奇妙な武器表" +output = "その他の奇妙な武器表(5) > 大鉞(D8)" +rands = [ + { sides = 10, value = 5 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "OSWT その他の奇妙な武器表" +output = "その他の奇妙な武器表(6) > 吹き矢(D2)+感染" +rands = [ + { sides = 10, value = 6 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "OSWT その他の奇妙な武器表" +output = "その他の奇妙な武器表(7) > 鞭(D3)" +rands = [ + { sides = 10, value = 7 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "OSWT その他の奇妙な武器表" +output = "その他の奇妙な武器表(8) > 熊手(D4)" +rands = [ + { sides = 10, value = 8 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "OSWT その他の奇妙な武器表" +output = "その他の奇妙な武器表(9) > 石つぶて(D3)" +rands = [ + { sides = 10, value = 9 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "OSWT その他の奇妙な武器表" +output = "その他の奇妙な武器表(10) > 丸太(D4)" +rands = [ + { sides = 10, value = 10 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ART 鎧表" +output = "鎧表(1) > 防具は、何もない" +rands = [ + { sides = 6, value = 1 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ART 鎧表" +output = "鎧表(2) > 防具は、何もない" +rands = [ + { sides = 6, value = 2 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ART 鎧表" +output = "鎧表(3) > 部分鎧(腹巻き) -D2ダメージ" +rands = [ + { sides = 6, value = 3 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ART 鎧表" +output = "鎧表(4) > お貸し具足 -D3ダメージ" +rands = [ + { sides = 6, value = 4 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ART 鎧表" +output = "鎧表(5) > 武者鎧 -D4ダメージ" +rands = [ + { sides = 6, value = 5 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ART 鎧表" +output = "鎧表(6) > 大鎧 -D6ダメージ" +rands = [ + { sides = 6, value = 6 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ERT 遭遇反応表" +output = "遭遇反応表(2) > お前ら、殺す!" +rands = [ + { sides = 6, value = 1 }, + { sides = 6, value = 1 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ERT 遭遇反応表" +output = "遭遇反応表(3) > お前ら、殺す!" +rands = [ + { sides = 6, value = 1 }, + { sides = 6, value = 2 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ERT 遭遇反応表" +output = "遭遇反応表(4) > 憎悪の視線で睨んでくる。すきを見せれば、攻撃してくる。" +rands = [ + { sides = 6, value = 1 }, + { sides = 6, value = 3 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ERT 遭遇反応表" +output = "遭遇反応表(5) > 憎悪の視線で睨んでくる。すきを見せれば、攻撃してくる。" +rands = [ + { sides = 6, value = 1 }, + { sides = 6, value = 4 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ERT 遭遇反応表" +output = "遭遇反応表(6) > 憎悪の視線で睨んでくる。すきを見せれば、攻撃してくる。" +rands = [ + { sides = 6, value = 1 }, + { sides = 6, value = 5 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ERT 遭遇反応表" +output = "遭遇反応表(7) > 警戒はしているが、特に、戦闘は望んでいない。怒らせなければ、自分たちの目的に沿って動く。" +rands = [ + { sides = 6, value = 1 }, + { sides = 6, value = 6 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ERT 遭遇反応表" +output = "遭遇反応表(8) > 警戒はしているが、特に、戦闘は望んでいない。怒らせなければ、自分たちの目的に沿って動く。" +rands = [ + { sides = 6, value = 2 }, + { sides = 6, value = 6 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ERT 遭遇反応表" +output = "遭遇反応表(9) > 中立。何かを与えたり、取引の材料を提示したりできれば、交渉できそうだ。" +rands = [ + { sides = 6, value = 3 }, + { sides = 6, value = 6 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ERT 遭遇反応表" +output = "遭遇反応表(10) > 中立。何かを与えたり、取引の材料を提示したりできれば、交渉できそうだ。" +rands = [ + { sides = 6, value = 4 }, + { sides = 6, value = 6 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ERT 遭遇反応表" +output = "遭遇反応表(11) > 好意的に会話できそうだ。向こうも取引したがっている。" +rands = [ + { sides = 6, value = 5 }, + { sides = 6, value = 6 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "ERT 遭遇反応表" +output = "遭遇反応表(12) > 好意的に会話できそうだ。向こうも取引したがっている。" +rands = [ + { sides = 6, value = 6 }, + { sides = 6, value = 6 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "NPCST NPC能力値作成の境界値確認" +output = "(NPCST) > 心-3(3), 技-3(4), 体-2(5), 耐久-2(6), HP6(8)" +rands = [ + { sides = 6, value = 1 }, + { sides = 6, value = 1 }, + { sides = 6, value = 1 }, + + { sides = 6, value = 1 }, + { sides = 6, value = 1 }, + { sides = 6, value = 2 }, + + { sides = 6, value = 3 }, + { sides = 6, value = 1 }, + { sides = 6, value = 1 }, + + { sides = 6, value = 4 }, + { sides = 6, value = 1 }, + { sides = 6, value = 1 }, + + { sides = 8, value = 8 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "NPCST NPC能力値作成" +output = "(NPCST) > 心-1(7), 技-1(8), 体+0(9), 耐久+0(12), HP6(6)" +rands = [ + { sides = 6, value = 5 }, + { sides = 6, value = 1 }, + { sides = 6, value = 1 }, + + { sides = 6, value = 1 }, + { sides = 6, value = 1 }, + { sides = 6, value = 6 }, + + { sides = 6, value = 6 }, + { sides = 6, value = 2 }, + { sides = 6, value = 1 }, + + { sides = 6, value = 6 }, + { sides = 6, value = 5 }, + { sides = 6, value = 1 }, + + { sides = 8, value = 6 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "NPCST NPC能力値作成" +output = "(NPCST) > 心+1(13), 技+1(14), 体+2(15), 耐久+2(16), HP8(6)" +rands = [ + { sides = 6, value = 5 }, + { sides = 6, value = 5 }, + { sides = 6, value = 3 }, + + { sides = 6, value = 5 }, + { sides = 6, value = 3 }, + { sides = 6, value = 6 }, + + { sides = 6, value = 6 }, + { sides = 6, value = 6 }, + { sides = 6, value = 3 }, + + { sides = 6, value = 6 }, + { sides = 6, value = 6 }, + { sides = 6, value = 4 }, + + { sides = 8, value = 6 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "NPCST NPC能力値作成" +output = "(NPCST) > 心+3(17), 技+3(18), 体+3(18), 耐久-3(3), HP1(1)" +rands = [ + { sides = 6, value = 5 }, + { sides = 6, value = 6 }, + { sides = 6, value = 6 }, + + { sides = 6, value = 6 }, + { sides = 6, value = 6 }, + { sides = 6, value = 6 }, + + { sides = 6, value = 6 }, + { sides = 6, value = 6 }, + { sides = 6, value = 6 }, + + { sides = 6, value = 1 }, + { sides = 6, value = 1 }, + { sides = 6, value = 1 }, + + { sides = 8, value = 1 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "D66 ソートされていないかの確認" +output = "(D66) > 63" +rands = [ + { sides = 6, value = 6 }, + { sides = 6, value = 3 }, +] + +[[ test ]] +game_system = "NobunagasBlackCastle" +input = "D66 ソートされていないかの確認" +output = "(D66) > 13" +rands = [ + { sides = 6, value = 1 }, + { sides = 6, value = 3 }, +] +