bcdice 3.7.0 → 3.8.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.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/i18n/Arianrhod/ja_jp.yml +3 -0
  4. data/i18n/Emoklore/ja_jp.yml +7 -0
  5. data/i18n/SwordWorld/ja_jp.yml +1 -0
  6. data/i18n/SwordWorld/zh_hans.yml +7 -0
  7. data/i18n/SwordWorld2_0/zh_hans.yml +37 -0
  8. data/i18n/SwordWorld2_5/ja_jp.yml +1 -1
  9. data/i18n/SwordWorld2_5/zh_hans.yml +57 -0
  10. data/lib/bcdice/arithmetic/parser.rb +1 -1
  11. data/lib/bcdice/command/parser.rb +1 -1
  12. data/lib/bcdice/common_command/add_dice/parser.rb +1 -1
  13. data/lib/bcdice/common_command/barabara_dice/parser.rb +1 -1
  14. data/lib/bcdice/common_command/calc/parser.rb +1 -1
  15. data/lib/bcdice/common_command/reroll_dice/parser.rb +1 -1
  16. data/lib/bcdice/common_command/tally_dice/parser.rb +1 -1
  17. data/lib/bcdice/common_command/upper_dice/parser.rb +1 -1
  18. data/lib/bcdice/game_system/AngelGear.rb +1 -1
  19. data/lib/bcdice/game_system/AnimaAnimus.rb +1 -1
  20. data/lib/bcdice/game_system/Arianrhod.rb +4 -4
  21. data/lib/bcdice/game_system/AssaultEngine.rb +3 -3
  22. data/lib/bcdice/game_system/BeastBindTrinity.rb +1 -1
  23. data/lib/bcdice/game_system/BeginningIdol.rb +2 -2
  24. data/lib/bcdice/game_system/BeginningIdol2022.rb +2 -2
  25. data/lib/bcdice/game_system/BladeOfArcana.rb +3 -3
  26. data/lib/bcdice/game_system/Bloodorium.rb +68 -0
  27. data/lib/bcdice/game_system/ConvictorDrive.rb +117 -0
  28. data/lib/bcdice/game_system/Cthulhu7th_ChineseTraditional.rb +1 -1
  29. data/lib/bcdice/game_system/Cthulhu7th_Korean.rb +1 -1
  30. data/lib/bcdice/game_system/CyberpunkRed.rb +2 -6
  31. data/lib/bcdice/game_system/DeadlineHeroes.rb +1 -1
  32. data/lib/bcdice/game_system/DungeonsAndDragons5.rb +196 -0
  33. data/lib/bcdice/game_system/EmbryoMachine.rb +4 -4
  34. data/lib/bcdice/game_system/Emoklore.rb +8 -8
  35. data/lib/bcdice/game_system/FutariSousa.rb +1 -0
  36. data/lib/bcdice/game_system/GURPS.rb +1 -1
  37. data/lib/bcdice/game_system/GehennaAn.rb +2 -2
  38. data/lib/bcdice/game_system/HunterTheReckoning5th.rb +152 -0
  39. data/lib/bcdice/game_system/LostRoyal.rb +1 -1
  40. data/lib/bcdice/game_system/NobunagasBlackCastle.rb +237 -0
  41. data/lib/bcdice/game_system/OracleEngine.rb +1 -1
  42. data/lib/bcdice/game_system/Raisondetre.rb +1 -1
  43. data/lib/bcdice/game_system/RokumonSekai2.rb +1 -1
  44. data/lib/bcdice/game_system/SajinsenkiAGuS.rb +154 -0
  45. data/lib/bcdice/game_system/ShinkuuGakuen.rb +1 -1
  46. data/lib/bcdice/game_system/ShinobiGami.rb +14 -1
  47. data/lib/bcdice/game_system/SkynautsBouken.rb +93 -2
  48. data/lib/bcdice/game_system/StellarLife.rb +1 -1
  49. data/lib/bcdice/game_system/StrangerOfSwordCity.rb +1 -1
  50. data/lib/bcdice/game_system/SwordWorld.rb +2 -2
  51. data/lib/bcdice/game_system/SwordWorld2_0_SimplifiedChinese.rb +84 -0
  52. data/lib/bcdice/game_system/SwordWorld2_5_SimplifiedChinese.rb +95 -0
  53. data/lib/bcdice/game_system/SwordWorld_SimplifiedChinese.rb +29 -0
  54. data/lib/bcdice/game_system/TherapieSein.rb +2 -2
  55. data/lib/bcdice/game_system/Torg.rb +1 -1
  56. data/lib/bcdice/game_system/TorgEternity.rb +54 -18
  57. data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +26 -12
  58. data/lib/bcdice/game_system/Warhammer4.rb +4 -0
  59. data/lib/bcdice/game_system/WorldOfDarkness.rb +17 -9
  60. data/lib/bcdice/game_system/cthulhu7th/full_auto.rb +1 -1
  61. data/lib/bcdice/game_system/filled_with/tresure_tables.rb +1 -1
  62. data/lib/bcdice/game_system/sword_world/rating_parser.rb +1 -1
  63. data/lib/bcdice/game_system.rb +9 -0
  64. data/lib/bcdice/version.rb +1 -1
  65. metadata +17 -3
