bcdice 3.0.0.pre.rc.1 → 3.0.0.pre.rc.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/i18n/DetatokoSaga/ja_jp.yml +3 -2
  4. data/i18n/DetatokoSaga/ko_kr.yml +1 -0
  5. data/lib/bcdice.rb +2 -0
  6. data/lib/bcdice/arithmetic_evaluator.rb +2 -0
  7. data/lib/bcdice/common_command.rb +2 -0
  8. data/lib/bcdice/common_command/add_dice.rb +2 -0
  9. data/lib/bcdice/common_command/add_dice/randomizer.rb +2 -0
  10. data/lib/bcdice/common_command/barabara_dice.rb +2 -0
  11. data/lib/bcdice/common_command/barabara_dice/node.rb +2 -0
  12. data/lib/bcdice/common_command/calc.rb +2 -0
  13. data/lib/bcdice/common_command/d66_dice.rb +2 -0
  14. data/lib/bcdice/common_command/upper_dice.rb +2 -0
  15. data/lib/bcdice/common_command/version.rb +2 -0
  16. data/lib/bcdice/dice_table.rb +2 -0
  17. data/lib/bcdice/dice_table/chain_table.rb +2 -0
  18. data/lib/bcdice/dice_table/d66_grid_table.rb +2 -0
  19. data/lib/bcdice/dice_table/d66_parity_table.rb +2 -0
  20. data/lib/bcdice/dice_table/d66_range_table.rb +2 -0
  21. data/lib/bcdice/dice_table/d66_table.rb +2 -0
  22. data/lib/bcdice/dice_table/roll_result.rb +2 -0
  23. data/lib/bcdice/dice_table/table.rb +2 -0
  24. data/lib/bcdice/enum.rb +2 -0
  25. data/lib/bcdice/format.rb +2 -0
  26. data/lib/bcdice/game_system.rb +6 -0
  27. data/lib/bcdice/game_system/AlchemiaStruggle.rb +58 -24
  28. data/lib/bcdice/game_system/BBN.rb +6 -4
  29. data/lib/bcdice/game_system/BlindMythos.rb +0 -1
  30. data/lib/bcdice/game_system/CodeLayerd.rb +33 -65
  31. data/lib/bcdice/game_system/DesperateRun.rb +163 -0
  32. data/lib/bcdice/game_system/DetatokoSaga.rb +25 -7
  33. data/lib/bcdice/game_system/DetatokoSaga_Korean.rb +3 -3
  34. data/lib/bcdice/game_system/DiceBot.rb +22 -4
  35. data/lib/bcdice/game_system/InfiniteBabeL.rb +518 -0
  36. data/lib/bcdice/game_system/JekyllAndHyde.rb +42 -0
  37. data/lib/bcdice/game_system/Peekaboo.rb +1 -1
  38. data/lib/bcdice/game_system/RecordOfLodossWar.rb +6 -4
  39. data/lib/bcdice/game_system/RyuTuber.rb +6 -4
  40. data/lib/bcdice/game_system/Satasupe.rb +0 -2
  41. data/lib/bcdice/game_system/ShoujoTenrankai.rb +1 -1
  42. data/lib/bcdice/game_system/SteamPunkers.rb +6 -4
  43. data/lib/bcdice/game_system/Yggdrasill.rb +605 -0
  44. data/lib/bcdice/game_system/meikyu_kingdom/item_table.rb +2 -0
  45. data/lib/bcdice/game_system/meikyu_kingdom/kingdom_name_table.rb +2 -0
  46. data/lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb +2 -0
  47. data/lib/bcdice/game_system/meikyu_kingdom/name_tables.rb +2 -0
  48. data/lib/bcdice/game_system/meikyu_kingdom/placename_table.rb +2 -0
  49. data/lib/bcdice/game_system/meikyu_kingdom/tables.rb +2 -0
  50. data/lib/bcdice/game_system/meikyu_kingdom/word_table.rb +2 -0
  51. data/lib/bcdice/game_system/meikyu_kingdom_basic/item_table.rb +2 -0
  52. data/lib/bcdice/game_system/meikyu_kingdom_basic/kingdom_table.rb +2 -0
  53. data/lib/bcdice/game_system/meikyu_kingdom_basic/name_table.rb +2 -0
  54. data/lib/bcdice/game_system/meikyu_kingdom_basic/table.rb +2 -0
  55. data/lib/bcdice/game_system/meikyu_kingdom_basic/word_table.rb +2 -0
  56. data/lib/bcdice/game_system/one_way_heroics/dungeon_table.rb +2 -0
  57. data/lib/bcdice/game_system/one_way_heroics/random_event_table.rb +2 -0
  58. data/lib/bcdice/game_system/one_way_heroics/tables.rb +2 -0
  59. data/lib/bcdice/loader.rb +11 -4
  60. data/lib/bcdice/normalize.rb +2 -0
  61. data/lib/bcdice/randomizer.rb +2 -0
  62. data/lib/bcdice/repl.rb +2 -0
  63. data/lib/bcdice/result.rb +2 -0
  64. data/lib/bcdice/translate.rb +2 -0
  65. data/lib/bcdice/user_defined_dice_table.rb +2 -0
  66. data/lib/bcdice/version.rb +3 -1
  67. metadata +6 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 543af352f4624f57fc45ef2dcbd5d791c8b61b65c487b9da009a26a1f1645114
