Class: BCDice::GameSystem::Strave
- Defined in:
- lib/bcdice/game_system/Strave.rb
Constant Summary collapse
- ID =
ゲームシステムの識別子
'Strave'
- NAME =
ゲームシステム名
'碧空のストレイヴ'
- SORT_KEY =
ゲームシステム名の読みがな
'へきくうのすとれいふ'
- HELP_MESSAGE =
ダイスボットの使い方
<<~MESSAGETEXT ・モラトリアムフェイズ用判定:MPm ・命中判定:nSTm*p 「n」でダイス数を指定。 「m」で目標値を指定。省略は出来ません。 「p」で攻撃力を指定。「*」は「x」でも可。 【書式例】 ・MP6 → 目標値6のモラトリアムフェイズ用判定。 ・5ST6*10 → 5d10で目標値6、攻撃力10の命中判定。 【各種表】 ・所属表:AFF VN版:AFV ・アイデンティティ表:IDT VN版:IDV ※アイデンティティ表はエラッタ適用済です。 MESSAGETEXT
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
- #checkRoll(diceCount, target, damage) ⇒ Object
- #eval_game_system_specific_command(command) ⇒ Object
- #get_affiliation_table ⇒ Object
- #get_affiliation_table2 ⇒ Object
- #get_identity_table ⇒ Object
- #get_identity_table2 ⇒ Object
- #get_strave_1d100_table_result(name, table) ⇒ Object
- #get_strave_table_result(name, dice, result) ⇒ Object
-
#initialize(command) ⇒ Strave
constructor
A new instance of Strave.
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) ⇒ Strave
Returns a new instance of Strave.
40 41 42 43 |
# File 'lib/bcdice/game_system/Strave.rb', line 40 def initialize(command) super(command) @sort_add_dice = true # ダイスのソート有 end |
Instance Method Details
#checkRoll(diceCount, target, damage) ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/bcdice/game_system/Strave.rb', line 77 def checkRoll(diceCount, target, damage) target = 1 if target < 1 target = 10 if target > 10 diceArray = @randomizer.(diceCount, 10).sort diceText = diceArray.join(",") successCount = diceArray.find_all { |i| (i <= target) }.size isDamage = !damage.nil? if isDamage totalDamage = successCount * damage result = "(#{diceCount}D10\<\=#{target}) > #{diceText} > Hits:#{successCount}*#{damage} > #{totalDamage}ダメージ" else result = "(#{diceCount}D10\<\=#{target}) > #{diceText}" if successCount > 0 result += " > 【成功】" else result += " > 【失敗】" end end return result end |
#eval_game_system_specific_command(command) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/bcdice/game_system/Strave.rb', line 45 def eval_game_system_specific_command(command) output = case command.upcase # MPコマンド:モラトリアムフェイズ用判定 when /MP(\d+)$/i diceCount = 2 target = Regexp.last_match(1).to_i checkRoll(diceCount, target, nil) # STコマンド:命中判定 when /(\d+)ST(\d+)(x|\*)(\d+)$/i diceCount = Regexp.last_match(1).to_i target = Regexp.last_match(2).to_i damage = (Regexp.last_match(4) || 0).to_i checkRoll(diceCount, target, damage) # 各種表 when 'AFF' get_affiliation_table when 'IDT' get_identity_table when 'AFV' get_affiliation_table2 when 'IDV' get_identity_table2 end return output end |
#get_affiliation_table ⇒ Object
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/bcdice/game_system/Strave.rb', line 103 def get_affiliation_table name = '所属表:基本' table = [ [1, 'アリウス管理委員会:あなたはアリウス管理委員会に所属している。'], [2, 'オーヴァーブルー:あなたはオーヴァーブルーに所属している。'], [3, 'ウォルゲイト:あなたはウォルゲイトに所属している。'], [4, '暁部隊:あなたはかつて、反逆者・暁弥琴と同じ部隊に所属していた。'], [5, '天文部:あなたは天文部に所属している。'], [6, '吹奏楽部:あなたは吹奏楽部に所属している。'], [7, '剣道部:あなたは剣道部に所属している。'], [8, 'ボクシング部:あなたはボクシング部に所属している。'], [9, '陸上部:あなたは陸上部に所属している。'], [10, '茶道部:あなたは茶道部に所属している。'], [11, 'パソコン部:あなたはパソコン部に所属している。'], [12, '新聞部:あなたは新聞部に所属している。'], [13, '弓道部:あなたは弓道部に所属している。'], [14, '美術部:あなたは美術部に所属している。'], [15, 'ミリタリー研究会:あなたはミリタリー研究会に所属している。'], [16, '歴史研究会:あなたは歴史研究会に所属している。'], [17, 'ロボット研究会:あなたはロボット研究会に所属している。'], [18, '図書委員会:あなたは図書委員会に所属している。'], [19, '任意:あなたの任意の所属を設定せよ。'], [20, '任意:あなたの任意の所属を設定せよ。'] ] return get_strave_1d100_table_result(name, table) end |
#get_affiliation_table2 ⇒ Object
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'lib/bcdice/game_system/Strave.rb', line 157 def get_affiliation_table2 name = '所属表:ヴァリアンスネイヴァー' table = [ [1, 'シュヴァレ・トワール:あなたはシュヴァレ・トワールに所属している。'], [2, 'ディープシンカー:あなたはディープシンカーに所属している。'], [3, 'ヴェルクシュタット:あなたはヴェルクシュタットに所属している。'], [4, 'アウスヴァル:あなたはアウスヴァルに所属している。'], [5, '美術科:あなたは美術科に所属している。'], [6, '哲学科:あなたは哲学科に所属している。'], [7, '数学科:あなたは数学科に所属している。'], [8, '地理学科:あなたは地理学科に所属している。'], [9, '工学科:あなたは工学科に所属している。'], [10, '体育学科:あなたは体育学科に所属している。'], [11, '農学科:あなたは農学科に所属している。'], [12, '歴史学科:あなたは歴史学科に所属している。'], [13, '医学科:あなたは医学科に所属している。'], [14, '情報学科:あなたは情報学科に所属している。'], [15, '音楽科:あなたは音楽科に所属している。'], [16, '心理学科:あなたは心理学科に所属している。'], [17, '文学科:あなたは文学科に所属している。'], [18, '任意:あなたの任意の所属を設定すること。'], [19, '任意:あなたの任意の所属を設定すること。'], [20, '任意:あなたの任意の所属を設定すること。'] ] return get_strave_1d100_table_result(name, table) end |
#get_identity_table ⇒ Object
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 |
# File 'lib/bcdice/game_system/Strave.rb', line 130 def get_identity_table name = 'アイデンティティ表:基本' table = [ [1, '戦い:戦いこそが、あなたをあなたたらしめている。'], [2, '守護:あなたには守るべきものがある。'], [3, '復讐:あなたは復讐を誓っている。何かに、あるいは誰かに。'], [4, '名声:その身に浴びる脚光を、何よりも誉としている。'], [5, '恋愛:あなたはその身を焦がす恋に生きている。'], [6, '家族:あなたにとって、家族はかけがえの無いものだ。'], [7, '友人:あなたは友のために戦っている。'], [8, '部隊:共に戦う部隊の仲間が、あなたに力をくれる。'], [9, 'ストレイヴ:あなたは自身のストレイヴを誇りに思っている。'], [10, 'スフィアブレイク:あなたはスフィアブレイクを熱烈に目指している。'], [11, 'お金:あなたはお金を求めている。報酬こそが自分の価値だ。'], [12, '夢:あなたには夢がある。自分を突き動かす夢が。'], [13, '忠誠:あなたは忠誠を誓っている。何かに、あるいは誰かに。'], [14, '共生:あなたは、ヴァイエルと人類との共生を望んでいる。'], [15, '居場所:自身の居場所こそが、あなたに力をくれる。'], [16, '強制:あなたは不本意ながら今の立場にいる。'], [17, '碧空:見上げた青空が、あなたを変えた。'], [18, '任意:あなたの任意のアイデンティティを設定せよ。'], [19, '任意:あなたの任意のアイデンティティを設定せよ。'], [20, '任意:あなたの任意のアイデンティティを設定せよ。'] ] return get_strave_1d100_table_result(name, table) end |
#get_identity_table2 ⇒ Object
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 |
# File 'lib/bcdice/game_system/Strave.rb', line 184 def get_identity_table2 name = 'アイデンティティ表:ヴァリアンスネイヴァー' table = [ [1, '戦い:戦いへの衝動が、あなたをあなたたらしめている。'], [2, '守護:守るべきものの存在が、あなたをあなたたらしめている。'], [3, '復讐:復讐の誓いこそが、あなたをあなたたらしめている。'], [4, '名声:与えられた名誉こそが、あなたをあなたたらしめている。'], [5, '恋愛:愛する者への想いが、あなたをあなたたらしめている。'], [6, '家族:かけがえのない家族が、あなたをあなたたらしめている。'], [7, '友人:友の存在が、あなたをあなたたらしめている。'], [8, '部隊:部隊の戦友こそが、あなたをあなたたらしめている。'], [9, 'ストレイヴ:ストレイヴの存在が、あなたの心を保っている。'], [10, '宇宙:やがて来る旅立ちの日まで、あなたはあなたであろうとしている。'], [11, 'お金:与えられる報酬のため、あなたはあなたであろうとしている。'], [12, '夢:あなたには、己の心に誓った夢がある。'], [13, '忠誠:その心でもって、誓った忠義がある。'], [14, '共生:あなたは、ヴァイエルと人類との共生を望んでいる。'], [15, '居場所:自身の居場所への思いが、あなたをあなたたらしめている。'], [16, 'ヴァイエル:あなたと同じでありながら、あなたと異なる存在。彼らへの思いが、あなたをあなたたらしめている。'], [17, 'エコール:自身の生きる場所への思いが、あなたをあなたたらしめている。'], [18, '任意:あなたの任意のアイデンティティを設定せよ。'], [19, '任意:あなたの任意のアイデンティティを設定せよ。'], [20, '任意:あなたの任意のアイデンティティを設定せよ。'] ] return get_strave_1d100_table_result(name, table) end |
#get_strave_1d100_table_result(name, table) ⇒ Object
211 212 213 214 215 216 |
# File 'lib/bcdice/game_system/Strave.rb', line 211 def get_strave_1d100_table_result(name, table) dice = @randomizer.roll_once(100) dice2 = ((dice.to_i - 1) / 5).floor + 1 result = get_table_by_number(dice2, table) return get_strave_table_result(name, dice, result) end |
#get_strave_table_result(name, dice, result) ⇒ Object
218 219 220 |
# File 'lib/bcdice/game_system/Strave.rb', line 218 def get_strave_table_result(name, dice, result) return "#{name}(#{dice}) > #{result}" end |