@@ -22,7 +22,8 @@ module BCDice
22
22
    振り足しを自動で行い、20の出目が出たときには技能無し値も並記します。
23
23
    出目1の時には「Mishap! 自動失敗!」と出力されます。
24
24
   ・UP
25
-   "UP"で高揚状態のロール(通常の1d20に加え、1d20を追加で振り足し)を行います。
25
+   "UP[m]"で高揚状態のロール(通常の1d20に加え、1d20を追加で振り足し)を行います。
26
+   []内は省略可能。mは技能基本値を入れて下さい。
26
27
    各ロールでの振り足しを自動で行い、20の出目が出たときには技能無し値も並記します。
27
28
    一投目で出目1の時には「Mishap! 自動失敗!」と出力され、二投目は行われません。
28
29
   ・POS
@@ -54,6 +55,8 @@ module BCDice
54
55
  getRollBonusDiceCommandResult(command)
55
56
  end
56
57
 
58
+ private
59
+
57
60
  #################### TORG 1.x ########################
58
61
  def replace_text(string)
59
62
  string = string.gsub(/TG(\d+)/i) { "1R20+#{Regexp.last_match(1)}" }
@@ -64,13 +67,12 @@ module BCDice
64
67
  def torg_check(string)
65
68
  string = replace_text(string)
66
69
 
67
- m = /(^|\s)S?(1R20(([+-]\d+)*))(\s|$)/i.match(string)
70
+ m = /^1R20(([+-]\d+)*)$/i.match(string)
68
71
  unless m
69
72
  return nil
70
73
  end
71
74
 
72
- string = m[2]
73
- mod = m[3]
75
+ mod = m[1]
74
76
 
75
77
  debug(mod)
76
78
  mod = ArithmeticEvaluator.eval(mod) if mod
@@ -99,8 +101,7 @@ module BCDice
99
101
  # ロールコマンド (通常ロール)
100
102
  def getRolld20DiceCommandResult(command)
101
103
  debug("Torg Eternity Dice Roll Command ? ", command)
102
- m = /(^|\s)(S)?(TE)$/i.match(command)
103
- unless m
104
+ unless command == "TE"
104
105
  return nil
105
106
  end
106
107
 
@@ -123,39 +124,74 @@ module BCDice
123
124
  # ロールコマンド (高揚ロール)
124
125
  def getUpRollDiceCommandResult(command)
125
126
  debug("Torg Eternity Dice Roll ( UP ) Command ? ", command)
126
- m = /(^|\s)(S)?(UP)$/i.match(command)
127
+ m = /^UP(\d*)$/i.match(command)
127
128
  unless m
128
129
  return nil
129
130
  end
130
131
 
132
+ sequence = []
133
+ mod = m[1].to_i
131
134
  skilled1, unskilled1, dice_str1, mishap = torg_eternity_dice(false, true)
132
135
  if mishap == 1
133
- output = "d20ロール(高揚) > 1d20[#{dice_str1}] > Mishap! 絶対失敗!"
136
+ sequence = [
137
+ "d20ロール(高揚)",
138
+ "1d20[#{dice_str1}]",
139
+ "Mishap! 絶対失敗!",
140
+ ].compact
134
141
  else
