Class: BCDice::GameSystem::SRS
- Defined in:
- lib/bcdice/game_system/SRS.rb
Direct Known Subclasses
Defined Under Namespace
Modules: ClassMethods Classes: SRSRollNode
Constant Summary collapse
- ID =
ゲームシステムの識別子
'SRS'
- NAME =
ゲームシステム名
'スタンダードRPGシステム'
- SORT_KEY =
ゲームシステム名の読みがな
'すたんたあとRPGしすてむ'
- HELP_MESSAGE_1 =
<<~HELP_MESSAGE ・判定 ・通常判定:2D6+m>=t[c,f] 修正値m、目標値t、クリティカル値c、ファンブル値fで判定ロールを行います。 修正値、クリティカル値、ファンブル値は省略可能です([]ごと省略可)。 クリティカル値、ファンブル値の既定値は、それぞれ12、2です。 自動成功、自動失敗、成功、失敗を自動表示します。 例) 2d6>=10 修正値0、目標値10で判定 例) 2d6+2>=10 修正値+2、目標値10で判定 例) 2d6+2>=10[11] ↑をクリティカル値11で判定 例) 2d6+2>=10[12,4] ↑をクリティカル値12、ファンブル値4で判定 HELP_MESSAGE
- HELP_MESSAGE_2 =
<<~HELP_MESSAGE ・クリティカルおよびファンブルのみの判定:2D6+m[c,f] 目標値を指定せず、修正値m、クリティカル値c、ファンブル値fで判定ロールを行います。 修正値、クリティカル値、ファンブル値は省略可能です([]は省略不可)。 自動成功、自動失敗を自動表示します。 例) 2d6[] 修正値0、クリティカル値12、ファンブル値2で判定 例) 2d6+2[11] 修正値+2、クリティカル値11、ファンブル値2で判定 例) 2d6+2[12,4] 修正値+2、クリティカル値12、ファンブル値4で判定 HELP_MESSAGE
- HELP_MESSAGE_3 =
<<~HELP_MESSAGE ・D66ダイスあり(入れ替えなし) HELP_MESSAGE
- DEFAULT_HELP_MESSAGE =
既定のダイスボット説明文
"#{HELP_MESSAGE_1}\n#{HELP_MESSAGE_2}\n#{HELP_MESSAGE_3}"
- HELP_MESSAGE =
DEFAULT_HELP_MESSAGE
- DEFAULT_CRITICAL_VALUE =
既定のクリティカル値
12
- DEFAULT_FUMBLE_VALUE =
既定のファンブル値
2
- SRS_ROLL_WITH_TARGET_VALUE_RE =
目標値あり成功判定の正規表現
/\A2D6([-+][-+\d]+)?>=(\d+)(?:\[(\d+)?(?:,(\d+))?\])?\z/.freeze
- SRS_ROLL_WITHOUT_TARGET_VALUE_RE =
目標値なし成功判定の正規表現
/\A2D6([-+][-+\d]+)?\[(\d+)?(?:,(\d+))?\]\z/.freeze
- SRS_ROLL_DEFAULT_THRESHOLDS =
既定の閾値指定表記
"[#{DEFAULT_CRITICAL_VALUE},#{DEFAULT_FUMBLE_VALUE}]"
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
Class Method Summary collapse
-
.aliases_re_for_srs_roll_with_target_value ⇒ nil
目標値あり成功判定のエイリアスコマンドの正規表現を返す.
-
.aliases_re_for_srs_roll_without_target_value ⇒ nil
目標値なし成功判定のエイリアスコマンドの正規表現を返す.
-
.help_message ⇒ String
ダイスボットの説明文を返す.
-
.inherited(subclass) ⇒ void
クラスが継承されたときに行う処理.
Instance Method Summary collapse
-
#eval_game_system_specific_command(command) ⇒ String?
固有のダイスロールコマンドを実行する.
-
#help_message ⇒ String
ダイスボットの説明文を返す.
-
#initialize(command) ⇒ SRS
constructor
ダイスボットを初期化する.
Methods inherited from Base
#change_text, #check_result, command_pattern, #enable_debug, #enabled_d9?, #eval, eval, #grich_text, prefixes_pattern, register_prefix, register_prefix_from_super_class, #sort_add_dice?, #sort_barabara_dice?
Methods included from Translate
Constructor Details
#initialize(command) ⇒ SRS
ダイスボットを初期化する
173 174 175 176 177 178 179 180 181 182 |
# File 'lib/bcdice/game_system/SRS.rb', line 173 def initialize(command) super(command) # 式、出目ともに送信する # バラバラロール(Bコマンド)でソートする @sort_add_dice = true # D66ダイスあり(出目をソートしない) @d66_sort_type = D66SortType::NO_SORT end |
Class Method Details
.aliases_re_for_srs_roll_with_target_value ⇒ nil
目標値あり成功判定のエイリアスコマンドの正規表現を返す
158 159 160 |
# File 'lib/bcdice/game_system/SRS.rb', line 158 def aliases_re_for_srs_roll_with_target_value nil end |
.aliases_re_for_srs_roll_without_target_value ⇒ nil
目標値なし成功判定のエイリアスコマンドの正規表現を返す
164 165 166 |
# File 'lib/bcdice/game_system/SRS.rb', line 164 def aliases_re_for_srs_roll_without_target_value nil end |
.help_message ⇒ String
ダイスボットの説明文を返す
152 153 154 |
# File 'lib/bcdice/game_system/SRS.rb', line 152 def DEFAULT_HELP_MESSAGE end |
.inherited(subclass) ⇒ void
This method returns an undefined value.
クラスが継承されたときに行う処理
144 145 146 147 148 |
# File 'lib/bcdice/game_system/SRS.rb', line 144 def inherited(subclass) subclass .extend(ClassMethods) .clear_aliases_for_srs_roll end |
Instance Method Details
#eval_game_system_specific_command(command) ⇒ String?
固有のダイスロールコマンドを実行する
223 224 225 226 227 228 229 230 231 |
# File 'lib/bcdice/game_system/SRS.rb', line 223 def eval_game_system_specific_command(command) alias_replaced_with_2d6 = replace_alias_for_srs_roll_with_2d6(command) if (node = parse(alias_replaced_with_2d6)) return execute_srs_roll(node) end return nil end |
#help_message ⇒ String
ダイスボットの説明文を返す
186 187 188 |
# File 'lib/bcdice/game_system/SRS.rb', line 186 def self.class. end |