bcdice 3.6.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,95 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BCDice
4
+ module GameSystem
5
+ class Kutulu < Base
6
+ # ゲームシステムの識別子
7
+ ID = 'Kutulu'
8
+
9
+ # ゲームシステム名
10
+ NAME = 'Kutulu'
11
+
12
+ # ゲームシステム名の読みがな
13
+ SORT_KEY = 'くとうるう'
14
+
15
+ # ダイスボットの使い方
16
+ HELP_MESSAGE = <<~INFO_MESSAGETEXT
17
+ ■判定 nKU n: ダイス数
18
+
19
+ 例)3KU: ダイスを3個振って、その結果を表示(ギリギリでの成功も表示)
20
+
21
+ ■対抗判定 nKR n: ダイス数
22
+
23
+ 例)2KR: ダイスを2個振って、その結果を表示。対抗判定用の3桁の数字も出力。(大きい方が勝利)
24
+ INFO_MESSAGETEXT
25
+
26
+ register_prefix('\dK[UR]')
27
+
28
+ def initialize(command)
29
+ super(command)
30
+
31
+ @sort_barabara_dice = true # バラバラロール(Bコマンド)でソート有
32
+ end
33
+
34
+ def eval_game_system_specific_command(command)
35
+ resolute_action(command) || resolute_competition(command)
36
+ end
37
+
38
+ private
39
+
40
+ # アクティヴ能力の判定
41
+ # @param [String] command
42
+ # @return [Result]
43
+ def resolute_action(command)
44
+ m = /(\d)KU/.match(command)
45
+ return nil unless m
46
+
47
+ num_dices = m[1].to_i
48
+
49
+ dices = @randomizer.roll_barabara(num_dices, 6).sort
50
+ dice_text = dices.join(",")
51
+
52
+ output = "(#{num_dices}KU) > #{dice_text}"
53
+
54
+ success_num = dices.count { |val| val >= 4 }
55
+ counts_4 = dices.count(4)
56
+ if success_num > 0
57
+ output += " > 成功数#{success_num}"
58
+ if success_num == 1 && counts_4 == 1
59
+ output += " > *ギリギリでの成功"
60
+ end
61
+ return Result.success(output)
62
+ else
63
+ output += " > 失敗"
64
+ return Result.failure(output)
65
+ end
66
+ end
67
+
68
+ # 対抗判定用出力
69
+ # @param [String] command
70
+ # @return [Result]
71
+ def resolute_competition(command)
72
+ m = /(\d)KR/.match(command)
73
+ return nil unless m
74
+
75
+ num_dices = m[1].to_i
76
+
77
+ dices = @randomizer.roll_barabara(num_dices, 6).sort
78
+ dice_text = dices.join(",")
79
+
80
+ counts_6 = dices.count(6)
81
+ counts_5 = dices.count(5)
82
+ success_num = dices.count { |val| val >= 4 }
83
+ com_text = format("(%d%d%d)", success_num, counts_6, counts_5)
84
+
85
+ output = "(#{num_dices}KR) > #{dice_text} > #{com_text}"
86
+
87
+ if success_num > 0
88
+ return Result.success(output)
89
+ else
90
+ return Result.failure(output)
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BCDice
4
+ module GameSystem
5
+ class Sengensyou < Base
6
+ # ゲームシステムの識別子
7
+ ID = 'Sengensyou'
8
+
9
+ # ゲームシステム名
10
+ NAME = '千幻抄'
11
+
12
+ # ゲームシステム名の読みがな
13
+ SORT_KEY = 'せんけんしよう'
14
+
15
+ # ダイスボットの使い方
16
+ HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
17
+ ・SGS 命中判定・回避判定
18
+ INFO_MESSAGE_TEXT
19
+
20
+ register_prefix('SGS')
21
+
22
+ def eval_game_system_specific_command(command)
23
+ # 命中判定・回避判定
24
+ parser = Command::Parser.new('SGS', round_type: @round_type).restrict_cmp_op_to(nil)
25
+ command = parser.parse(command)
26
+
27
+ unless command
28
+ return nil
29
+ end
30
+
31
+ dice_list = @randomizer.roll_barabara(3, 6)
32
+ dice_total = dice_list.sum()
33
+ is_critical = dice_total >= 16
34
+ is_fumble = dice_total <= 5
35
+ additional_text =
36
+ if is_critical
37
+ "クリティカル"
38
+ elsif is_fumble
39
+ "ファンブル"
40
+ end
41
+ modify_text = "#{dice_total}#{Format.modifier(command.modify_number)}" if command.modify_number != 0
42
+ sequence = [
43
+ "(3D6#{Format.modifier(command.modify_number)})",
44
+ "#{dice_total}[#{dice_list.join(',')}]",
45
+ modify_text,
46
+ (dice_total + command.modify_number).to_s,
47
+ additional_text,
48
+ ].compact
49
+
50
+ result = Result.new.tap do |r|
51
+ r.text = sequence.join(" > ")
52
+ r.critical = is_critical
53
+ r.fumble = is_fumble
54
+ end
55
+ return result
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,135 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bcdice/command/parser'
4
+
5
+ module BCDice
6
+ module GameSystem
7
+ class VisionConnect < Base
8
+ # ゲームシステムの識別子
9
+ ID = "VisionConnect"
10
+
11
+ # ゲームシステム名
12
+ NAME = "ヴィジョンコネクト"
13
+
14
+ # ゲームシステム名の読みがな
15
+ SORT_KEY = "ういしよんこねくと"
16
+
17
+ HELP_MESSAGE = <<~TEXT
18
+ ・判定(VC+x@c#f>=y)
19
+ !:コマンドの最初に付けると致命的失敗が全てアクシデントになる。
20
+ x:修正値。能力値、戦闘値、その他修正値など。省略可。
21
+ y:目標値。省略時は決定的成功/致命的失敗のみ表示。
22
+ c:クリティカル値。@ごと省略可。省略時は12。
23
+ f:ファンブル値。#ごと省略可。省略時は3。
24
+ (例)VC+3>=8
25
+ VC+7@11>=12
26
+ !VC+6-1#4>=10
27
+
28
+ ・各種表
29
+ アクシデント表 AT
30
+ トラブル表 TT
31
+ TEXT
32
+
33
+ def eval_game_system_specific_command(command)
34
+ return check_action(command) || roll_tables(command, TABLES)
35
+ end
36
+
37
+ def check_action(command)
38
+ parser = Command::Parser.new(/!?VC/, round_type: RoundType::FLOOR)
39
+ .enable_critical
40
+ .enable_fumble
41
+ .restrict_cmp_op_to(nil, :>=)
42
+ parsed = parser.parse(command)
43
+ return nil if parsed.nil?
44
+
45
+ stamina_zero = parsed.command[0] == '!'
46
+ critical_target = parsed.critical || 12
47
+ fumble_target = parsed.fumble || 3
48
+ accident_target = stamina_zero ? fumble_target : 2
49
+
50
+ dice_arr = @randomizer.roll_barabara(2, 6)
51
+ dice_sum = dice_arr.sum
52
+ result_sum = dice_sum + parsed.modify_number
53
+ is_critical = dice_sum >= critical_target
54
+ is_fumble = dice_sum <= fumble_target
55
+ is_accident = dice_sum <= accident_target
56
+ is_trouble = is_fumble && !is_accident
57
+ if is_critical
58
+ is_success = true
59
+ result_str = "決定的成功"
60
+ elsif is_accident
61
+ is_success = false
62
+ result_str = "致命的失敗(アクシデント)"
63
+ elsif is_trouble
64
+ is_success = false
65
+ result_str = "致命的失敗(トラブル)"
66
+ elsif parsed.target_number.nil?
67
+ is_success = nil
68
+ elsif result_sum >= parsed.target_number
69
+ is_success = true
70
+ result_str = "成功"
71
+ else
72
+ is_success = false
73
+ result_str = "失敗"
74
+ end
75
+
76
+ sequence = [
77
+ "(#{parsed.to_s(:after_modify_number)})",
78
+ "#{dice_sum}[#{dice_arr.join(',')}]#{Format.modifier(parsed.modify_number)}",
79
+ result_sum,
80
+ result_str
81
+ ].compact
82
+
83
+ Result.new.tap do |r|
84
+ r.text = sequence.join(" > ")
85
+ r.critical = is_critical
86
+ r.fumble = is_fumble
87
+ r.success = is_success || false
88
+ r.failure = is_success.nil? ? false : !is_success
89
+ end
90
+ end
91
+
92
+ TABLES = {
93
+ 'AT' => DiceTable::Table.new(
94
+ 'アクシデント表',
95
+ '1D6',
96
+ [
97
+ '頭がぼんやりして、まぶたが重くなってきた……。これは睡魔の襲来? キャラクターの操作がおぼつかなくなる。シーン終了まで能力値判定、戦闘値判定の達成値に-3される。スタミナを3点消費することで、この効果を打ち消すことができる。',
98
+ 'キーボード、マウス、ゲームパッドなどが操作不能になった! キャラクターを操作することができない。戦闘中の場合は次のラウンドの準備プロセス終了までキャラクターアクションを行うことができず、スキルや特技の使用もできない。スタミナを3点消費することで、この効果を打ち消すことができる。',
99
+ '急に画面が真っ暗に! パソコンやゲーム機を見ると、動作はしている。これはモニタの問題かっ! キャラクターを操作することができない。戦闘中の場合は次のラウンドの終了までキャラクターアクションを行うことができず、スキル、特技の使用もできない。スタミナを4点消費することで、この効果を打ち消すことができる。',
100
+ '突然、通信回線が不調となり、切断されてしまった! 急いで再ログインしなければ! シーンから自動的に退場となる。戦闘中の場合は次のラウンドの準備プロセス終了後、登場できる。スタミナを4点消費することで、この効果を打ち消すことができる。',
101
+ 'いきなり画面が真っ黒になり、パソコンやゲーム機が再起動し始めた……。シーンから自動的に退場となる。戦闘中の場合は次のラウンドの終了後、登場できる。スタミナを5点消費することで、この効果を打ち消すことができる。',
102
+ '突然、画面が消えた。いや、画面だけじゃない。電化製品がすべて止まっているようだ。もしや、これは停電!? シーンから自動的に退場となる。次のシーンの開始時に登場できる。スタミナを5点消費することで、この効果を打ち消すことができる。',
103
+ ]
104
+ ),
105
+ 'TT' => DiceTable::D66RangeTable.new(
106
+ 'トラブル表',
107
+ {
108
+ 11..13 => 'チャットで誤爆(発言ミス)をしてしまった。恥ずかしさで、スタミナが1点減少する。',
109
+ 14..16 => 'かまってほしいのか、ペットがちょっとした悪戯をしてきた。ごめん、今は忙しいのだ。ペットを取得していない場合は何も起こらない。ペットを取得していた場合、罪悪感によりスタミナが1点減少する。',
110
+ 21..23 => '何かの用事があるのか、それとも食事の時間なのか、家族から声を掛けられた。家族を取得していない場合は何も起こらない。家族を取得していた場合、気が焦ってスタミナが2点減少する。',
111
+ 24..26 => '玄関のチャイムが鳴り、「宅配便でーす」の声が外から聞こえてきた。こんな時にっ!? 家族がいれば、荷物を受け取ってもらえるのだが……。家族を取得している場合は何も起こらない。家族を取得していない場合、スタミナが2点減少する。',
112
+ 31..33 => '操作中に勢い余って腕が飲み物に当たってしまい、中身がこぼれてしまった。あとで掃除しないと……。ドリンクを取得していない、あるいはすべて使用済みである場合は何も起こらない。ドリンクを1個失う。',
113
+ 34..36 => 'キーボードやゲームパッドの調子があまりよくない。やっぱり、ゲーミングデバイスに買い換えた方がいいか……。デバイスを取得している場合は何も起こらない。デバイスを取得していない場合、ストレスによりスタミナが2点減少する。',
114
+ 41..43 => '知り合いから電話が掛かってきた。電話しながらの操作はちょっと大変だ。より集中しなければならないため、スタミナが2点減少する。',
115
+ 44..46 => '急にお手洗いに行きたくなってきた。ちょっと我慢しなければならないため、スタミナが2点減少する。',
116
+ 51..51 => 'レアモンスターがポップ(出現)したとチャットで通知が来た! でも、今は行くことができない……。ブレイブを取得していない場合は何も起こらない。ブレイブを取得している場合、悔しさでスタミナが3点減少する。',
117
+ 52..52 => '出品しているアイテムのマーケットでの相場が下がったと知り合いからチャットが飛んできた。マイスターを取得していない場合は何も起こらない。マイスターを取得している場合、悲しさでスタミナが3点減少する。',
118
+ 53..53 => '操作の方法が分からなくなって、焦りまくる。ノービスを取得していない場合は何も起こらない。ノービスを取得している場合、混乱でスタミナが3点減少する。',
119
+ 54..54 => 'ギルドのメンバーからギルドを抜けたいという相談のチャットが飛んできた。リーダーを取得していない場合は何も起こらない。リーダーを取得している場合、驚きのあまりスタミナが3点減少する。',
120
+ 55..55 => '知り合いから攻略の手伝いを頼むチャットが飛んできた。ごめんなさい、今はちょっと無理……。ヘルパーを取得していない場合は何も起こらない。ヘルパーを取得している場合、申し訳なさでスタミナが3点減少する。',
121
+ 56..56 => 'つきまとってくるユーザーから、しつこくチャットが飛んでくる。面倒くさいなぁ。フェイバリットを取得していない場合は何も起こらない。フェイバリットを取得している場合、煩わしさでスタミナが3点減少する。',
122
+ 61..61 => '誰かと一緒にプレイするのに慣れていないためか、ちょっと緊張しているかもしれない。ローンウルフを取得していない場合は何も起こらない。ローンウルフを取得している場合、緊張でスタミナが3点減少する。',
123
+ 62..62 => '事前に入手していた情報が間違っていた!? どう対応してよいか分からず、焦りまくる。ブレインを取得していない場合は何も起こらない。ブレインを取得している場合、焦りのあまりスタミナが3点減少する。',
124
+ 63..63 => '配信でトラブルが発生!? 対応に慌ててしまう。ストリーマーを取得していない場合は何も起こらない。ストリーマーを取得している場合、狼狽によってスタミナが3点減少する。',
125
+ 64..64 => '使っているゲーミングデバイスの調子がよくない。ガジェッターを取得していない場合は何も起こらない。ガジェッターを取得している場合、いらだちでスタミナが3点減少する。',
126
+ 65..65 => '合間にプレイしている別のゲームや流し見していた動画に注意が向いて、操作をミスしてしまう。カジュアルを取得していない場合は何も起こらない。カジュアルを取得している場合、後悔でスタミナが3点減少する。',
127
+ 66..66 => 'ハードコアを取得していない場合は何も起こらない。トラブル表の51~65の項目の効果を受ける。ハードコア以外に取得しているスタイルに合わせて、効果を適用すること(たとえば、ブレイブならば51、マイスターなら52となる)。',
128
+ }
129
+ ),
130
+ }.freeze
131
+
132
+ register_prefix('!?VC', TABLES.keys)
133
+ end
134
+ end
135
+ end
@@ -25,17 +25,9 @@ module BCDice
25
25
 
26
26
  register_prefix('\d+ST')
27
27
 
28
- def initialize(command)
29
- super(command)
30
- @successDice = 0
31
- @botchDice = 0
32
- @rerollDice = 0
33
- end
34
-
35
28
  def eval_game_system_specific_command(command)
36
- diff = 6
29
+ difficulty = 6
37
30
  auto_success = 0
38
-
39
31
  enabled_reroll = false
40
32
  enabled_20th = false
41
33
 
@@ -48,40 +40,55 @@ module BCDice
48
40
  when 'STA'
49
41
  enabled_20th = true
50
42
  end
51
- diff = md[3].to_i if md[3]
43
+ difficulty = md[3].to_i if md[3]
52
44
  auto_success = md[4].to_i if md[4]
53
45
 
54
- diff = 6 if diff < 2
46
+ difficulty = 6 if difficulty < 2
55
47
 
56
48
  sequence = []
57
- sequence.push "DicePool=#{dice_pool}, Difficulty=#{diff}, AutomaticSuccess=#{auto_success}"
49
+ sequence.push "DicePool=#{dice_pool}, Difficulty=#{difficulty}, AutomaticSuccess=#{auto_success}"
58
50
 
59
51
  # 出力では Difficulty=11..12 もあり得る
60
- diff = 10 if diff > 10
52
+ difficulty = 10 if difficulty > 10
61
53
 
62
- total_success = auto_success
54
+ total_success = 0
63
55
  total_botch = 0
56
+ once_success = false
64
57
 
65
- dice, success, botch, auto_success = roll_wod(dice_pool, diff, true, enabled_20th ? 2 : 1)
58
+ dice, ten_success, success, botch = roll_wod(dice_pool, difficulty)
66
59
  sequence.push dice.join(',')
67
60
  total_success += success
68
61
  total_botch += botch
69
62
 
70
- if enabled_reroll
71
- # 振り足し
72
- while auto_success > 0
73
- dice_pool = auto_success
74
- # 振り足しの出目1は大失敗ではない
75
- dice, success, botch, auto_success = roll_wod(dice_pool, diff, false)
76
- sequence.push dice.join(',')
77
- total_success += success
78
- total_botch += botch
63
+ # 成功がひとつでもあったか覚えておく
64
+ once_success = true if success > 0 || ten_success > 0
65
+
66
+ if enabled_20th
67
+ # 20周年記念版なら10の目は2成功扱い
68
+ total_success += ten_success * 2
69
+ else
70
+ # Revised Editionでは10は1成功と数える
71
+ total_success += ten_success
72
+
73
+ # 振り足し判定ありなら10が出ただけ振り足しを行う
74
+ if enabled_reroll
75
+ while ten_success > 0
76
+ # 振り足しの出目1は大失敗ではない
77
+ dice, ten_success, success = roll_wod(ten_success, difficulty)
78
+ sequence.push dice.join(',')
79
+ total_success += (success + ten_success)
80
+ end
79
81
  end
80
82
  end
81
83
 
84
+ total_success -= [total_success, total_botch].min
85
+
86
+ total_success += auto_success # 意志力による自動成功は打ち消されない
87
+
82
88
  if total_success > 0
83
89
  sequence.push "成功数#{total_success}"
84
- elsif total_botch > 0
90
+ elsif total_botch > 0 && once_success == false
91
+ # ボッチが存在し、かつ成功がひとつもない場合のみ大失敗
85
92
  sequence.push "大失敗"
86
93
  else
87
94
  sequence.push "失敗"
@@ -91,10 +98,9 @@ module BCDice
91
98
  return output
92
99
  end
93
100
 
94
- # Revised Edition
95
- # 出目10は1自動成功 振り足し
96
- # 出目1は大失敗: 成功を1つ相殺
97
- def roll_wod(dice_pool, diff, enabled_botch = true, auto_success_value = 1)
101
+ # 出目10と1、難易度以上が出た成功の目をカウントする。
102
+ # それぞれの解釈はバージョンによって異なるため、呼び出し元で行う。
103
+ def roll_wod(dice_pool, difficulty)
98
104
  # FIXME: まとめて振る
99
105
  dice = Array.new(dice_pool) do
100
106
  dice_now = @randomizer.roll_once(10)
@@ -105,30 +111,20 @@ module BCDice
105
111
 
106
112
  success = 0
107
113
  botch = 0
108
- auto_success = 0
114
+ ten_success = 0
109
115
 
110
116
  dice.each do |d|
111
117
  case d
112
118
  when 10
113
- auto_success += auto_success_value
114
- when diff..10
119
+ ten_success += 1
120
+ when difficulty...10
115
121
  success += 1
116
122
  when 1
117
- botch += 1 if enabled_botch
123
+ botch += 1
118
124
  end
119
125
  end
120
126
 
121
- # 自動成功を成功に加算する
122
- success += auto_success
123
-
124
- if enabled_botch
125
- # 成功と大失敗を相殺する
126
- c = [success, botch].min
127
- success -= c
128
- botch -= c
129
- end
130
-
131
- return dice, success, botch, auto_success
127
+ return dice, ten_success, success, botch
132
128
  end
133
129
  end
134
130
  end
@@ -6,7 +6,7 @@ module BCDice
6
6
  TAG_TABLE = DiceTable::D66GridTable.new(
7
7
  "タグ決定表",
8
8
  [
9
- ["情報イベント", "アブノーマル(サ)", "カワイイ(サ)", "トンデモ(サ)", "マニア(サ)", "ヲタク(サ)"],
9
+ ["情報イベント", "エクストリーム(サ)", "カワイイ(サ)", "トンデモ(サ)", "マニア(サ)", "ヲタク(サ)"],
10
10
  ["音楽(ア)", "好きなタグ", "トレンド(ア)", "読書(ア)", "パフォーマンス(ア)", "美術(ア)"],
11
11
  ["アラサガシ(マ)", "おせっかい(マ)", "好きなタグ", "家事(マ)", "ガリ勉(マ)", "健康(マ)"],
12
12
  ["アウトドア(休)", "工作(休)", "スポーツ(休)", "同一タグ", "ハイソ(休)", "旅行(休)"],
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.5.1
3
+ # This file is automatically generated by Racc 1.5.2
4
4
  # from Racc grammar file "".
5
5
  #
6
6
 
@@ -26,6 +26,7 @@ require "bcdice/game_system/BattleTech"
26
26
  require "bcdice/game_system/BeastBindTrinity"
27
27
  require "bcdice/game_system/BeginningIdol"
28
28
  require "bcdice/game_system/BeginningIdol_Korean"
29
+ require "bcdice/game_system/BeginningIdol2022"
29
30
  require "bcdice/game_system/BladeOfArcana"
30
31
  require "bcdice/game_system/BlindMythos"
31
32
  require "bcdice/game_system/BloodCrusade"
@@ -84,6 +85,7 @@ require "bcdice/game_system/Garako"
84
85
  require "bcdice/game_system/GardenOrder"
85
86
  require "bcdice/game_system/GehennaAn"
86
87
  require "bcdice/game_system/GeishaGirlwithKatana"
88
+ require "bcdice/game_system/GhostLive"
87
89
  require "bcdice/game_system/GoblinSlayer"
88
90
  require "bcdice/game_system/GoldenSkyStories"
89
91
  require "bcdice/game_system/Gorilla"
@@ -98,6 +100,7 @@ require "bcdice/game_system/HatsuneMiku"
98
100
  require "bcdice/game_system/Hieizan"
99
101
  require "bcdice/game_system/HouraiGakuen"
100
102
  require "bcdice/game_system/HuntersMoon"
103
+ require "bcdice/game_system/IfIfIf"
101
104
  require "bcdice/game_system/Illusio"
102
105
  require "bcdice/game_system/InfiniteBabeL"
103
106
  require "bcdice/game_system/InfiniteFantasia"
@@ -116,6 +119,7 @@ require "bcdice/game_system/KemonoNoMori"
116
119
  require "bcdice/game_system/KillDeathBusiness"
117
120
  require "bcdice/game_system/KillDeathBusiness_Korean"
118
121
  require "bcdice/game_system/KurayamiCrying"
122
+ require "bcdice/game_system/Kutulu"
119
123
  require "bcdice/game_system/LiveraDoll"
120
124
  require "bcdice/game_system/LogHorizon"
121
125
  require "bcdice/game_system/LogHorizon_Korean"
@@ -171,6 +175,7 @@ require "bcdice/game_system/SRS"
171
175
  require "bcdice/game_system/SamsaraBallad"
172
176
  require "bcdice/game_system/Satasupe"
173
177
  require "bcdice/game_system/ScreamHighSchool"
178
+ require "bcdice/game_system/Sengensyou"
174
179
  require "bcdice/game_system/SevenFortressMobius"
175
180
  require "bcdice/game_system/ShadowRun"
176
181
  require "bcdice/game_system/ShadowRun4"
@@ -212,6 +217,7 @@ require "bcdice/game_system/UnsungDuet"
212
217
  require "bcdice/game_system/Utakaze"
213
218
  require "bcdice/game_system/VampireTheMasquerade5th"
214
219
  require "bcdice/game_system/Villaciel"
220
+ require "bcdice/game_system/VisionConnect"
215
221
  require "bcdice/game_system/WARPS"
216
222
  require "bcdice/game_system/WaresBlade"
217
223
  require "bcdice/game_system/Warhammer"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BCDice
4
- VERSION = "3.6.0"
4
+ VERSION = "3.7.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bcdice
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.0
4
+ version: 3.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - SAKATA Sinji
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-04 00:00:00.000000000 Z
11
+ date: 2022-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -157,6 +157,7 @@ files:
157
157
  - lib/bcdice/game_system/BattleTech.rb
158
158
  - lib/bcdice/game_system/BeastBindTrinity.rb
159
159
  - lib/bcdice/game_system/BeginningIdol.rb
160
+ - lib/bcdice/game_system/BeginningIdol2022.rb
160
161
  - lib/bcdice/game_system/BeginningIdol_Korean.rb
161
162
  - lib/bcdice/game_system/BladeOfArcana.rb
162
163
  - lib/bcdice/game_system/BlindMythos.rb
@@ -217,6 +218,7 @@ files:
217
218
  - lib/bcdice/game_system/GardenOrder.rb
218
219
  - lib/bcdice/game_system/GehennaAn.rb
219
220
  - lib/bcdice/game_system/GeishaGirlwithKatana.rb
221
+ - lib/bcdice/game_system/GhostLive.rb
220
222
  - lib/bcdice/game_system/GoblinSlayer.rb
221
223
  - lib/bcdice/game_system/GoldenSkyStories.rb
222
224
  - lib/bcdice/game_system/Gorilla.rb
@@ -230,6 +232,7 @@ files:
230
232
  - lib/bcdice/game_system/Hieizan.rb
231
233
  - lib/bcdice/game_system/HouraiGakuen.rb
232
234
  - lib/bcdice/game_system/HuntersMoon.rb
235
+ - lib/bcdice/game_system/IfIfIf.rb
233
236
  - lib/bcdice/game_system/Illusio.rb
234
237
  - lib/bcdice/game_system/InfiniteBabeL.rb
235
238
  - lib/bcdice/game_system/InfiniteFantasia.rb
@@ -248,6 +251,7 @@ files:
248
251
  - lib/bcdice/game_system/KillDeathBusiness.rb
249
252
  - lib/bcdice/game_system/KillDeathBusiness_Korean.rb
250
253
  - lib/bcdice/game_system/KurayamiCrying.rb
254
+ - lib/bcdice/game_system/Kutulu.rb
251
255
  - lib/bcdice/game_system/LiveraDoll.rb
252
256
  - lib/bcdice/game_system/LogHorizon.rb
253
257
  - lib/bcdice/game_system/LogHorizon_Korean.rb
@@ -303,6 +307,7 @@ files:
303
307
  - lib/bcdice/game_system/SamsaraBallad.rb
304
308
  - lib/bcdice/game_system/Satasupe.rb
305
309
  - lib/bcdice/game_system/ScreamHighSchool.rb
310
+ - lib/bcdice/game_system/Sengensyou.rb
306
311
  - lib/bcdice/game_system/SevenFortressMobius.rb
307
312
  - lib/bcdice/game_system/ShadowRun.rb
308
313
  - lib/bcdice/game_system/ShadowRun4.rb
@@ -344,6 +349,7 @@ files:
344
349
  - lib/bcdice/game_system/Utakaze.rb
345
350
  - lib/bcdice/game_system/VampireTheMasquerade5th.rb
346
351
  - lib/bcdice/game_system/Villaciel.rb
352
+ - lib/bcdice/game_system/VisionConnect.rb
347
353
  - lib/bcdice/game_system/WARPS.rb
348
354
  - lib/bcdice/game_system/WaresBlade.rb
349
355
  - lib/bcdice/game_system/Warhammer.rb
@@ -413,7 +419,7 @@ metadata:
413
419
  homepage_uri: https://bcdice.org
414
420
  source_code_uri: https://github.com/bcdice/BCDice
415
421
  changelog_uri: https://github.com/bcdice/BCDice/blob/master/CHANGELOG.md
416
- post_install_message:
422
+ post_install_message:
417
423
  rdoc_options: []
418
424
  require_paths:
419
425
  - lib
@@ -428,8 +434,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
428
434
  - !ruby/object:Gem::Version
429
435
  version: '0'
430
436
  requirements: []
431
- rubygems_version: 3.1.4
432
- signing_key:
437
+ rubygems_version: 3.3.7
438
+ signing_key:
433
439
  specification_version: 4
434
440
  summary: BCDice is a rolling dice engine for TRPG
435
441
  test_files: []