135
142
  skilled2, unskilled2, dice_str2, = torg_eternity_dice(false, false)
136
143
  subtotal_skilled = skilled1 + skilled2
137
144
  subtotal_unskilled = unskilled1 + unskilled2
138
145
  value_skilled = format("%+d", get_torg_eternity_bonus(subtotal_skilled))
139
- if subtotal_skilled != subtotal_unskilled
140
- value_unskilled = format("%+d", get_torg_eternity_bonus(subtotal_unskilled))
141
- output = "d20ロール(高揚) > 1d20[#{dice_str1}] + 1d20[#{dice_str2}] > #{value_skilled}[#{subtotal_skilled}](技能有) / #{value_unskilled}[#{subtotal_unskilled}](技能無)"
146
+ value_unskilled = format("%+d", get_torg_eternity_bonus(subtotal_unskilled))
147
+
148
+ if mod <= 0
149
+ if subtotal_skilled != subtotal_unskilled
150
+ sequence = [
151
+ "d20ロール(高揚)",
152
+ "1d20[#{dice_str1}] + 1d20[#{dice_str2}]",
153
+ "#{value_skilled}[#{subtotal_skilled}](技能有) / #{value_unskilled}[#{subtotal_unskilled}](技能無)",
154
+ ].compact
155
+ else
156
+ sequence = [
157
+ "d20ロール(高揚)",
158
+ "1d20[#{dice_str1}] + 1d20[#{dice_str2}]",
159
+ "#{value_skilled}[#{subtotal_skilled}]",
160
+ ].compact
161
+ end
142
162
  else
143
- output = "d20ロール(高揚) > 1d20[#{dice_str1}] + 1d20[#{dice_str2}] > #{value_skilled}[#{subtotal_skilled}]"
163
+ if subtotal_skilled != subtotal_unskilled
164
+ sequence = [
165
+ "d20ロール(高揚)",
166
+ "1d20[#{dice_str1}] + 1d20[#{dice_str2}] + #{mod}",
167
+ "#{value_skilled}[#{subtotal_skilled}]+#{mod}(技能有) / #{value_unskilled}[#{subtotal_unskilled}]+#{mod}(技能無)",
168
+ format("%+d", (value_skilled.to_i + mod)) + "(技能有) / " + format("%+d", (value_unskilled.to_i + mod)) + "(技能無)",
169
+ ].compact
170
+ else
171
+ sequence = [
172
+ "d20ロール(高揚)",
173
+ "1d20[#{dice_str1}] + 1d20[#{dice_str2}] + #{mod}",
174
+ "#{value_skilled}[#{subtotal_skilled}]+#{mod}",
175
+ format("%+d", (value_skilled.to_i + mod)),
176
+ ].compact
177
+ end
144
178
  end
145
179
  end
146
180
 
181
+ output = sequence.join(" > ")
182
+
147
183
  return output
148
184
  end
149
185
 
150
186
  # ロールコマンド (ポシビリティロール)
151
187
  def getPossibilityRollDiceCommandResult(command)
152
188
  debug("Torg Eternity Possibility Roll Command ? ", command)
153
- m = /(^|\s)(S)?(POS)((\d+)(\+\d+)?)/i.match(command)
189
+ m = /^POS((\d+)(\+\d+)?)$/i.match(command)
154
190
  unless m
155
191
  return nil
156
192
  end
157
193
 
158
- output_modifier = ArithmeticEvaluator.eval(m[4])
194
+ output_modifier = ArithmeticEvaluator.eval(m[1])
159
195
  skilled, unskilled, dice_str, = torg_eternity_dice(true, false)
160
196
  subtotal_skilled = skilled + output_modifier
161
197
  subtotal_unskilled = unskilled + output_modifier
@@ -173,7 +209,7 @@ module BCDice
173
209
  # ダメージボーナスコマンド
174
210
  def getBonusDamageDiceCommandResult(command)
175
211
  debug("TorgEternity Bonus Damage Roll Command ? ", command)
176
- m = /(\d+)(BD)(([+\-]\d+)*)/i.match(command)
212
+ m = /^(\d+)(BD)(([+-]\d+)*)$/i.match(command)
177
213
  unless m