4
- data.tar.gz: 8a959dd5c0925a6fba2d2809d94131ba22704acb5718715144a454cde69bf0b1
3
+ metadata.gz: 55126c604f27cdbc88666e1db1e0ba1a41e25231d9ba6b8f3a0af7f815635071
4
+ data.tar.gz: 2b7eff8967a7de735bdad238f4b2d9c6341ecb7722c08fbba56eed7664001769
5
5
  SHA512:
6
- metadata.gz: c7fefae9b0473ac2642f2a42d51085ea4ec46966fe4a5ca2467e92d66ef7cd81beb1d466b8dc04e9f78236fcfc86e4b6d6a0cdf011f90cff57b495edddb75075
7
- data.tar.gz: 7cff2e1ff26358f2ebba187fe9aefb25bd086e4267c7842da946f093347286f0071b726714deb8b994bb608929424e24502e144f6eaec9edf07a4e42e09e9502
6
+ metadata.gz: 138610ab3c08353af3fb34acec240e8857e83c989c058ed2b6faa26dbccbee852f03d15d358039c3b2cbec5073ff49339118d988eacb1be035ec11721883c6d5
7
+ data.tar.gz: 58fef97c6e5e515aaab831e5ed09c425f94c5396bdab7a6dcb52babbac9e9933003c7d268fb717b208e3d07cfaebbeef5aca84b23a061b78ea274fa89b9475aa
@@ -12,6 +12,10 @@
12
12
  - アルケミア・ストラグル (AlchemiaStruggle): ViViさんありがとうっ! ([#341](https://github.com/bcdice/BCDice/pull/341))
13
13
  - 呪印感染 (JuinKansen): 猫あきら。さん情報提供ありがとうっ! ([#345](https://github.com/bcdice/BCDice/pull/345))
14
14
  - 韓国語版マギカロギア 마기카로기아 (MagicaLogia:Korean): Faithさんありがとうっ! ([#360](https://github.com/bcdice/BCDice/pull/360))
15
+ - 鋼鉄のユグドラシル (Yggdrasill): Doktorさん、Mid9658さんありがとうっ! ([#361](https://github.com/bcdice/BCDice/pull/361))
16
+ - Desperate Run TRPG (Desperate Run): えおふさんありがとうっ! ([#362](https://github.com/bcdice/BCDice/pull/362))
17
+ - ジキルとハイドとグリトグラ (JekyllAndHyde): えおふさんありがとうっ! ([#362](https://github.com/bcdice/BCDice/pull/362))
18
+ - 少年のための少女展爛会異聞 Infinite BabeL (InfiniteBabeL): 全裸さんありがとうっ! ([#367](https://github.com/bcdice/BCDice/pull/367))
15
19
 
16
20
  ### 追加機能
17
21
  - ログ・ホライズンTRPG: LHZB1とLHZB2両方の財宝表をサポート、消耗表ロールを追加、財宝表ロールを追加、区切り文字を変更 ([#279](https://github.com/bcdice/BCDice/pull/279))
@@ -1,11 +1,12 @@
1
1
  ja_jp:
2
2
  DetatokoSaga:
3
3
  DS:
4
- input_options: "判定! スキルレベル:%{skill} フラグ:%{flag} 目標値:%{target}"
4
+ input_options: "判定! スキルランク:%{skill} フラグ:%{flag} 目標値:%{target}"
5
+ modifier: " 修正値:%{modifier}"
5
6
  success: 目標値以上!【成功】
6
7
  failure: 目標値未満…【失敗】
7
8
  JD:
8
- input_options: "判定! スキルレベル:%{skill} フラグ:%{flag}"
9
+ input_options: "判定! スキルランク:%{skill} フラグ:%{flag}"
9
10
  modifier: " 修正値:%{modifier}"
10
11
  total_value: "判定値:%{total}"
11
12
  less_than_flag: "、フラグ以下!【気力%{will}点減少】【判定値変更不可】"
@@ -2,6 +2,7 @@ ko_kr:
2
2
  DetatokoSaga:
3
3
  DS:
4
4
  input_options: "판정! 스킬레벨:%{skill} 플래그:%{flag} 목표치:%{target}"
5
+ modifier: " 수정치:%{modifier}"
5
6
  success: 목표치 이상!【성공】
6
7
  failure: 목표치 미달… 【실패】
7
8
  JD:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/version"
2
4
  require "bcdice/arithmetic"
3
5
  require "bcdice/arithmetic_evaluator"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module ArithmeticEvaluator
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/common_command/add_dice"
2
4
  require "bcdice/common_command/barabara_dice"
3
5
  require "bcdice/common_command/calc"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/normalize"
2
4
  require "bcdice/common_command/add_dice/parser"
3
5
  require "bcdice/common_command/add_dice/randomizer"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module CommonCommand
3
5
  module AddDice
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/common_command/barabara_dice/parser"
2
4
 
3
5
  module BCDice
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/format"
2
4
  require "bcdice/common_command/barabara_dice/result"
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/common_command/calc/parser"
2
4
 
3
5
  module BCDice
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module CommonCommand
3
5
  class D66Dice
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/common_command/upper_dice/parser"
2
4
 
3
5
  module BCDice
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module CommonCommand
3
5
  module Version
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/dice_table/roll_result"
2
4
  require "bcdice/dice_table/chain_table"
3
5
  require "bcdice/dice_table/d66_grid_table"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  class ChainTable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  # D66を振って6x6マスの表を参照する
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  # 出目の偶奇による場合分け機能をもつD66表
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  # 項目をRangeを用いて参照するD66表
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  # D66を振って出目を昇順/降順にして表を参照する
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  class RollResult
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  # 表を表すクラス
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  # D66のダイス入れ替え
3
5
  module D66SortType
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module Format
3
5
  module_function
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/game_system/AFF2e"
2
4
  require "bcdice/game_system/AceKillerGene"
3
5
  require "bcdice/game_system/Airgetlamh"
@@ -42,6 +44,7 @@ require "bcdice/game_system/DarkDaysDrive"
42
44
  require "bcdice/game_system/DarkSouls"
43
45
  require "bcdice/game_system/DeadlineHeroes"
44
46
  require "bcdice/game_system/DemonParasite"
47
+ require "bcdice/game_system/DesperateRun"
45
48
  require "bcdice/game_system/DetatokoSaga"
46
49
  require "bcdice/game_system/DetatokoSaga_Korean"
47
50
  require "bcdice/game_system/DiceBot"
@@ -86,11 +89,13 @@ require "bcdice/game_system/Hieizan"
86
89
  require "bcdice/game_system/HouraiGakuen"
87
90
  require "bcdice/game_system/HuntersMoon"
88
91
  require "bcdice/game_system/Illusio"
92
+ require "bcdice/game_system/InfiniteBabeL"
89
93
  require "bcdice/game_system/InfiniteFantasia"
90
94
  require "bcdice/game_system/Insane"
91
95
  require "bcdice/game_system/Insane_Korean"
92
96
  require "bcdice/game_system/IthaWenUa"
93
97
  require "bcdice/game_system/JamesBond"
98
+ require "bcdice/game_system/JekyllAndHyde"
94
99
  require "bcdice/game_system/JuinKansen"
95
100
  require "bcdice/game_system/Kamigakari"
96
101
  require "bcdice/game_system/Kamigakari_Korean"
@@ -193,4 +198,5 @@ require "bcdice/game_system/WitchQuest"
193
198
  require "bcdice/game_system/WorldOfDarkness"
194
199
  require "bcdice/game_system/YankeeYogSothoth"
195
200
  require "bcdice/game_system/YearZeroEngine"
201
+ require "bcdice/game_system/Yggdrasill"
196
202
  require "bcdice/game_system/ZettaiReido"
@@ -10,39 +10,52 @@ module BCDice
10
10
  SORT_KEY = "あるけみあすとらくる"
11
11
 
12
12
  HELP_MESSAGE = <<~MESSAGETEXT
13
- ■ ダイスロール( xAS )
14
- xDをロールします。
15
- 例) 5AS
16
- #{' '}
17
- ■ ダイスロール&最大になるようにピック( xASy )
18
- xDをロールし、そこから最大になるようにy個をピックします。
19
- 例) 4AS3
20
- #{' '}
21
-
22
- ・奇跡の触媒
23
- ・エレメント (CELE, CElement)
24
- ・アルケミア (CALC, CAlchemia)
25
- ・インフォーマント (CINF, CInformant)
26
- ・イノセンス (CINN, CInnocence)
27
- ・アクワイヤード (CACQ, CAcquired)
28
- ・携行品
29
- ・Sサイズ (ARS, ArticleS)
30
- ・Mサイズ (ARM, ArticleM)
31
- ・Lサイズ (ARL, ArticleL)
32
- ・PC情報獲得表 (PCI, PCInformation)
33
- ・理由表 (REA, Reason)
34
- ・交流表 (ASS, Associate)
35
- ・接触のきっかけ表 (CON, Contact)
13
+ ■ ダイスロール( xAS )
14
+ xDをロールします。
15
+ 例) 5AS
16
+
17
+ ■ ダイスロール&最大になるようにピック( xASy )
18
+ xDをロールし、そこから最大になるようにy個をピックします。
19
+ 例) 4AS3
20
+
21
+ ウルダイスの獲得( xUL )
22
+ xDのウルダイスを振り、出た出目の個数をNo.ごとにカウントします。
23
+ 例) 6UL
24
+
25
+
26
+ ・奇跡の触媒
27
+ ・エレメント (CELE, CElement)
28
+ ・アルケミア (CALC, CAlchemia)
29
+ ・インフォーマント (CINF, CInformant)
30
+ ・イノセンス (CINN, CInnocence)
31
+ ・アクワイヤード (CACQ, CAcquired)
32
+ ・携行品
33
+ ・Sサイズ (ARS, ArticleS)
34
+ ・Mサイズ (ARM, ArticleM)
35
+ ・Lサイズ (ARL, ArticleL)
36
+ ・PC情報獲得表 (PCI, PCInformation)
37
+ ・理由表 (REA, Reason)
38
+ ・交流表 (ASS, Associate)
39
+ ・接触のきっかけ表 (CON, Contact)
36
40
  MESSAGETEXT
37
41
 
38
42
  ROLL_REG = /^(\d+)AS(\d+)?$/i.freeze
39
43
 
40
- register_prefix('\\d+AS')
44
+ register_prefix('\d+AS', '\d+UL')
45
+
46
+ def initialize(command)
47
+ super(command)
48
+
49
+ @sort_add_dice = true # 加算ダイスのソート有
50
+ @sort_barabara_dice = true # バラバラダイスでソート有
51
+ @round_type = RoundType::CEIL # 割り算をした時の端数切り上げ
52
+ end
41
53
 
42
54
  def eval_game_system_specific_command(command)
43
55
  c = ALIAS[command] || command
44
56
 
45
57
  try_roll_alchemia(c) ||
58
+ try_roll_uldice(c) ||
46
59
  roll_tables(c, TABLES)
47
60
  end
48
61
 
@@ -67,6 +80,27 @@ module BCDice
67
80
  end
68
81
  end
69
82
 
83
+ def try_roll_uldice(command)
84
+ match = /^(\d+)UL$/.match(command)
85
+ return nil unless match
86
+
87
+ roll_dice_count = match[1].to_i
88
+ dice_list = @randomizer.roll_barabara(roll_dice_count, 6).sort
89
+ dice_list_text = dice_list.join(",")
90
+
91
+ result = dice_list.group_by(&:itself)
92
+ .map { |k, v| "No.#{k}: #{v.size}個" }
93
+ .join(", ")
94
+
95
+ sequence = [
96
+ "(#{roll_dice_count}D6)",
97
+ "[#{dice_list_text}]",
98
+ result
99
+ ]
100
+
101
+ sequence.join(" > ")
102
+ end
103
+
70
104
  def roll_alchemia(roll_dice_count)
71
105
  @randomizer.roll_barabara(roll_dice_count, 6)
72
106
  end
@@ -1,16 +1,18 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module GameSystem
3
5
  class BBN < Base
4
6
  # ダイスボットで使用するコマンドを配列で列挙する
5
7
  register_prefix('\d+BN.*')
6
8
 
7
- ID = 'BBN'.freeze
9
+ ID = 'BBN'
8
10
 
9
- NAME = 'BBNTRPG'.freeze
11
+ NAME = 'BBNTRPG'
10
12
 
11
- SORT_KEY = 'ひいひいえぬTRPG'.freeze
13
+ SORT_KEY = 'ひいひいえぬTRPG'
12
14
 
13
- HELP_MESSAGE = <<~MESSAGETEXT.freeze
15
+ HELP_MESSAGE = <<~MESSAGETEXT
14
16
  ・判定(xBN±y>=z[c,f])
15
17
   xD6の判定。クリティカル、ファンブルの自動判定を行います。
16
18
   1Dのクリティカル値とファンブル値は1。2Dのクリティカル値とファンブル値は2。
@@ -167,7 +167,6 @@ module BCDice
167
167
 
168
168
  canReRoll = !rerollCommand.empty?
169
169
 
170
- # frozen_string_literal: true
171
170
  # ゲームシステムの識別子
172
171
  # ゲームシステム名
173
172
  # ゲームシステム名の読みがな
@@ -30,6 +30,12 @@ module BCDice
30
30
 
31
31
  register_prefix('[+-]?\d*CL([+-]\d+)?[@\d]*.*')
32
32
 
33
+ def initialize(command)
34
+ super(command)
35
+
36
+ @sides_implicit_d = 10
37
+ end
38
+
33
39
  def eval_game_system_specific_command(command)
34
40
  debug('eval_game_system_specific_command command', command)
35
41
 
@@ -41,10 +47,10 @@ module BCDice
41
47
  base = (m[1] || 1).to_i
42
48
  modifier1 = m[2].to_i
43
49
  target = (m[4] || 6).to_i
44
- criticalTarget = (m[6] || 1).to_i
50
+ critical_target = (m[6] || 1).to_i
45
51
  modifier2 = m[7].to_i
46
52
  diff = m[9].to_i
47
- result = checkRoll(base, target, criticalTarget, diff, modifier1 + modifier2)
53
+ result = check_roll(base, target, critical_target, diff, modifier1 + modifier2)
48
54
  end
49
55
 
50
56
  return nil if result.empty?
@@ -52,80 +58,42 @@ module BCDice
52
58
  return "#{command} > #{result}"
53
59
  end
54
60
 
55
- def checkRoll(base, target, criticalTarget, diff, modifier)
56
- result = ""
57
-
58
- base = getValue(base)
59
- target = getValue(target)
60
- criticalTarget = getValue(criticalTarget)
61
- if base <= 0
62
- criticalTarget = 0
61
+ def check_roll(base, target, critical_target, diff, modifier)
62
+ if base <= 0 # クリティカルしない1D
63
+ critical_target = 0
63
64
  base = 1
64
65
  end
65
66
 
66
67
  target = 10 if target > 10
68
+ dice_list = @randomizer.roll_barabara(base, 10).sort
69
+ success_count = dice_list.count { |x| x <= target }
70
+ critical_count = dice_list.count { |x| x <= critical_target }
71
+ success_total = success_count + critical_count + modifier
67
72
 
68
- result += "(#{base}d10#{Format.modifier(modifier)})"
69
-
70
- diceList = @randomizer.roll_barabara(base, 10).sort
71
-
72
- result += " > [#{diceList.join(',')}]#{Format.modifier(modifier)} > "
73
- result += getRollResultString(diceList, target, criticalTarget, diff, modifier)
74
-
75
- return result
76
- end
77
-
78
- def getRollResultString(diceList, target, criticalTarget, diff, modifier)
79
- successCount, criticalCount = getSuccessInfo(diceList, target, criticalTarget)
80
-
81
- successTotal = successCount + criticalCount + modifier
82
- result = ""
73
+ mod_text = Format.modifier(modifier)
83
74
 
75
+ # (10d10+5)
76
+ result = "(#{base}d10#{mod_text}) > [#{dice_list.join(',')}]#{mod_text} > "
84
77
  result += "判定値[#{target}] " unless target == 6
85
- result += "クリティカル値[#{criticalTarget}] " unless criticalTarget == 1
86
- result += "達成値[#{successCount}]"
87
-
88
- # 出目がすべて判定値より大きければ固定値に関わらずファンブル
89
- if successCount <= 0
90
- result += " > ファンブル!"
91
- return result
92
- end
78
+ result += "クリティカル値[#{critical_target}] " unless critical_target == 1
79
+ result += "達成値[#{success_count}]"
93
80
 
94
- result += "+クリティカル[#{criticalCount}]" if criticalCount > 0
95
- result += Format.modifier(modifier)
96
- result += "=[#{successTotal}]" if criticalCount > 0 || modifier != 0
81
+ return "#{result} > ファンブル!" if success_count <= 0
97
82
 
98
- successText = getSuccessResultText(successTotal, diff)
99
- result += " > #{successText}"
100
-
101
- return result
102
- end
103
-
104
- def getSuccessResultText(successTotal, diff)
105
- return successTotal.to_s if diff == 0
106
- return "成功" if successTotal >= diff
107
-
108
- return "失敗"
109
- end
110
-
111
- def getSuccessInfo(diceList, target, criticalTarget)
112
- debug("checkSuccess diceList, target, criticalTarget", diceList, target, criticalTarget)
113
-
114
- successCount = 0
115
- criticalCount = 0
116
-
117
- diceList.each do |dice|
118
- successCount += 1 if dice <= target
119
- criticalCount += 1 if dice <= criticalTarget
120
- end
121
-
122
- return successCount, criticalCount
123
- end
83
+ result += "+クリティカル[#{critical_count}]" if critical_count > 0
84
+ result += mod_text
85
+ result += "=[#{success_total}]" if critical_count > 0 || modifier != 0
124
86
 
125
- def getValue(number)
126
- return 0 if number > 100
87
+ success_text =
88
+ if diff == 0
89
+ success_total.to_s
90
+ elsif success_total >= diff
91
+ "成功"
92
+ else
93
+ "失敗"
94
+ end
127
95
 
128
- return number
96
+ return "#{result} > #{success_text}"
129
97
  end
130
98
  end
131
99
  end