Module: BCDice::GameSystem::SRS::ClassMethods
- Defined in:
- lib/bcdice/game_system/SRS.rb
Overview
成功判定のエイリアスコマンド定義用のクラスメソッドを提供するモジュール
Instance Attribute Summary collapse
-
#aliases_re_for_srs_roll_with_target_value ⇒ Regexp?
readonly
目標値あり成功判定のエイリアスコマンドの正規表現を返す.
-
#aliases_re_for_srs_roll_without_target_value ⇒ Regexp?
readonly
目標値なし成功判定のエイリアスコマンドの正規表現を返す.
-
#help_message ⇒ String
readonly
ダイスボットの説明文を返す.
Instance Method Summary collapse
-
#clear_aliases_for_srs_roll ⇒ self
成功判定のエイリアスコマンドを未設定にする.
-
#set_aliases_for_srs_roll(*aliases) ⇒ self
成功判定のエイリアスコマンドを設定する エイリアスコマンドとして指定した文字列がコマンドの先頭にあれば、 実行時にそれが2D6に置換されるようになる。.
Instance Attribute Details
#aliases_re_for_srs_roll_with_target_value ⇒ Regexp? (readonly)
目標値あり成功判定のエイリアスコマンドの正規表現を返す
59 60 61 |
# File 'lib/bcdice/game_system/SRS.rb', line 59 def aliases_re_for_srs_roll_with_target_value @aliases_re_for_srs_roll_with_target_value end |
#aliases_re_for_srs_roll_without_target_value ⇒ Regexp? (readonly)
目標値なし成功判定のエイリアスコマンドの正規表現を返す
63 64 65 |
# File 'lib/bcdice/game_system/SRS.rb', line 63 def aliases_re_for_srs_roll_without_target_value @aliases_re_for_srs_roll_without_target_value end |
#help_message ⇒ String (readonly)
ダイスボットの説明文を返す
55 56 57 |
# File 'lib/bcdice/game_system/SRS.rb', line 55 def @help_message end |
Instance Method Details
#clear_aliases_for_srs_roll ⇒ self
成功判定のエイリアスコマンドを未設定にする
97 98 99 100 101 102 103 |
# File 'lib/bcdice/game_system/SRS.rb', line 97 def clear_aliases_for_srs_roll @aliases_re_for_srs_roll_with_target_value = nil @aliases_re_for_srs_roll_without_target_value = nil @help_message = SRS::DEFAULT_HELP_MESSAGE return self end |
#set_aliases_for_srs_roll(*aliases) ⇒ self
成功判定のエイリアスコマンドを設定する エイリアスコマンドとして指定した文字列がコマンドの先頭にあれば、 実行時にそれが2D6に置換されるようになる。
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/bcdice/game_system/SRS.rb', line 71 def set_aliases_for_srs_roll(*aliases) aliases_upcase = aliases.map(&:upcase) aliases_part = aliases_upcase .map { |a| Regexp.escape(a) } .join('|') @aliases_re_for_srs_roll_with_target_value = Regexp.new( '\A' \ "(?:#{aliases_part})" \ '((?:[-+][-+\d]+)?>=\d+(?:\[\d*(?:,\d+)?\])?)\z' ) @aliases_re_for_srs_roll_without_target_value = Regexp.new( '\A' \ "(?:#{aliases_part})" \ '([-+][-+\d]+)?(\[\d*(?:,\d+)?\])?\z' ) prepare_help_msg_for_aliases_for_srs_roll(aliases_upcase) @help_message = return self end |