178
214
  return nil
179
215
  end
@@ -193,7 +229,7 @@ module BCDice
193
229
  # 成功レベル表コマンド
194
230
  def getSuccessLevelDiceCommandResult(command)
195
231
  debug("TorgEternity Success Level Table Command ? ", command)
196
- m = /(RT|Result)(-*\d+([+\-]\d+)*)/i.match(command)
232
+ m = /^(RT|Result)(-*\d+([+-]\d+)*)$/i.match(command)
197
233
  unless m
198
234
  return nil
199
235
  end
@@ -213,7 +249,7 @@ module BCDice
213
249
  # ダメージ結果表コマンド
214
250
  def getDamageResultDiceCommandResult(command)
215
251
  debug("TorgEternity Damage Result Table Command ? ", command)
216
- m = /(DT|Damage)(-*\d+([+\-]\d+)*)/i.match(command)
252
+ m = /^(DT|Damage)(-*\d+([+-]\d+)*)$/i.match(command)
217
253
  unless m
218
254
  return nil
219
255
  end
@@ -229,7 +265,7 @@ module BCDice
229
265
  # ロールボーナス表コマンド
230
266
  def getRollBonusDiceCommandResult(command)
231
267
  debug("TorgEternity Roll Bonus Table Command ? ", command)
232
- m = /(BT|Bonus|Total)(\d+)(([+\-]\d+)*)/i.match(command)
268
+ m = /^(BT|Bonus|Total)(\d+)(([+-]\d+)*)$/i.match(command)
233
269
  unless m
234
270
  return nil
235
271
  end
@@ -15,21 +15,24 @@ module BCDice
15
15
  # ダイスボットの使い方
16
16
  HELP_MESSAGE = <<~MESSAGETEXT
17
17
  ・判定コマンド(nVMFx+x)
18
- 注意:難易度は必要成功数を表す
18
+ 注意:Hungerダイスは内数として処理する。
19
+ 例:9ダイスプールでHungerダイス3個ならば、通常ダイス6個、Hungerダイス3個となる。
20
+ また、難易度は必要成功数を表す。
19
21
 
20
- 難易度指定:判定成功と失敗、Critical判定、
22
+ 難易度指定:成功数のカウント、判定成功と失敗、Critical処理、Critical Winのチェックを行う
21
23
  (Hungerダイスがある場合)Messy CriticalとBestial Failureチェックを行う
22
- 例) (難易度)VMF(ダイスプール)+(Hungerダイス)
23
- (難易度)VMF(ダイスプール)
24
+ 例) (難易度)VMF(通常ダイス)+(Hungerダイス)
25
+ (難易度)VMF(通常ダイス)
24
26
 
25
- 難易度省略:判定失敗、Critical、(Hungerダイスがある場合)Bestial Failureチェックを行う
27
+ 難易度省略:成功数のカウント、判定失敗、Critical処理、(Hungerダイスがある場合)Bestial Failureチェックを行う
26
28
  判定成功、Messy Criticalのチェックを行わない
27
- 例) VMF(ダイスプール)+(Hungerダイス)
28
- VMF(ダイスプール)
29
+ Critical Win、(Hungerダイスがある場合)Bestial Failure、Messy Criticalのヒントを出力
30
+ 例) VMF(通常ダイス)+(Hungerダイス)
31
+ VMF(通常ダイス)
29
32
 
30
- 難易度0指定:全てのチェックを行わない
31
- 例) 0VMF(ダイスプール)+(Hungerダイス)
32
- 0VMF(ダイスプール)
33
+ 難易度0指定:Critical処理と成功数のカウントを行い、全てのチェックを行わない
34
+ 例) 0VMF(通常ダイス)+(Hungerダイス)
35
+ 0VMF(通常ダイス)
33
36
 
34
37
  MESSAGETEXT
35
38
 
@@ -44,7 +47,7 @@ module BCDice
44
47
  register_prefix('\d*VMF')
45
48
 
46
49
  def eval_game_system_specific_command(command)
47
- m = /\A(\d+)?(VMF)(\d+)(\+(\d+))?/.match(command)
50
+ m = /\A(\d+)?(VMF)(\d+)(\+(\d+))?$/.match(command)
48
51
  unless m
