Class: BCDice::GameSystem::NinjaSlayer2
- Defined in:
- lib/bcdice/game_system/NinjaSlayer2.rb
Direct Known Subclasses
Constant Summary collapse
- ID =
ゲームシステムの識別子
"NinjaSlayer2"- NAME =
ゲームシステム名
"ニンジャスレイヤーTRPG 2版"- SORT_KEY =
ゲームシステム名の読みがな
"にんしやすれいやあTRPG2"- HELP_MESSAGE =
<<~TEXT --- 成功判定コマンド --- 通常のダイスの「{ダイス個数}B6>={難易度ごとの目標出目}」を実行するための簡易入力コマンドです。 - K{x} 難易度K([K]ids/目標値=2)の成功判定をダイス{x}個で実行します。 先頭の文字を変えることで、難易度E([E]asy/目標値=3),N([N]ormal/目標値=4),H([H]ard/目標値=5),U([U]ltra-hard/目標値=6)もしくはUH([U]ltra-[H]ard/目標値=6)でも実行可能です。 - K{x1},N{x2},...,U{xn} K{x}の複数ロール版。 カンマ(,)で区切って複数回入力すると、区切られたセットごとに成功判定を行います。 2回目以降は難易度指定を省略可能で、省略した場合はひとつ前の難易度を引き継いで判定を行います。 以下のコマンドについても同様の書式で複数ロールしての同時判定が可能です。 --- 追加判定コマンド --- 以下のコマンド群は、成功判定コマンドの後ろに付けて実行してください。 - [>={y}] - [>{y}] - [<={y}] - [<{y}] - [={y}] - [!={y}] 成功判定コマンドでカンマ区切りで指定した各ロール結果に対して、[]内で指定された条件で追加判定を行います。 それぞれ、{y}以上(>=)、{y}より大きい(>)、{y}以下(<=)、{y}未満(<)、{y}のみ(=)、{y}以外(!=)を判定し、 ロール結果の中で条件を満たしたダイスの個数を「追加判定」というテキストと共に出力します。 [=5][=6]のように複数記述することで、ひとつのロールに対して複数パターンでの追加判定が可能です。 ※ 条件は一括でしか指定できないため、ロールごとに異なる条件を指定したい場合はコマンドを分けてください。以下も同様です。。 - [>={y1}{y2}...{yn}+] 成功判定コマンドでカンマ区切りで指定した各ロール結果に対して、[>={y1}]~[>={yn}]の各条件で追加判定を行います。 出目の中に条件を満たしたダイスが**全て**含まれていた場合、「追加判定成功!」というテキストを出力します。 例えば[>=665+]とした場合、出目の中に6以上のダイスが2つと5以上のダイスが1つ含まれていれば成功扱いになります。 - [S{y}] 成功判定コマンドでカンマ区切りで指定した各ロール結果に対して、[>={y}]と同等の追加判定を行います。 条件を満たしたダイスの個数を「サツバツ判定」というテキストと共に出力します。 ※ {y}は省略可能、省略した場合は固定値6で処理します。 - [S{y1}{y2}...{yn}+] - [S{y1}{y2}...{yn}/{z1}{z2}...{zn}+] 成功判定コマンドでカンマ区切りで指定した各ロール結果に対して、[>={y1}{y2}...{yn}+]と[>={z1}{z2}...{zn}+]と同等の追加判定を行います。 {z1}~{zn}で条件を満たした場合、「ナムアミダブツ!」というテキストを出力します。 {z1}~{zn}の条件を満たせず、{y1}~{yn}で条件を満たした場合、「サツバツ!」というテキストを出力します。 ※ {z1}~{zn}を省略した場合は、「サツバツ!」の判定のみを行ないます。 - [C{y}] 成功判定コマンドでカンマ区切りで指定した各ロール結果に対して、[>={y}]と同等の追加判定を行います。 条件を満たしたダイスの個数を「クリティカル判定」というテキストと共に出力します。 ※ {y}は省略可能、省略した場合は固定値6で処理します。 - [C{y1}{y2}...{yx}+] 成功判定コマンドでカンマ区切りで指定した各ロール結果に対して、[>={y1}{y2}...{yn}+]と同等の追加判定を行います。 条件を条件を満たした場合、「クリティカル!」というテキストを出力します。 --- 定型文コマンド --- 以下のコマンド群はそれぞれ単体で使用してください。 - SB or SB@{x} {x}(1-6/省略時はd6)に対応したサツバツ([S]atz-[B]atz)・クリティカル表の内容を返します。 - WS{x} {x}(1-12/省略不可)に対応する[W]as[s]hoi!判定(2d6<={x})を行います - WSE or WSE@{x} {x}(1-6/省略時はd6)に対応する死神のエントリー決定表([W]as[s]hoi! [E]ntry)の内容を返します。 - NRS_E{x} or NRS_E{x}@{y} or NRS@{y} ダイス{x}個で難易度[E]asy(>=3)のNRS判定({x}省略時はスキップ)を行い、失敗した場合は{y}(1~7/省略時は難易度に応じたダイス目)に対応するNRS発狂表を返します。 「_E」部分を変更することで、難易度N,H,U,UHでも利用可能です。(Kはありません) TEXT
Instance Attribute Summary
Attributes inherited from Base
#d66_sort_type, #default_cmp_op, #default_target_number, #randomizer, #reroll_dice_reroll_threshold, #round_type, #sides_implicit_d, #upper_dice_reroll_threshold
Instance Method Summary collapse
-
#eval_game_system_specific_command(command) ⇒ String?
Base::eval_game_system_specific_commandの実装.
Methods inherited from Base
#change_text, #check_result, command_pattern, #enable_debug, #enabled_d9?, eval, #eval, #grich_text, #initialize, prefixes_pattern, register_prefix, register_prefix_from_super_class, #sort_add_dice?, #sort_barabara_dice?
Methods included from Translate
Constructor Details
This class inherits a constructor from BCDice::Base
Instance Method Details
#eval_game_system_specific_command(command) ⇒ String?
Base::eval_game_system_specific_commandの実装
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/bcdice/game_system/NinjaSlayer2.rb', line 90 def eval_game_system_specific_command(command) # @debug = true debug("input: #{command}") begin case command when RE_JUDGE_DICEROLL # 2版用のダイス判定 proc_result = proc_dice_2nd(Regexp.last_match) # 結果は文字列と達成値という形で受け取る if proc_result[1] > 0 return Result.success(proc_result[0]) else return Result.failure(proc_result[0]) end else # ダイスでなければ定型文処理 return proc_text(command) end rescue StandardError => e # 解析できずにエラーが出たら構文ミスと皆してnilを返す debug("#{e.} \n#{e.backtrace}") return nil end end |