bcdice 3.16.1 → 3.17.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +111 -0
- data/i18n/Airgetlamh/ja_jp.yml +5 -0
- data/i18n/Airgetlamh/ko_kr.yml +5 -0
- data/i18n/Alsetto/ja_jp.yml +5 -0
- data/i18n/Alsetto/ko_kr.yml +5 -0
- data/i18n/AnimaAnimus/ja_jp.yml +28 -0
- data/i18n/AnimaAnimus/ko_kr.yml +28 -0
- data/i18n/BlackJacket/ja_jp.yml +79 -0
- data/i18n/BlackJacket/ko_kr.yml +79 -0
- data/i18n/Bloodorium/ja_jp.yml +3 -0
- data/i18n/Bloodorium/ko_kr.yml +3 -0
- data/i18n/Cthulhu/ko_kr.yml +1 -1
- data/i18n/Dracurouge/ko_kr.yml +1284 -205
- data/i18n/Emoklore/ja_jp.yml +1 -0
- data/i18n/Emoklore/ko_kr.yml +1 -0
- data/i18n/FutariSousa/ja_jp.yml +70 -0
- data/i18n/FutariSousa/ko_kr.yml +157 -0
- data/i18n/HatsuneMiku/ja_jp.yml +579 -0
- data/i18n/HatsuneMiku/ko_kr.yml +579 -0
- data/i18n/Irisbane/ja_jp.yml +27 -0
- data/i18n/Irisbane/ko_kr.yml +27 -0
- data/i18n/JuinKansen/ja_jp.yml +168 -0
- data/i18n/JuinKansen/ko_kr.yml +168 -0
- data/i18n/KemonoNoMori/ja_jp.yml +229 -0
- data/i18n/KemonoNoMori/ko_kr.yml +229 -0
- data/i18n/KizunaBullet/ko_kr.yml +653 -0
- data/i18n/MagicPunk/ja_jp.yml +5 -0
- data/i18n/MagicPunk/ko_kr.yml +5 -0
- data/i18n/MorkBorg/ja_jp.yml +34 -0
- data/i18n/MorkBorg/ko_kr.yml +34 -0
- data/i18n/Nechronica/ko_kr.yml +43 -0
- data/i18n/NegikureNegimaki/ja_jp.yml +6 -0
- data/i18n/NegikureNegimaki/ko_kr.yml +6 -0
- data/i18n/Nuekagami/ja_jp.yml +219 -0
- data/i18n/Nuekagami/ko_kr.yml +219 -0
- data/i18n/Revulture/ja_jp.yml +8 -0
- data/i18n/Revulture/ko_kr.yml +8 -0
- data/i18n/SRS/ja_jp.yml +4 -0
- data/i18n/SRS/ko_kr.yml +4 -0
- data/i18n/ShinobiGami/ja_jp.yml +879 -0
- data/i18n/ShinobiGami/ko_kr.yml +876 -0
- data/i18n/StarryDolls/ja_jp.yml +456 -0
- data/i18n/StarryDolls/ko_kr.yml +456 -0
- data/i18n/StratoShout/ja_jp.yml +8 -8
- data/i18n/SwordWorld2_5/ja_jp.yml +48 -0
- data/i18n/Ventangle/ja_jp.yml +4 -0
- data/i18n/Ventangle/ko_kr.yml +4 -0
- data/i18n/YearZeroEngine/ja_jp.yml +12 -0
- data/i18n/YearZeroEngine/ko_kr.yml +12 -0
- data/i18n/ZombiLine/ja_jp.yml +27 -0
- data/i18n/ZombiLine/ko_kr.yml +27 -0
- data/i18n/ko_kr.yml +2 -0
- data/i18n/zh_hant.yml +2 -2
- data/lib/bcdice/dice_table/d66_left_range_table.rb +21 -0
- data/lib/bcdice/game_system/Aionia.rb +68 -19
- data/lib/bcdice/game_system/Airgetlamh.rb +64 -41
- data/lib/bcdice/game_system/Airgetlamh_Korean.rb +53 -0
- data/lib/bcdice/game_system/Alsetto.rb +63 -50
- data/lib/bcdice/game_system/Alsetto_Korean.rb +51 -0
- data/lib/bcdice/game_system/AnimaAnimus.rb +15 -32
- data/lib/bcdice/game_system/AnimaAnimus_Korean.rb +39 -0
- data/lib/bcdice/game_system/BlackJacket.rb +57 -113
- data/lib/bcdice/game_system/BlackJacket_Korean.rb +8 -206
- data/lib/bcdice/game_system/Bloodorium.rb +1 -1
- data/lib/bcdice/game_system/Bloodorium_Korean.rb +34 -0
- data/lib/bcdice/game_system/ChroniclesOfDarkness2e.rb +163 -0
- data/lib/bcdice/game_system/Cthulhu7th_Korean.rb +471 -300
- data/lib/bcdice/game_system/DeadlineHeroes_Korean.rb +273 -0
- data/lib/bcdice/game_system/Dracurouge_Korean.rb +25 -19
- data/lib/bcdice/game_system/DungeonsAndDragons5.rb +106 -73
- data/lib/bcdice/game_system/DungeonsAndDragons5_Korean.rb +53 -0
- data/lib/bcdice/game_system/DungeonsAndDragons_Korean.rb +61 -0
- data/lib/bcdice/game_system/Emoklore.rb +34 -9
- data/lib/bcdice/game_system/Emoklore_Korean.rb +10 -2
- data/lib/bcdice/game_system/FateCoreSystem.rb +10 -6
- data/lib/bcdice/game_system/FullMetalPanic_Korean.rb +28 -0
- data/lib/bcdice/game_system/FutariSousa.rb +37 -12
- data/lib/bcdice/game_system/FutariSousa_Korean.rb +25 -8
- data/lib/bcdice/game_system/GaiaCare.rb +40 -0
- data/lib/bcdice/game_system/GardenOrder.rb +2 -2
- data/lib/bcdice/game_system/GardenOrderReEdit.rb +849 -0
- data/lib/bcdice/game_system/GardenOrder_Korean.rb +839 -0
- data/lib/bcdice/game_system/HatsuneMiku.rb +51 -605
- data/lib/bcdice/game_system/HatsuneMiku_Korean.rb +56 -0
- data/lib/bcdice/game_system/HunterTheReckoning5th.rb +15 -11
- data/lib/bcdice/game_system/Irisbane.rb +17 -30
- data/lib/bcdice/game_system/Irisbane_Korean.rb +52 -0
- data/lib/bcdice/game_system/JuinKansen.rb +41 -208
- data/lib/bcdice/game_system/JuinKansen_Korean.rb +8 -213
- data/lib/bcdice/game_system/KemonoNoMori.rb +67 -276
- data/lib/bcdice/game_system/KemonoNoMori_Korean.rb +62 -0
- data/lib/bcdice/game_system/KinAriel.rb +117 -0
- data/lib/bcdice/game_system/KizunaBullet_Korean.rb +109 -0
- data/lib/bcdice/game_system/KutuluRevised.rb +94 -0
- data/lib/bcdice/game_system/LiverLabyrinth.rb +321 -0
- data/lib/bcdice/game_system/Lost.rb +89 -0
- data/lib/bcdice/game_system/MagicPunk.rb +85 -0
- data/lib/bcdice/game_system/MagicPunk_Korean.rb +39 -0
- data/lib/bcdice/game_system/MarvelHeroicRoleplaying.rb +144 -0
- data/lib/bcdice/game_system/MetallicGuardian_Korean.rb +28 -0
- data/lib/bcdice/game_system/MorkBorg.rb +170 -0
- data/lib/bcdice/game_system/MorkBorg_Korean.rb +49 -0
- data/lib/bcdice/game_system/NanimonaiMura.rb +112 -0
- data/lib/bcdice/game_system/Nechronica_Korean.rb +6 -6
- data/lib/bcdice/game_system/NegikureNegimaki.rb +140 -0
- data/lib/bcdice/game_system/NegikureNegimaki_Korean.rb +48 -0
- data/lib/bcdice/game_system/NeonUnderRealm.rb +122 -0
- data/lib/bcdice/game_system/NinjaSlayer2.rb +170 -49
- data/lib/bcdice/game_system/Nuekagami.rb +19 -261
- data/lib/bcdice/game_system/Nuekagami_Korean.rb +43 -0
- data/lib/bcdice/game_system/ParanoiaPerfect.rb +74 -0
- data/lib/bcdice/game_system/PastFutureParadox.rb +2245 -55
- data/lib/bcdice/game_system/PreciousDays.rb +170 -0
- data/lib/bcdice/game_system/Revulture.rb +8 -5
- data/lib/bcdice/game_system/Revulture_Korean.rb +7 -81
- data/lib/bcdice/game_system/Ryutama.rb +46 -46
- data/lib/bcdice/game_system/SRS.rb +4 -4
- data/lib/bcdice/game_system/SRS_Korean.rb +67 -0
- data/lib/bcdice/game_system/ShinobiGami.rb +154 -1047
- data/lib/bcdice/game_system/ShinobiGami_Korean.rb +102 -0
- data/lib/bcdice/game_system/StarryDolls.rb +70 -508
- data/lib/bcdice/game_system/StarryDolls_Korean.rb +80 -0
- data/lib/bcdice/game_system/StratoShout.rb +1 -1
- data/lib/bcdice/game_system/SwordWorld.rb +28 -2
- data/lib/bcdice/game_system/SwordWorld2_0.rb +1 -1
- data/lib/bcdice/game_system/SwordWorld2_5.rb +67 -3
- data/lib/bcdice/game_system/TacticalExorcist.rb +222 -0
- data/lib/bcdice/game_system/TenkaRyouran_Korean.rb +30 -0
- data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +38 -33
- data/lib/bcdice/game_system/Ventangle.rb +8 -7
- data/lib/bcdice/game_system/Ventangle_Korean.rb +6 -95
- data/lib/bcdice/game_system/Warhammer4.rb +202 -6
- data/lib/bcdice/game_system/WerewolfTheApocalypse5th.rb +20 -15
- data/lib/bcdice/game_system/WorldEndScrapyard.rb +333 -0
- data/lib/bcdice/game_system/WorldsEndFrontline_Korean.rb +26 -0
- data/lib/bcdice/game_system/YearZeroEngine.rb +7 -7
- data/lib/bcdice/game_system/YearZeroEngine_Korean.rb +46 -0
- data/lib/bcdice/game_system/ZombiLine.rb +29 -36
- data/lib/bcdice/game_system/ZombiLine_Korean.rb +37 -0
- data/lib/bcdice/game_system/cthulhu7th_Korean/full_auto.rb +294 -0
- data/lib/bcdice/game_system/cthulhu7th_Korean/rollable.rb +43 -0
- data/lib/bcdice/game_system/sword_world/rating_options.rb +9 -0
- data/lib/bcdice/game_system/sword_world/rating_parsed.rb +19 -0
- data/lib/bcdice/game_system/sword_world/rating_parser.rb +229 -149
- data/lib/bcdice/game_system/sword_world/transcendent_test.rb +1 -0
- data/lib/bcdice/game_system.rb +42 -0
- data/lib/bcdice/version.rb +1 -1
- metadata +87 -2
|
@@ -13,20 +13,62 @@ module BCDice
|
|
|
13
13
|
SORT_KEY = "にんしやすれいやあTRPG2"
|
|
14
14
|
|
|
15
15
|
HELP_MESSAGE = <<~TEXT
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
16
|
+
--- 成功判定コマンド ---
|
|
17
|
+
通常のダイスの「{ダイス個数}B6>={難易度ごとの目標出目}」を実行するための簡易入力コマンドです。
|
|
18
|
+
|
|
19
|
+
- K{x}
|
|
20
|
+
難易度K([K]ids/目標値=2)の成功判定をダイス{x}個で実行します。
|
|
21
|
+
先頭の文字を変えることで、難易度E([E]asy/目標値=3),N([N]ormal/目標値=4),H([H]ard/目標値=5),U([U]ltra-hard/目標値=6)もしくはUH([U]ltra-[H]ard/目標値=6)でも実行可能です。
|
|
22
|
+
|
|
23
|
+
- K{x1},N{x2},...,U{xn}
|
|
24
|
+
K{x}の複数ロール版。
|
|
25
|
+
カンマ(,)で区切って複数回入力すると、区切られたセットごとに成功判定を行います。
|
|
26
|
+
2回目以降は難易度指定を省略可能で、省略した場合はひとつ前の難易度を引き継いで判定を行います。
|
|
27
|
+
以下のコマンドについても同様の書式で複数ロールしての同時判定が可能です。
|
|
28
|
+
|
|
29
|
+
--- 追加判定コマンド ---
|
|
30
|
+
以下のコマンド群は、成功判定コマンドの後ろに付けて実行してください。
|
|
31
|
+
|
|
32
|
+
- [>={y}]
|
|
33
|
+
- [>{y}]
|
|
34
|
+
- [<={y}]
|
|
35
|
+
- [<{y}]
|
|
36
|
+
- [={y}]
|
|
37
|
+
- [!={y}]
|
|
38
|
+
成功判定コマンドでカンマ区切りで指定した各ロール結果に対して、[]内で指定された条件で追加判定を行います。
|
|
39
|
+
それぞれ、{y}以上(>=)、{y}より大きい(>)、{y}以下(<=)、{y}未満(<)、{y}のみ(=)、{y}以外(!=)を判定し、
|
|
40
|
+
ロール結果の中で条件を満たしたダイスの個数を「追加判定」というテキストと共に出力します。
|
|
41
|
+
[=5][=6]のように複数記述することで、ひとつのロールに対して複数パターンでの追加判定が可能です。
|
|
42
|
+
※ 条件は一括でしか指定できないため、ロールごとに異なる条件を指定したい場合はコマンドを分けてください。以下も同様です。。
|
|
43
|
+
|
|
44
|
+
- [>={y1}{y2}...{yn}+]
|
|
45
|
+
成功判定コマンドでカンマ区切りで指定した各ロール結果に対して、[>={y1}]~[>={yn}]の各条件で追加判定を行います。
|
|
46
|
+
出目の中に条件を満たしたダイスが**全て**含まれていた場合、「追加判定成功!」というテキストを出力します。
|
|
47
|
+
例えば[>=665+]とした場合、出目の中に6以上のダイスが2つと5以上のダイスが1つ含まれていれば成功扱いになります。
|
|
48
|
+
|
|
49
|
+
- [S{y}]
|
|
50
|
+
成功判定コマンドでカンマ区切りで指定した各ロール結果に対して、[>={y}]と同等の追加判定を行います。
|
|
51
|
+
条件を満たしたダイスの個数を「サツバツ判定」というテキストと共に出力します。
|
|
52
|
+
※ {y}は省略可能、省略した場合は固定値6で処理します。
|
|
53
|
+
|
|
54
|
+
- [S{y1}{y2}...{yn}+]
|
|
55
|
+
- [S{y1}{y2}...{yn}/{z1}{z2}...{zn}+]
|
|
56
|
+
成功判定コマンドでカンマ区切りで指定した各ロール結果に対して、[>={y1}{y2}...{yn}+]と[>={z1}{z2}...{zn}+]と同等の追加判定を行います。
|
|
57
|
+
{z1}~{zn}で条件を満たした場合、「ナムアミダブツ!」というテキストを出力します。
|
|
58
|
+
{z1}~{zn}の条件を満たせず、{y1}~{yn}で条件を満たした場合、「サツバツ!」というテキストを出力します。
|
|
59
|
+
※ {z1}~{zn}を省略した場合は、「サツバツ!」の判定のみを行ないます。
|
|
60
|
+
|
|
61
|
+
- [C{y}]
|
|
62
|
+
成功判定コマンドでカンマ区切りで指定した各ロール結果に対して、[>={y}]と同等の追加判定を行います。
|
|
63
|
+
条件を満たしたダイスの個数を「クリティカル判定」というテキストと共に出力します。
|
|
64
|
+
※ {y}は省略可能、省略した場合は固定値6で処理します。
|
|
65
|
+
|
|
66
|
+
- [C{y1}{y2}...{yx}+]
|
|
67
|
+
成功判定コマンドでカンマ区切りで指定した各ロール結果に対して、[>={y1}{y2}...{yn}+]と同等の追加判定を行います。
|
|
68
|
+
条件を条件を満たした場合、「クリティカル!」というテキストを出力します。
|
|
69
|
+
|
|
70
|
+
--- 定型文コマンド ---
|
|
71
|
+
以下のコマンド群はそれぞれ単体で使用してください。
|
|
30
72
|
|
|
31
73
|
- SB or SB@{x}
|
|
32
74
|
{x}(1-6/省略時はd6)に対応したサツバツ([S]atz-[B]atz)・クリティカル表の内容を返します。
|
|
@@ -79,27 +121,118 @@ module BCDice
|
|
|
79
121
|
# @param default [Integer]
|
|
80
122
|
# @return [Integer]
|
|
81
123
|
def s_to_i(string, default)
|
|
82
|
-
return string.nil? ? default : string.to_i
|
|
124
|
+
return string.nil? || string.empty? ? default : string.to_i
|
|
83
125
|
end
|
|
84
126
|
|
|
85
|
-
#
|
|
127
|
+
# 難易度判定の成功数を返す。
|
|
86
128
|
# @param dice_array [Array<Integer>]
|
|
87
129
|
# @param difficulty [Integer]
|
|
88
130
|
# @param cmp_op [String]
|
|
89
|
-
# @
|
|
90
|
-
|
|
91
|
-
def check_difficulty(dice_array, difficulty, cmp_op, title_text)
|
|
92
|
-
success_num = 0
|
|
131
|
+
# @return Integer
|
|
132
|
+
def check_difficulty(dice_array, difficulty, cmp_op)
|
|
93
133
|
success_dice = []
|
|
94
134
|
dice_array.each do |dice_value|
|
|
95
135
|
if dice_value.send(Normalize.comparison_operator(cmp_op), difficulty)
|
|
96
|
-
success_num += 1
|
|
97
136
|
success_dice.push(dice_value)
|
|
98
137
|
end
|
|
99
138
|
end
|
|
100
139
|
|
|
101
|
-
|
|
102
|
-
|
|
140
|
+
return success_dice
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# 難易度判定結果を返す。
|
|
144
|
+
# @param dice_array [Array<Integer>]
|
|
145
|
+
# @param difficulty [Integer]
|
|
146
|
+
# @param cmp_op [String]
|
|
147
|
+
# @return [boolean]
|
|
148
|
+
def check_difficulty_new(dice_array, difficulty, cmp_op)
|
|
149
|
+
if difficulty.nil? || dice_array.empty?
|
|
150
|
+
return false
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# 難易度とダイスを昇順ソート
|
|
154
|
+
sorted_dice_array = dice_array.sort()
|
|
155
|
+
sorted_difficulty = difficulty.chars.sort()
|
|
156
|
+
debug("sorted_difficulty #{sorted_difficulty}")
|
|
157
|
+
debug("sorted_dice_array #{sorted_dice_array}")
|
|
158
|
+
|
|
159
|
+
# 出目が低い順に難易度を越えているかチェック
|
|
160
|
+
check_index = 0
|
|
161
|
+
sorted_dice_array.each do |dice_value|
|
|
162
|
+
if dice_value.send(Normalize.comparison_operator(cmp_op), sorted_difficulty[check_index].to_i)
|
|
163
|
+
check_index += 1
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# 全難易度を突破していたら成功を返す
|
|
168
|
+
return check_index >= sorted_difficulty.size
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# 追加判定の処理
|
|
172
|
+
# @param roll_result 判定対象とするロール結果の配列
|
|
173
|
+
# @param ap_commanc 追加判定のコマンド
|
|
174
|
+
# @return String
|
|
175
|
+
def proc_appendix(roll_result, ap_command)
|
|
176
|
+
debug("----- ap_command: #{ap_command}")
|
|
177
|
+
output_text = ''
|
|
178
|
+
case ap_command
|
|
179
|
+
when RE_COUNT_SATZ_BATZ
|
|
180
|
+
diff_condition = Regexp.last_match[1]
|
|
181
|
+
if ap_command.end_with?("+")
|
|
182
|
+
# サツバツ発生チェック
|
|
183
|
+
sb_condition = diff_condition.sub("\+", "").split("/")[0]
|
|
184
|
+
nm_condition = diff_condition.sub("\+", "").split("/")[1]
|
|
185
|
+
debug("sb_condition: #{sb_condition}")
|
|
186
|
+
debug("nm_condition: #{nm_condition}")
|
|
187
|
+
|
|
188
|
+
if check_difficulty_new(roll_result.last_dice_list, nm_condition, ">=")
|
|
189
|
+
output_text += ", ナムアミダブツ![#{ap_command}]"
|
|
190
|
+
elsif check_difficulty_new(roll_result.last_dice_list, sb_condition, ">=")
|
|
191
|
+
output_text += ", サツバツ![#{ap_command}]"
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
else
|
|
195
|
+
# サツバツ数カウント
|
|
196
|
+
diff_result_array = check_difficulty(roll_result.last_dice_list, s_to_i(diff_condition, 6), ">=")
|
|
197
|
+
output_text += ", サツバツ判定[#{ap_command}]:#{diff_result_array.size}"
|
|
198
|
+
unless diff_result_array.empty?
|
|
199
|
+
output_text += "[#{diff_result_array.sort.reverse.join(',')}]"
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
when RE_COUNT_CRITICAL
|
|
203
|
+
diff_condition = Regexp.last_match[1]
|
|
204
|
+
if ap_command.end_with?("+")
|
|
205
|
+
# クリティカル発生チェック
|
|
206
|
+
if check_difficulty_new(roll_result.last_dice_list, diff_condition.sub("\+", ""), ">=")
|
|
207
|
+
output_text += ", クリティカル![#{ap_command}]"
|
|
208
|
+
end
|
|
209
|
+
else
|
|
210
|
+
# クリティカル数カウント
|
|
211
|
+
diff_result_array = check_difficulty(roll_result.last_dice_list, s_to_i(diff_condition, 6), ">=")
|
|
212
|
+
output_text += ", クリティカル判定[#{ap_command}]:#{diff_result_array.size}"
|
|
213
|
+
unless diff_result_array.empty?
|
|
214
|
+
output_text += "[#{diff_result_array.sort.reverse.join(',')}]"
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
when RE_COUNT_JUDGE
|
|
218
|
+
diff_type = Regexp.last_match[1]
|
|
219
|
+
diff_condition = Regexp.last_match[2]
|
|
220
|
+
debug("#{diff_type} / #{diff_condition}")
|
|
221
|
+
if ap_command.end_with?("+")
|
|
222
|
+
# 追加判定チェック
|
|
223
|
+
if check_difficulty_new(roll_result.last_dice_list, diff_condition.sub("\+", ""), diff_type)
|
|
224
|
+
output_text += ", 追加判定成功![#{ap_command}]"
|
|
225
|
+
end
|
|
226
|
+
else
|
|
227
|
+
# 追加判定カウント
|
|
228
|
+
diff_result_array = check_difficulty(roll_result.last_dice_list, s_to_i(diff_condition, 6), diff_type)
|
|
229
|
+
output_text += ", 追加判定[#{ap_command}]:#{diff_result_array.size}"
|
|
230
|
+
unless diff_result_array.empty?
|
|
231
|
+
output_text += "[#{diff_result_array.sort.reverse.join(',')}]"
|
|
232
|
+
end
|
|
233
|
+
end
|
|
234
|
+
end
|
|
235
|
+
return output_text
|
|
103
236
|
end
|
|
104
237
|
|
|
105
238
|
# ダイス処理(2版用)
|
|
@@ -109,11 +242,16 @@ module BCDice
|
|
|
109
242
|
output_text = ''
|
|
110
243
|
total_success_num = 0
|
|
111
244
|
|
|
112
|
-
|
|
113
|
-
appendix = match[
|
|
245
|
+
command = match[1]
|
|
246
|
+
appendix = match[2]
|
|
247
|
+
difficulty = 0
|
|
114
248
|
|
|
115
|
-
|
|
116
|
-
|
|
249
|
+
command.split(",").each do |sub_command|
|
|
250
|
+
/^(UH|[KENHU])?(\d+)$/i.match(sub_command)
|
|
251
|
+
unless Regexp.last_match[1].nil?
|
|
252
|
+
difficulty = DIFFICULTY_SYMBOL_TO_INTEGER.fetch(Regexp.last_match[1])
|
|
253
|
+
end
|
|
254
|
+
dice_num = Regexp.last_match[2].to_i
|
|
117
255
|
|
|
118
256
|
# D6バラバラロール
|
|
119
257
|
roll_command = "#{dice_num}B6>=#{difficulty}"
|
|
@@ -127,24 +265,7 @@ module BCDice
|
|
|
127
265
|
debug("---- appendix: [#{appendix}]")
|
|
128
266
|
ap_command_array = appendix.split("\]\[")
|
|
129
267
|
ap_command_array.each do |ap_command|
|
|
130
|
-
|
|
131
|
-
case ap_command
|
|
132
|
-
when RE_COUNT_SATZ_BATZ
|
|
133
|
-
# サツバツ!カウント
|
|
134
|
-
check_result = check_difficulty(roll_result.last_dice_list, s_to_i(Regexp.last_match[1], 6), ">=", "サツバツ!")
|
|
135
|
-
output_text += ", #{check_result[0]}"
|
|
136
|
-
success_num += check_result[1]
|
|
137
|
-
when RE_COUNT_CRITICAL
|
|
138
|
-
# クリティカル!カウント
|
|
139
|
-
check_result = check_difficulty(roll_result.last_dice_list, s_to_i(Regexp.last_match[1], 6), ">=", "クリティカル!")
|
|
140
|
-
output_text += ", #{check_result[0]}"
|
|
141
|
-
success_num += check_result[1]
|
|
142
|
-
when RE_COUNT_JUDGE
|
|
143
|
-
# 追加判定カウント
|
|
144
|
-
check_result = check_difficulty(roll_result.last_dice_list, Regexp.last_match[2].to_i, Regexp.last_match[1], "追加判定")
|
|
145
|
-
output_text += ", #{check_result[0]}"
|
|
146
|
-
success_num += check_result[1]
|
|
147
|
-
end
|
|
268
|
+
output_text += proc_appendix(roll_result, ap_command)
|
|
148
269
|
end
|
|
149
270
|
end
|
|
150
271
|
output_text += " \n"
|
|
@@ -266,11 +387,11 @@ module BCDice
|
|
|
266
387
|
end
|
|
267
388
|
end
|
|
268
389
|
|
|
269
|
-
RE_COUNT_SATZ_BATZ =
|
|
270
|
-
RE_COUNT_CRITICAL = /C([1-6])
|
|
271
|
-
RE_COUNT_JUDGE = /(=|!=|>=|>|<=|<)([1-6])/.freeze
|
|
390
|
+
RE_COUNT_SATZ_BATZ = %r{S([1-6]|[1-6]+(?:/[1-6]+)?\+)?$}i.freeze
|
|
391
|
+
RE_COUNT_CRITICAL = /C([1-6]|[1-6]+\+)?$/i.freeze
|
|
392
|
+
RE_COUNT_JUDGE = /(=|!=|>=|>|<=|<)([1-6]+\+|[1-6])/.freeze
|
|
272
393
|
|
|
273
|
-
RE_JUDGE_DICEROLL =
|
|
394
|
+
RE_JUDGE_DICEROLL = %r{^((?:(?:UH|[KENHU])?\d+,?)+)(?:\[((?:(?:S([1-6]|[1-6]+(?:/[1-6]+)?\+)?|C([1-6]*\+?)?|(=|!=|>=|>|<=|<)([1-6]+\+?))(?:\]\[)?)+)\])?$}i.freeze
|
|
274
395
|
RE_JUDGE_SATZ_BATZ = /^SB(?:@([1-6]))?$/i.freeze
|
|
275
396
|
RE_JUDGE_WASSHOI = /^WS([1-9]|10|11|12)$/i.freeze
|
|
276
397
|
RE_JUDGE_WASSHOI_ENTRY = /^WSE(?:@([1-6]))?$/i.freeze
|
|
@@ -22,270 +22,28 @@ module BCDice
|
|
|
22
22
|
MESSAGETEXT
|
|
23
23
|
|
|
24
24
|
def eval_game_system_specific_command(command)
|
|
25
|
-
|
|
26
|
-
return nil if info.nil?
|
|
27
|
-
|
|
28
|
-
name = info[:name]
|
|
29
|
-
type = info[:type]
|
|
30
|
-
table = info[:table]
|
|
31
|
-
|
|
32
|
-
text, number =
|
|
33
|
-
case type
|
|
34
|
-
when '1D20'
|
|
35
|
-
get_table_by_nDx(table, 1, 20)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
return nil if text.nil?
|
|
39
|
-
|
|
40
|
-
return "#{name}(#{number}) > #{text}"
|
|
25
|
+
roll_tables(command, TABLES)
|
|
41
26
|
end
|
|
42
27
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
table
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
'代行。かかる身にそれなくとも是。かく行い為すは、己が筆ならず。代わりて為す者、信ずべきあらばこそ。',
|
|
61
|
-
'適応。心痛むる時多けれど、欠けたるにも馴れたり。もはや欠けるに不自由なし。さればそれすなわち、欠けたるに非ず',
|
|
62
|
-
'妖賞。大妖に遇ひて、饗応す。彼の妖、大いに慶びてその身に欠けたるを与へむ。それ異様なれど、用は足れり。',
|
|
63
|
-
'奪還。つひに奪われしもの、奪い返せり!取り戻せしそれ、再び手の内に収まりて輝けり。けしてまた手放すことあらじ。',
|
|
64
|
-
'本懐。己の求むるを、ついに為し遂げり。もはや己が力、己が技、疑うところなし。己が有様になんぞ足らざるあるべきや。',
|
|
65
|
-
'取得。艱難辛苦ぞありや。ついぞ果てに失いしそれ、身に修めん。ただ取り戻せしものにあらじ。新たに得たりしや。',
|
|
66
|
-
'賜物。その欠ける様、彼の人あはれに思いて、かくなるを与え賜り。以て、満ちたる己、彼の人にまた仕えむ。',
|
|
67
|
-
'大悟。足掻けれど足掻けれど、満ちることなし。足りざるは自然。己の姿を受け入れむ。されば欠けたるに、悩まさるるもなし。',
|
|
68
|
-
'望月。欠けたる月が満ちるが如く。欠けたるは突然に戻れり。いかなる誠、いかなる印か、知るものはあらず。'
|
|
69
|
-
],
|
|
70
|
-
},
|
|
71
|
-
|
|
72
|
-
"BL" => {
|
|
73
|
-
name: "血脈の喪失表",
|
|
74
|
-
type: '1D20',
|
|
75
|
-
table: [
|
|
76
|
-
'髪の色。一夜にしてあなたの髪は白くなった。',
|
|
77
|
-
'視力。周囲がぼんやりとしか見えない。',
|
|
78
|
-
'所作。体の一部がまともに動かせない。',
|
|
79
|
-
'痛み。体が痛みを感じなくなってしまった。',
|
|
80
|
-
'容貌。顔に大きな傷や火傷を負った。',
|
|
81
|
-
'血の気。あなたの肌は血の気を失ったままだ。',
|
|
82
|
-
'赤い血。体を流れる血が異様な色となった。',
|
|
83
|
-
'子を作る力。子を作る力を失った。',
|
|
84
|
-
'器用さ。体が常に小さく震えている。',
|
|
85
|
-
'健康。病を患った……体が衰弱している。',
|
|
86
|
-
'寿命。あなたの寿命は残りわずかとなった。',
|
|
87
|
-
'ぬくもり。その体は常に冷たい……。',
|
|
88
|
-
'片目。片目を失ってしまった……。',
|
|
89
|
-
'片脚。片脚を切り落とされた!',
|
|
90
|
-
'片腕。片腕を切り落とされた!',
|
|
91
|
-
'生命。あなたの鼓動は止まって久しい。',
|
|
92
|
-
'真の力。本来の力がほとんど発揮できない。',
|
|
93
|
-
'肉。異様に痩せたか、体の一部が白骨化している。',
|
|
94
|
-
'人の体。体が歪み変わり、異形と化した。',
|
|
95
|
-
'己の体。今は他人の体を借りている。'
|
|
96
|
-
],
|
|
97
|
-
},
|
|
98
|
-
|
|
99
|
-
"LL" => {
|
|
100
|
-
name: "生様の喪失表",
|
|
101
|
-
type: '1D20',
|
|
102
|
-
table: [
|
|
103
|
-
'主君の寵愛。不興を買ってしまった。',
|
|
104
|
-
'師匠。死んだか、あるいはあなたが捨てられた。',
|
|
105
|
-
'面子。大いに恥をかいた。このままにしておけない。',
|
|
106
|
-
'時間。今まで精魂を傾けて来たものは無駄だった。',
|
|
107
|
-
'血縁。信じていた生まれではなかった……。',
|
|
108
|
-
'家宝。家の宝、あるいは形見を奪われてしまった。',
|
|
109
|
-
'恋人。死んだか、あるいは奪われた。',
|
|
110
|
-
'運。何をやってもうまくいかない。',
|
|
111
|
-
'財産。騙し取られたか……。あるいは使い果たした。',
|
|
112
|
-
'名声。あなたの名声は地に落ちている……。',
|
|
113
|
-
'居場所。居るべき場所、身分を失ってしまった……。',
|
|
114
|
-
'地位。かつての地位は失われたのだ。',
|
|
115
|
-
'日常。こんな世の中でも平和に暮らしていたのに。',
|
|
116
|
-
'相棒。死んだか、あるいは裏切られた。',
|
|
117
|
-
'仕える人。死んだか、あるいはあなたが捨てられた。',
|
|
118
|
-
'人望。かつてあなたを讃えた人が、今やあなたを罵る。',
|
|
119
|
-
'家族。死んだか、あるいはあなたが捨てられた。',
|
|
120
|
-
'故郷。何者かに滅ぼされたか、あるいは自滅した。',
|
|
121
|
-
'守るべき人。守るべき人を守れなかった……。',
|
|
122
|
-
'自由。脅され縛られ、誰かの命令を聞くしかできない。'
|
|
123
|
-
],
|
|
124
|
-
},
|
|
125
|
-
|
|
126
|
-
"SL" => {
|
|
127
|
-
name: "魂魄の喪失表",
|
|
128
|
-
type: '1D20',
|
|
129
|
-
table: [
|
|
130
|
-
'誇り。誇りなど残ってはいない。',
|
|
131
|
-
'心の余裕。今を生きるだけで精一杯。',
|
|
132
|
-
'敬う心。己こそが全てだ。',
|
|
133
|
-
'気力。何もやる気がおきない……。',
|
|
134
|
-
'安眠。夜毎の悪夢に、まともに眠れない。',
|
|
135
|
-
'信じる心。二度と人など信じるものか。',
|
|
136
|
-
'愛。もはや誰かを愛することなどない。',
|
|
137
|
-
'夢。前に見えていた光、目標。今は闇の中だ。',
|
|
138
|
-
'一線。己の中の超えてはならぬ線を踏み越えた。',
|
|
139
|
-
'信じたもの。かつて信じたのはまやかしだった。',
|
|
140
|
-
'人の心。この世で人の心が何の役に立つ?',
|
|
141
|
-
'瞳の光。全て虚しいものとしか見えない。',
|
|
142
|
-
'希望。この世に何を望むというのだろう?',
|
|
143
|
-
'自制心。己を抑えて何とする?',
|
|
144
|
-
'涙。その目が涙を流すことはない。',
|
|
145
|
-
'笑顔。二度と笑いなどしないだろう。',
|
|
146
|
-
'大切な記憶。どうしてか……記憶を失っている。',
|
|
147
|
-
'本当の自分。己を偽りすぎて、本来の己を忘れた。',
|
|
148
|
-
'正気。今のあなたは狂気の沙汰だ!',
|
|
149
|
-
'己の意志。あなたは誰かの人形。道具に過ぎない。'
|
|
150
|
-
],
|
|
151
|
-
},
|
|
152
|
-
|
|
153
|
-
"FL" => {
|
|
154
|
-
name: "因縁表",
|
|
155
|
-
type: '1D20',
|
|
156
|
-
table: [
|
|
157
|
-
'仇敵。奴は敵だ。あなたの敵だ。',
|
|
158
|
-
'殺意。殺してやりたい。',
|
|
159
|
-
'蔑視。口ほどにもない存在だ。',
|
|
160
|
-
'嫉妬。なぜアイツだけが……。',
|
|
161
|
-
'恐怖。恐ろしい。あれを怒らせてはいけない。',
|
|
162
|
-
'目障り。邪魔だ。気に入らない。',
|
|
163
|
-
'利用。役に立ってくれそうだな。',
|
|
164
|
-
'玩具。せいぜい楽しませてもらおう。',
|
|
165
|
-
'依存。あの人がいなければいけないのだ。',
|
|
166
|
-
'欲望。お前が欲しい……。',
|
|
167
|
-
'好敵。なかなかやるじゃないか。',
|
|
168
|
-
'憐憎。哀れな……。',
|
|
169
|
-
'悪友。腐れ縁。信用できないが妙に心地いい。',
|
|
170
|
-
'畏怖。あの人には逆らえない。',
|
|
171
|
-
'恩義。恩がある……返さなければ。',
|
|
172
|
-
'親友。心から信じられる友だ。',
|
|
173
|
-
'尊敬。あの人のようになりたい。',
|
|
174
|
-
'相棒。言葉はなくとも全てが通じ合う。',
|
|
175
|
-
'思慕。恋をしてしまった。',
|
|
176
|
-
'主君。心の主君。身命を賭して守り仕える。'
|
|
177
|
-
],
|
|
178
|
-
},
|
|
179
|
-
|
|
180
|
-
"HG" => {
|
|
181
|
-
name: "地獄門通過描写表",
|
|
182
|
-
type: '1D20',
|
|
183
|
-
table: [
|
|
184
|
-
'背後見れば、地獄の門をば幻視せり。危うき次第を知りたり.',
|
|
185
|
-
'必死に歩めり。背後に穂れし血と臓脈、こぼしたるが心地なれど。',
|
|
186
|
-
'背後の地に深き爪痕あり。己を捕らへむとせる鬼の爪跡かと思ふ。',
|
|
187
|
-
'劫火に焼かるる己を幻視す。汗にまみれ覚めれば、己が所業悔悟せり。',
|
|
188
|
-
'水鏡に映る己を見て目を覚ます。彼のままなれば地獄に堕つると。',
|
|
189
|
-
'天に鶴騒ぎたり。御身が魂晩取り逃がしたりと吃るが如く。',
|
|
190
|
-
'足が泥淳に囚わるる幻視。引きずり込む亡者。必死に逃れ至れり。',
|
|
191
|
-
'陰に蠢く餓鬼を見ゆ・明日は己ぞと思へば、背も震えたり。',
|
|
192
|
-
'喪失の苦しみ、いくばくか休めり。他を思う心地ぞ生まれり。',
|
|
193
|
-
'いみじう悩み苦しけれど、やがてそれも馴れり。今や苦しみならず。',
|
|
194
|
-
'しずけき雨降らば、己が所業洗い流さるるとも、思へたり。',
|
|
195
|
-
'汚泥が如く絡みし過ぎたる日々、わずかに離れたる心地ぞする。',
|
|
196
|
-
'背負いし怨念ら退き薄れむ。これなるは縁がゆへか、心地ゆへか。',
|
|
197
|
-
'内に孕むる絶望へ、連理たれと希望の芽、萌ゆる。',
|
|
198
|
-
'生温かき風と共に、大粒の雨降れり。すわ血の雨かとも思へり。',
|
|
199
|
-
'人と関わりて縁を見ゆ。抱ふるもの、いくらか少なくなりき。',
|
|
200
|
-
'夢枕、あるいは白昼夢なるか。神仏現るるにすがりたり。',
|
|
201
|
-
'劫火の中、白き手が己を引けりと幻視す。あるひは過去の縁か。',
|
|
202
|
-
'蛙呑む蛇を見たり。あさましき業に、己をふと顧みぬ。',
|
|
203
|
-
'心中にて、かそけき希望の糸見へり。慎重にたぐりて登らむとす。'
|
|
204
|
-
],
|
|
205
|
-
},
|
|
206
|
-
|
|
207
|
-
"RG" => {
|
|
208
|
-
name: "羅生門通過描写表",
|
|
209
|
-
type: '1D20',
|
|
210
|
-
table: [
|
|
211
|
-
'むごき所業、目にせり。心強張りて、常の様にてあれず.',
|
|
212
|
-
'人の目に、己を嗤ふ気配感じたり。怒り、悔み、恥ぞ覚えむ。',
|
|
213
|
-
'鬼の腕より、ついに逃るるか.おぞましき震へぞ、治まりき。',
|
|
214
|
-
'辻吹く風に、人骨散れり。たちまち無常の感、起こりて心改めたり。',
|
|
215
|
-
'愛憎恩普、いよいよ狂ほしく。猛るまま、ただただ前へと進めり。',
|
|
216
|
-
'飢えたる犬の如し。泥水すすりても前に進み、想い果たさむ。',
|
|
217
|
-
'喪失、取り戻すは近し。思はず、あさましき笑みぞ浮かべり。',
|
|
218
|
-
'いやしき者ども、あさましき目を向くる。蔑みてまかり通らむ。',
|
|
219
|
-
'喪失の夢繰り返すこといくたびか。もはや業苦の炎冷め、常日頃の如し。',
|
|
220
|
-
'あるひは己の内よりか。あやしき声あれば欲心また昂ぶらむ。',
|
|
221
|
-
'死人を見、成仏を祈れり。心あらば、己が内にて仏も宿らむ。',
|
|
222
|
-
'ただただ世の無常を知れば、哀愁の情あふれ感じむ。',
|
|
223
|
-
'路地に小さき花咲くを見ゆ。我執の心晴れたる心地せり。',
|
|
224
|
-
'冷たき風あらば、情動わずかに治まりて、落ち着きたりけり。',
|
|
225
|
-
'酒を飲めり。酔ひたる心地の内に、業苦も曖昧とならむ。',
|
|
226
|
-
'見えざる大門潜りしか。境目超えたるを感ずる。いざ、知らずの地平へ。',
|
|
227
|
-
'乞食坊主に逢ひて、恵む。これもまたいくばくの功徳なりきや。',
|
|
228
|
-
'子供ら遊ぶを見ゆ。己が古きを思へば、思はず顔ほころびぬ。',
|
|
229
|
-
'暗雲に包まれし都なれど今その身に、いくばくかの光差し照らしけり。',
|
|
230
|
-
'神仏の似姿、幻視す。されば、いかな身にも信心のいくばくか起これり。'
|
|
231
|
-
],
|
|
232
|
-
},
|
|
233
|
-
|
|
234
|
-
"VG" => {
|
|
235
|
-
name: "朱雀門通過描写表",
|
|
236
|
-
type: '1D20',
|
|
237
|
-
table: [
|
|
238
|
-
'雷響きて、暗霊いよいよ濃ゆし。己が先を見せるるが如し。',
|
|
239
|
-
'今一つ取り戻すは及ばぬ口惜しきに、鬼が如く唸りし。',
|
|
240
|
-
'求めし手、届かずも絶望すれど再び、ふらふらと歩み出さむ。',
|
|
241
|
-
'かたときの福なるか。狐に化かさるるが如く、鹿なる泡沫の夢。',
|
|
242
|
-
'流るる血。朱に染まる視界。されど、染まらざる中に光あり。',
|
|
243
|
-
'己が臓腑抉るが如く。己が業、抉り捨て進まん。',
|
|
244
|
-
'先に狐の影見ゆ。あやしけれど、迷ひながら、狐を追へり。',
|
|
245
|
-
'大いなる境を越えたるかと思えり。未だ道半ばなれば油断許さず。',
|
|
246
|
-
'暗雲に白鷺翔けるを見ゆ。瑞兆なれば希望もまた湧きぬ。',
|
|
247
|
-
'内より翼の出るが心地せり。いざ思い切りて、翔ばむ。',
|
|
248
|
-
'割れた杯より漏れたるも、重ねたる杯に。合一せば余さず受けり。',
|
|
249
|
-
'心激しくして魚跳ねるが如く。その実も暗き水面より跳ね出たり。',
|
|
250
|
-
'貴き牛車と行き逢はむ。幽かな香に、目ぞ覚めたる思いせり。',
|
|
251
|
-
'ふと口をついて歌詠めり。何者か下の句継ぎて、心合わせむ。',
|
|
252
|
-
'知らずの人より、送られし歌あり。返歌いかがせむかと思ひたり。',
|
|
253
|
-
'鳥の巣立つを見たり。己もまた、新たな道歩むべきぞと心せり。',
|
|
254
|
-
'暗雲貫きて、空に月あり。天より見らるる心地して、行い正せり。',
|
|
255
|
-
'目的近づけど、心重し。胸痛みて、いみじう哀し。',
|
|
256
|
-
'不意に仏心起こりて、万物慈みの念おぼえたり。',
|
|
257
|
-
'頭上より何者かの楽の音、饗けり。その身、祝はるる心地せり。'
|
|
258
|
-
],
|
|
259
|
-
},
|
|
260
|
-
|
|
261
|
-
"OG" => {
|
|
262
|
-
name: "応天門通過描写表",
|
|
263
|
-
type: '1D20',
|
|
264
|
-
table: [
|
|
265
|
-
'光捕らへど暗し。新たなる地獄の門に落つる己を知りたり。',
|
|
266
|
-
'求めしもの得たり。されど、なにものか失いし心地ぞせる……。',
|
|
267
|
-
'狐鴫きて自覚むる。全て一夜の夢の如し。痛みもまたしかり。',
|
|
268
|
-
'なにゆへか、涙こぼるる。ただ涙こぼれ、業苦もまた流れむ。',
|
|
269
|
-
'人想ひて、未練生まるる。己が幸求めれば、死を畏れむ。',
|
|
270
|
-
'打ち返す波の音聞く。遥か遠く、旅立ちたむと念、生じたり。',
|
|
271
|
-
'実る稲田を幻視す。もはや都の有様、人住む地に非ずと思へり。',
|
|
272
|
-
'取り戻したるに、ただただ歓喜す。もはや周りの様も感ぜず。',
|
|
273
|
-
'あまたの人の目、御身見てざわめくを感ず。優越の心地あり。',
|
|
274
|
-
'かけがへなきもの、見つけたり。今はただ、そを喜ぶのみなれば。',
|
|
275
|
-
'天盤にて星巡り、時満ちて、方合へり。なればその身にも幸ありむ。',
|
|
276
|
-
'幾年月ぞ、剥那の如し。思ふれば囚わる檻も、無きかと見ゆ。',
|
|
277
|
-
'天より鵺退きて、日の光差す。浴びる中、魂魄またぬくもりを覚えり。',
|
|
278
|
-
'風流、解する心あらば天地自然もまた並び、自らその内に合一せむ。',
|
|
279
|
-
'いかにせで、己の在り様を責むるや。己は己なれが、気に負うに値せず。',
|
|
280
|
-
'あまねく世のことども、遠く鈍く思ひて心安らかなる境地に至れり。',
|
|
281
|
-
'天遠く光差せば、淡き虹も浮かべり。何処かへ渡す橋とも見ゆ。',
|
|
282
|
-
'天より一輪の花舞い降りて、御身の手に落つ。心また花咲けり。',
|
|
283
|
-
'鵺の内に竜神舞へり。風雨激しく、身濡らせど、心清々し。',
|
|
284
|
-
'都の暗雲、晴れたる日も稀にあり。なんぞ魂魄晴るる日なしや。'
|
|
285
|
-
],
|
|
286
|
-
},
|
|
28
|
+
class << self
|
|
29
|
+
private
|
|
30
|
+
|
|
31
|
+
def translate_tables(locale)
|
|
32
|
+
{
|
|
33
|
+
"LR" => DiceTable::Table.from_i18n("Nuekagami.table.LR", locale),
|
|
34
|
+
"BL" => DiceTable::Table.from_i18n("Nuekagami.table.BL", locale),
|
|
35
|
+
"LL" => DiceTable::Table.from_i18n("Nuekagami.table.LL", locale),
|
|
36
|
+
"SL" => DiceTable::Table.from_i18n("Nuekagami.table.SL", locale),
|
|
37
|
+
"FL" => DiceTable::Table.from_i18n("Nuekagami.table.FL", locale),
|
|
38
|
+
"HG" => DiceTable::Table.from_i18n("Nuekagami.table.HG", locale),
|
|
39
|
+
"RG" => DiceTable::Table.from_i18n("Nuekagami.table.RG", locale),
|
|
40
|
+
"VG" => DiceTable::Table.from_i18n("Nuekagami.table.VG", locale),
|
|
41
|
+
"OG" => DiceTable::Table.from_i18n("Nuekagami.table.OG", locale),
|
|
42
|
+
}
|
|
43
|
+
end
|
|
44
|
+
end
|
|
287
45
|
|
|
288
|
-
|
|
46
|
+
TABLES = translate_tables(:ja_jp)
|
|
289
47
|
|
|
290
48
|
register_prefix(TABLES.keys)
|
|
291
49
|
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'bcdice/game_system/Nuekagami'
|
|
4
|
+
|
|
5
|
+
module BCDice
|
|
6
|
+
module GameSystem
|
|
7
|
+
class Nuekagami_Korean < Nuekagami
|
|
8
|
+
# ゲームシステムの識別子
|
|
9
|
+
ID = 'Nuekagami:Korean'
|
|
10
|
+
|
|
11
|
+
# ゲームシステム名
|
|
12
|
+
NAME = '누에카가미'
|
|
13
|
+
|
|
14
|
+
# ゲームシステム名の読みがな
|
|
15
|
+
SORT_KEY = '国際化:Korean:누에카가미'
|
|
16
|
+
|
|
17
|
+
# ダイスボットの使い方
|
|
18
|
+
HELP_MESSAGE = <<~MESSAGETEXT
|
|
19
|
+
・상실표(xL)
|
|
20
|
+
BL:혈맥, LL:생기(生様), SL:혼백, FL:인연
|
|
21
|
+
|
|
22
|
+
・LR:상실 회복표
|
|
23
|
+
|
|
24
|
+
・문 통과 묘사표(xG)
|
|
25
|
+
HG:지옥문, RG:나생문, VG:주작문, OG:응천문
|
|
26
|
+
MESSAGETEXT
|
|
27
|
+
|
|
28
|
+
def initialize(command)
|
|
29
|
+
super(command)
|
|
30
|
+
|
|
31
|
+
@locale = :ko_kr
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
TABLES = translate_tables(:ko_kr)
|
|
35
|
+
|
|
36
|
+
def eval_game_system_specific_command(command)
|
|
37
|
+
roll_tables(command, TABLES)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
register_prefix(TABLES.keys)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|