49
52
  return ''
50
53
  end
@@ -78,12 +81,13 @@ module BCDice
78
81
 
79
82
  def get_roll_result(result_text, success_dice, ten_dice, hunger_ten_dice, hunger_botch_dice, difficulty)
80
83
  result_text = "#{result_text} 成功数=#{success_dice}"
84
+ is_critical = ten_dice >= 2
81
85
 
82
86
  if difficulty > 0
83
87
  result_text = "#{result_text} 難易度=#{difficulty}"
84
88
 
85
89
  if success_dice >= difficulty
86
- is_critical = ten_dice >= 2
90
+ result_text = "#{result_text} 差分=#{success_dice - difficulty}"
87
91
 
88
92
  if hunger_ten_dice > 0 && is_critical
89
93
  return Result.critical("#{result_text}:判定成功! [Messy Critical]")
@@ -106,6 +110,16 @@ module BCDice
106
110
  end
107
111
 
108
112
  return Result.failure("#{result_text}:判定失敗!")
113
+ else
114
+ if hunger_botch_dice > 0
115
+ result_text = "#{result_text}\n 判定失敗なら [Bestial Failure]"
116
+ end
117
+ if hunger_ten_dice > 0 && is_critical
118
+ result_text = "#{result_text}\n 判定成功なら [Messy Critical]"
119
+ elsif is_critical
120
+ result_text = "#{result_text}\n 判定成功なら [Critical Win]"
121
+ end
122
+ return result_text.to_s
109
123
  end
110
124
  end
111
125
 
@@ -72,6 +72,10 @@ module BCDice
72
72
  end
73
73
 
74
74
  sl_text = format("(SL%+d)", sl)
75
+ if (sl == 0) && (total > target)
76
+ sl_text = "(SL-0)"
77
+ end
78
+
75
79
  result.text += "#{sl_text} > #{result_detail(sl, total, target)}"
76
80
 
77
81
  return result
@@ -16,11 +16,12 @@ module BCDice
16
16
  HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
17
17
  ・判定コマンド(xSTn+y or xSTSn+y or xSTAn+y)
18
18
   (ダイス個数)ST(難易度)+(自動成功)
19
-  (ダイス個数)STS(難易度)+(自動成功) ※出目10で振り足し
19
+  (ダイス個数)STS(難易度)+(自動成功) ※出目10で振り足し、振り足し分の出目1で打ち消されない
20
+  (ダイス個数)STB(難易度)+(自動成功) ※出目10で振り足し、振り足し分の出目1で打ち消される
20
21
   (ダイス個数)STA(難易度)+(自動成功) ※出目10は2成功 [20thルール]
21
22
 
22
23
   難易度=省略時6
23
-  自動成功=省略時0
24
+  自動成功=省略時0、出目1で打ち消されない自動成功を指定
24
25
  INFO_MESSAGE_TEXT
25
26
 
26
27
  register_prefix('\d+ST')
@@ -29,9 +30,10 @@ module BCDice
29
30
  difficulty = 6
30
31
  auto_success = 0
31
32
  enabled_reroll = false
33
+ enabled_reroll_with_botch = false
32
34
  enabled_20th = false
33
35
 
34
- md = command.match(/\A(\d+)(ST[SA]?)(\d+)?([+-]\d+)?/)
36
+ md = command.match(/\A(\d+)(ST[SAB]?)(\d+)?([+-]\d+)?/)
35
37
 
36
38
  dice_pool = md[1].to_i
37
39
  case md[2]
@@ -39,6 +41,8 @@ module BCDice
39
41
  enabled_reroll = true
40
42
  when 'STA'
41
43
  enabled_20th = true
44
+ when 'STB'
45
+ enabled_reroll_with_botch = true
42
46
  end
43
47
  difficulty = md[3].to_i if md[3]
44
48
  auto_success = md[4].to_i if md[4]
@@ -71,12 +75,16 @@ module BCDice
71
75
  total_success += ten_success
72
76
 
73
77
  # 振り足し判定ありなら10が出ただけ振り足しを行う
74
- if enabled_reroll
78
+ if enabled_reroll || enabled_reroll_with_botch
75
79
  while ten_success > 0
