Class: BCDice::GameSystem::SRS
- Defined in:
- lib/bcdice/game_system/SRS.rb
Direct Known Subclasses
Alshard, EtrianOdysseySRS, FullMetalPanic, MetallicGuardian, TenkaRyouran
Defined Under Namespace
Modules: ClassMethods Classes: SRSRollNode
Constant Summary collapse
- ID =
ゲームシステムの識別子
'SRS'- NAME =
ゲームシステム名
'スタンダードRPGシステム'- SORT_KEY =
ゲームシステム名の読みがな
'すたんたあとRPGしすてむ'- HELP_MESSAGE_1 =
"\u30FB\u5224\u5B9A\n\u3000\u30FB\u901A\u5E38\u5224\u5B9A\uFF1A2D6+m@c#f>=t \u307E\u305F\u306F 2D6+m>=t[c,f]\n\u3000\u3000\u4FEE\u6B63\u5024m\u3001\u76EE\u6A19\u5024t\u3001\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024c\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u5024f\u3067\u5224\u5B9A\u30ED\u30FC\u30EB\u3092\u884C\u3044\u307E\u3059\u3002\n\u3000\u3000\u4FEE\u6B63\u5024\u3001\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u5024\u306F\u7701\u7565\u53EF\u80FD\u3067\u3059\uFF08[]\u3054\u3068\u7701\u7565\u53EF\u3001@c\u30FB#f\u306E\u6307\u5B9A\u306F\u9806\u4E0D\u540C\uFF09\u3002\n\u3000\u3000\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u5024\u306E\u65E2\u5B9A\u5024\u306F\u3001\u305D\u308C\u305E\u308C12\u30012\u3067\u3059\u3002\n\u3000\u3000\u81EA\u52D5\u6210\u529F\u3001\u81EA\u52D5\u5931\u6557\u3001\u6210\u529F\u3001\u5931\u6557\u3092\u81EA\u52D5\u8868\u793A\u3057\u307E\u3059\u3002\n\n\u3000\u3000\u4F8B) 2d6>=10\u3000\u3000\u3000\u3000\u3000\u4FEE\u6B63\u50240\u3001\u76EE\u6A19\u502410\u3067\u5224\u5B9A\n\u3000\u3000\u4F8B) 2d6+2>=10\u3000\u3000\u3000\u3000\u4FEE\u6B63\u5024+2\u3001\u76EE\u6A19\u502410\u3067\u5224\u5B9A\n\u3000\u3000\u4F8B) 2d6+2>=10[11]\u3000\u3000\u2191\u3092\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u502411\u3067\u5224\u5B9A\n\u3000\u3000\u4F8B) 2d6+2@11>=10 \u3000\u3000\u2191\u3092\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u502411\u3067\u5224\u5B9A\n\u3000\u3000\u4F8B) 2d6+2>=10[12,4]\u3000\u2191\u3092\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u502412\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u50244\u3067\u5224\u5B9A\n\u3000\u3000\u4F8B) 2d6+2@12#4>=10 \u3000\u2191\u3092\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u502412\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u50244\u3067\u5224\u5B9A\n\u3000\u3000\u4F8B) 2d6+2>=10[,4]\u3000\u3000\u2191\u3092\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u502412\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u50244\u3067\u5224\u5B9A\uFF08\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024\u306E\u7701\u7565\uFF09\n\u3000\u3000\u4F8B) 2d6+2#4>=10\u3000\u3000\u3000\u2191\u3092\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u502412\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u50244\u3067\u5224\u5B9A\uFF08\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024\u306E\u7701\u7565\uFF09\n"- HELP_MESSAGE_2 =
"\u3000\u30FB\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u304A\u3088\u3073\u30D5\u30A1\u30F3\u30D6\u30EB\u306E\u307F\u306E\u5224\u5B9A\uFF1A2D6+m@c#f \u307E\u305F\u306F 2D6+m[c,f]\n\u3000\u3000\u76EE\u6A19\u5024\u3092\u6307\u5B9A\u305B\u305A\u3001\u4FEE\u6B63\u5024m\u3001\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024c\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u5024f\u3067\u5224\u5B9A\u30ED\u30FC\u30EB\u3092\u884C\u3044\u307E\u3059\u3002\n\u3000\u3000\u4FEE\u6B63\u5024\u3001\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u5024\u306F\u7701\u7565\u53EF\u80FD\u3067\u3059\uFF08[]\u306F\u7701\u7565\u4E0D\u53EF\u3001@c\u30FB#f\u306E\u6307\u5B9A\u306F\u9806\u4E0D\u540C\uFF09\u3002\n\u3000\u3000\u81EA\u52D5\u6210\u529F\u3001\u81EA\u52D5\u5931\u6557\u3092\u81EA\u52D5\u8868\u793A\u3057\u307E\u3059\u3002\n\n\u3000\u3000\u4F8B) 2d6[]\u3000\u3000\u3000\u3000\u4FEE\u6B63\u50240\u3001\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u502412\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u50242\u3067\u5224\u5B9A\n\u3000\u3000\u4F8B) 2d6+2[11]\u3000\u3000\u4FEE\u6B63\u5024+2\u3001\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u502411\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u50242\u3067\u5224\u5B9A\n\u3000\u3000\u4F8B) 2d6+2@11 \u3000\u3000\u4FEE\u6B63\u5024+2\u3001\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u502411\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u50242\u3067\u5224\u5B9A\n\u3000\u3000\u4F8B) 2d6+2[12,4]\u3000\u4FEE\u6B63\u5024+2\u3001\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u502412\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u50244\u3067\u5224\u5B9A\n\u3000\u3000\u4F8B) 2d6+2@12#4 \u3000\u4FEE\u6B63\u5024+2\u3001\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u502412\u3001\u30D5\u30A1\u30F3\u30D6\u30EB\u50244\u3067\u5224\u5B9A\n"- HELP_MESSAGE_3 =
"\u30FBD66\u30C0\u30A4\u30B9\u3042\u308A\uFF08\u5165\u308C\u66FF\u3048\u306A\u3057)\n"- 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
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 ⇒ Array<String>
成功判定のエイリアスコマンドの一覧.
-
.help_message ⇒ String
ダイスボットの説明文を返す.
-
.inherited(subclass) ⇒ void
クラスが継承されたときに行う処理.
Instance Method Summary collapse
-
#aliases ⇒ Array<String>
成功判定のエイリアスコマンドの一覧.
-
#eval_game_system_specific_command(command) ⇒ Result?
固有のダイスロールコマンドを実行する.
-
#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
ダイスボットを初期化する
146 147 148 149 150 151 152 153 154 155 |
# File 'lib/bcdice/game_system/SRS.rb', line 146 def initialize(command) super(command) # 式、出目ともに送信する # バラバラロール(Bコマンド)でソートする @sort_add_dice = true # D66ダイスあり(出目をソートしない) @d66_sort_type = D66SortType::NO_SORT end |
Class Method Details
.aliases ⇒ Array<String>
成功判定のエイリアスコマンドの一覧
137 138 139 |
# File 'lib/bcdice/game_system/SRS.rb', line 137 def aliases [] end |
.help_message ⇒ String
ダイスボットの説明文を返す
131 132 133 |
# File 'lib/bcdice/game_system/SRS.rb', line 131 def DEFAULT_HELP_MESSAGE end |
.inherited(subclass) ⇒ void
This method returns an undefined value.
クラスが継承されたときに行う処理
123 124 125 126 127 |
# File 'lib/bcdice/game_system/SRS.rb', line 123 def inherited(subclass) subclass .extend(ClassMethods) .clear_aliases_for_srs_roll end |
Instance Method Details
#aliases ⇒ Array<String>
成功判定のエイリアスコマンドの一覧
165 166 167 |
# File 'lib/bcdice/game_system/SRS.rb', line 165 def aliases self.class.aliases end |
#eval_game_system_specific_command(command) ⇒ Result?
固有のダイスロールコマンドを実行する
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
# File 'lib/bcdice/game_system/SRS.rb', line 191 def eval_game_system_specific_command(command) legacy_c_f_match = /(.+)\[(.*)\]\z/.match(command) node = if legacy_c_f_match parse_legacy(legacy_c_f_match[1], legacy_c_f_match[2]) else parse(command) end if node return execute_srs_roll(node) end return nil end |
#help_message ⇒ String
ダイスボットの説明文を返す
159 160 161 |
# File 'lib/bcdice/game_system/SRS.rb', line 159 def self.class. end |