76
- # 振り足しの出目1は大失敗ではない
77
- dice, ten_success, success = roll_wod(ten_success, difficulty)
80
+ dice, ten_success, success, botch = roll_wod(ten_success, difficulty)
78
81
  sequence.push dice.join(',')
79
82
  total_success += (success + ten_success)
83
+
84
+ if enabled_reroll_with_botch
85
+ # 振り足しでのボッチありなら出目1をカウントする
86
+ total_botch += botch
87
+ end
80
88
  end
81
89
  end
82
90
  end
@@ -87,15 +95,15 @@ module BCDice
87
95
 
88
96
  if total_success > 0
89
97
  sequence.push "成功数#{total_success}"
98
+ return Result.success(sequence.join(' > '))
90
99
  elsif total_botch > 0 && once_success == false
91
100
  # ボッチが存在し、かつ成功がひとつもない場合のみ大失敗
92
101
  sequence.push "大失敗"
102
+ return Result.fumble(sequence.join(' > '))
93
103
  else
94
104
  sequence.push "失敗"
105
+ return Result.failure(sequence.join(' > '))
95
106
  end
96
-
97
- output = sequence.join(' > ')
98
- return output
99
107
  end
100
108
 
101
109
  # 出目10と1、難易度以上が出た成功の目をカウントする。
@@ -100,7 +100,7 @@ module BCDice
100
100
  }
101
101
 
102
102
  # 難易度変更用ループ
103
- (0..3).each do |more_difficulty|
103
+ 4.times do |more_difficulty|
104
104
  output += getNextDifficultyMessage(more_difficulty)
105
105
 
106
106
  # ペナルティダイスを減らしながらロール用ループ
@@ -5,7 +5,7 @@ module BCDice
5
5
  class FilledWith < Base
6
6
  # 夢幻の迷宮財宝表
7
7
  def getTresureResult(command)
8
- m = /^TRS(\d+)([+\-]\d)?$/.match(command)
8
+ m = /^TRS(\d+)([+-]\d)?$/.match(command)
9
9
  unless m
10
10
  return nil
11
11
  end
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.5.2
3
+ # This file is automatically generated by Racc 1.6.2
4
4
  # from Racc grammar file "".
5
5
  #
6
6
 
@@ -31,6 +31,7 @@ require "bcdice/game_system/BladeOfArcana"
31
31
  require "bcdice/game_system/BlindMythos"
32
32
  require "bcdice/game_system/BloodCrusade"
33
33
  require "bcdice/game_system/BloodMoon"
34
+ require "bcdice/game_system/Bloodorium"
34
35
  require "bcdice/game_system/CardRanker"
35
36
  require "bcdice/game_system/CastleInGray"
36
37
  require "bcdice/game_system/ChaosFlare"
@@ -39,6 +40,7 @@ require "bcdice/game_system/Chill3"
39
40
  require "bcdice/game_system/CodeLayerd"
40
41
  require "bcdice/game_system/ColossalHunter"
41
42
  require "bcdice/game_system/Comes"
43
+ require "bcdice/game_system/ConvictorDrive"
42
44
  require "bcdice/game_system/CrashWorld"
43
45
  require "bcdice/game_system/Cthulhu"
44
46
  require "bcdice/game_system/Cthulhu7th"
@@ -64,6 +66,7 @@ require "bcdice/game_system/DoubleCross_Korean"
64
66
  require "bcdice/game_system/Dracurouge"
65
67
  require "bcdice/game_system/Dracurouge_Korean"
66
68
  require "bcdice/game_system/DungeonsAndDragons"
69
+ require "bcdice/game_system/DungeonsAndDragons5"
67
70
  require "bcdice/game_system/EarthDawn"
68
71
  require "bcdice/game_system/EarthDawn3"
69
72
  require "bcdice/game_system/EarthDawn4"
@@ -100,6 +103,7 @@ require "bcdice/game_system/HatsuneMiku"
100
103
  require "bcdice/game_system/Hieizan"
101
104
  require "bcdice/game_system/HouraiGakuen"
102
105
  require "bcdice/game_system/HuntersMoon"
106
+ require "bcdice/game_system/HunterTheReckoning5th"
103
107
  require "bcdice/game_system/IfIfIf"
104
108
  require "bcdice/game_system/Illusio"
105
109
  require "bcdice/game_system/InfiniteBabeL"
@@ -144,6 +148,7 @@ require "bcdice/game_system/NightWizard3rd"
144
148
  require "bcdice/game_system/NightmareHunterDeep"
145
149
  require "bcdice/game_system/NinjaSlayer"
146
150
  require "bcdice/game_system/NjslyrBattle"
151
+ require "bcdice/game_system/NobunagasBlackCastle"
147
152
  require "bcdice/game_system/NSSQ"
148
153
  require "bcdice/game_system/Nuekagami"
149
154
  require "bcdice/game_system/OneWayHeroics"
@@ -171,6 +176,7 @@ require "bcdice/game_system/RuinBreakers"
171
176
  require "bcdice/game_system/RuneQuest"
172
177
  require "bcdice/game_system/RyuTuber"
173
178
  require "bcdice/game_system/Ryutama"
179
+ require "bcdice/game_system/SajinsenkiAGuS"
174
180
  require "bcdice/game_system/SRS"
175
181
  require "bcdice/game_system/SamsaraBallad"
176
182
  require "bcdice/game_system/Satasupe"
@@ -201,6 +207,9 @@ require "bcdice/game_system/Strave"
201
207
  require "bcdice/game_system/SwordWorld"
202
208
  require "bcdice/game_system/SwordWorld2_0"
203
209
  require "bcdice/game_system/SwordWorld2_5"
210
+ require "bcdice/game_system/SwordWorld_SimplifiedChinese"
211
+ require "bcdice/game_system/SwordWorld2_0_SimplifiedChinese"
212
+ require "bcdice/game_system/SwordWorld2_5_SimplifiedChinese"
204
213
  require "bcdice/game_system/TalesFromTheLoop"
205
214
  require "bcdice/game_system/TherapieSein"
206
215
  require "bcdice/game_system/TokumeiTenkousei"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BCDice
4
- VERSION = "3.7.0"
4
+ VERSION = "3.8.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.7.0
4
+ version: 3.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - SAKATA Sinji
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-21 00:00:00.000000000 Z
11
+ date: 2023-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -36,6 +36,7 @@ files:
36
36
  - README.md
37
37
  - i18n/Amadeus/ja_jp.yml
38
38
  - i18n/Amadeus/ko_kr.yml
39
+ - i18n/Arianrhod/ja_jp.yml
39
40
  - i18n/BeginningIdol/ja_jp.yml
40
41
  - i18n/BeginningIdol/ko_kr.yml
41
42
  - i18n/Cthulhu/ja_jp.yml
@@ -48,6 +49,7 @@ files:
48
49
  - i18n/DoubleCross/ko_kr.yml
49
50
  - i18n/Dracurouge/ja_jp.yml
50
51
  - i18n/Dracurouge/ko_kr.yml
52
+ - i18n/Emoklore/ja_jp.yml
51
53
  - i18n/Fiasco/ja_jp.yml
52
54
  - i18n/Fiasco/ko_kr.yml
53
55
  - i18n/FutariSousa/ja_jp.yml
@@ -72,8 +74,11 @@ files:
72
74
  - i18n/StratoShout/ja_jp.yml
73
75
  - i18n/StratoShout/ko_kr.yml
74
76
  - i18n/SwordWorld/ja_jp.yml
77
+ - i18n/SwordWorld/zh_hans.yml
75
78
  - i18n/SwordWorld2_0/ja_jp.yml
79
+ - i18n/SwordWorld2_0/zh_hans.yml
76
80
  - i18n/SwordWorld2_5/ja_jp.yml
81
+ - i18n/SwordWorld2_5/zh_hans.yml
77
82
  - i18n/ja_jp.yml
78
83
  - i18n/ko_kr.yml
79
84
  - i18n/zh_hans.yml
@@ -163,6 +168,7 @@ files:
163
168
  - lib/bcdice/game_system/BlindMythos.rb
164
169
  - lib/bcdice/game_system/BloodCrusade.rb
165
170
  - lib/bcdice/game_system/BloodMoon.rb
171
+ - lib/bcdice/game_system/Bloodorium.rb
166
172
  - lib/bcdice/game_system/CardRanker.rb
167
173
  - lib/bcdice/game_system/CastleInGray.rb
168
174
  - lib/bcdice/game_system/ChaosFlare.rb
@@ -171,6 +177,7 @@ files:
171
177
  - lib/bcdice/game_system/CodeLayerd.rb
172
178
  - lib/bcdice/game_system/ColossalHunter.rb
173
179
  - lib/bcdice/game_system/Comes.rb
180
+ - lib/bcdice/game_system/ConvictorDrive.rb
174
181
  - lib/bcdice/game_system/CrashWorld.rb
175
182
  - lib/bcdice/game_system/Cthulhu.rb
176
183
  - lib/bcdice/game_system/Cthulhu7th.rb
@@ -196,6 +203,7 @@ files:
196
203
  - lib/bcdice/game_system/Dracurouge.rb
197
204
  - lib/bcdice/game_system/Dracurouge_Korean.rb
198
205
  - lib/bcdice/game_system/DungeonsAndDragons.rb
206
+ - lib/bcdice/game_system/DungeonsAndDragons5.rb
199
207
  - lib/bcdice/game_system/EarthDawn.rb
200
208
  - lib/bcdice/game_system/EarthDawn3.rb
201
209
  - lib/bcdice/game_system/EarthDawn4.rb
@@ -231,6 +239,7 @@ files:
231
239
  - lib/bcdice/game_system/HatsuneMiku.rb
232
240
  - lib/bcdice/game_system/Hieizan.rb
233
241
  - lib/bcdice/game_system/HouraiGakuen.rb
242
+ - lib/bcdice/game_system/HunterTheReckoning5th.rb
234
243
  - lib/bcdice/game_system/HuntersMoon.rb
235
244
  - lib/bcdice/game_system/IfIfIf.rb
236
245
  - lib/bcdice/game_system/Illusio.rb
@@ -277,6 +286,7 @@ files:
277
286
  - lib/bcdice/game_system/NightmareHunterDeep.rb
278
287
  - lib/bcdice/game_system/NinjaSlayer.rb
279
288
  - lib/bcdice/game_system/NjslyrBattle.rb
289
+ - lib/bcdice/game_system/NobunagasBlackCastle.rb
280
290
  - lib/bcdice/game_system/Nuekagami.rb
281
291
  - lib/bcdice/game_system/OneWayHeroics.rb
282
292
  - lib/bcdice/game_system/OracleEngine.rb
@@ -304,6 +314,7 @@ files:
304
314
  - lib/bcdice/game_system/RyuTuber.rb
305
315
  - lib/bcdice/game_system/Ryutama.rb
306
316
  - lib/bcdice/game_system/SRS.rb
317
+ - lib/bcdice/game_system/SajinsenkiAGuS.rb
307
318
  - lib/bcdice/game_system/SamsaraBallad.rb
308
319
  - lib/bcdice/game_system/Satasupe.rb
309
320
  - lib/bcdice/game_system/ScreamHighSchool.rb
@@ -332,7 +343,10 @@ files:
332
343
  - lib/bcdice/game_system/Strave.rb
333
344
  - lib/bcdice/game_system/SwordWorld.rb
334
345
  - lib/bcdice/game_system/SwordWorld2_0.rb
346
+ - lib/bcdice/game_system/SwordWorld2_0_SimplifiedChinese.rb
335
347
  - lib/bcdice/game_system/SwordWorld2_5.rb
348
+ - lib/bcdice/game_system/SwordWorld2_5_SimplifiedChinese.rb
349
+ - lib/bcdice/game_system/SwordWorld_SimplifiedChinese.rb
336
350
  - lib/bcdice/game_system/TalesFromTheLoop.rb
337
351
  - lib/bcdice/game_system/TherapieSein.rb
338
352
  - lib/bcdice/game_system/TokumeiTenkousei.rb
@@ -434,7 +448,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
434
448
  - !ruby/object:Gem::Version
435
449
  version: '0'
436
450
  requirements: []
437
- rubygems_version: 3.3.7
451
+ rubygems_version: 3.4.5
438
452
  signing_key:
439
453
  specification_version: 4
440
454
  summary: BCDice is a rolling dice engine for TRPG