bcdice 3.11.0 → 3.13.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 +58 -0
- data/i18n/FutariSousa/ko_kr.yml +1625 -529
- data/i18n/Insane/ko_kr.yml +393 -258
- data/i18n/NinjaSlayer2/ja_jp.yml +34 -0
- data/lib/bcdice/arithmetic/parser.rb +4 -2
- data/lib/bcdice/base.rb +1 -1
- data/lib/bcdice/command/parser.rb +4 -2
- data/lib/bcdice/common_command/add_dice/parser.rb +4 -2
- data/lib/bcdice/common_command/barabara_dice/parser.rb +4 -2
- data/lib/bcdice/common_command/calc/parser.rb +4 -2
- data/lib/bcdice/common_command/reroll_dice/parser.rb +4 -2
- data/lib/bcdice/common_command/tally_dice/parser.rb +4 -2
- data/lib/bcdice/common_command/upper_dice/parser.rb +4 -2
- data/lib/bcdice/game_system/Airgetlamh.rb +1 -1
- data/lib/bcdice/game_system/Alsetto.rb +2 -2
- data/lib/bcdice/game_system/AniMalus.rb +221 -0
- data/lib/bcdice/game_system/ArknightsFan.rb +182 -0
- data/lib/bcdice/game_system/Avandner.rb +1 -1
- data/lib/bcdice/game_system/BBN.rb +1 -1
- data/lib/bcdice/game_system/BadLife.rb +3 -3
- data/lib/bcdice/game_system/BarnaKronika.rb +1 -1
- data/lib/bcdice/game_system/Chill3.rb +6 -6
- data/lib/bcdice/game_system/DarkSouls.rb +1 -1
- data/lib/bcdice/game_system/Elric.rb +1 -1
- data/lib/bcdice/game_system/Emoklore.rb +4 -6
- data/lib/bcdice/game_system/FullFace.rb +92 -0
- data/lib/bcdice/game_system/FutariSousa_Korean.rb +44 -19
- data/lib/bcdice/game_system/HunterTheReckoning5th.rb +10 -3
- data/lib/bcdice/game_system/InfiniteFantasia.rb +4 -1
- data/lib/bcdice/game_system/Insane_Korean.rb +11 -11
- data/lib/bcdice/game_system/Irisbane.rb +1 -1
- data/lib/bcdice/game_system/KamitsubakiCityUnderConstructionNarrative.rb +251 -0
- data/lib/bcdice/game_system/KillDeathBusiness.rb +1 -1
- data/lib/bcdice/game_system/KyokoShinshoku.rb +158 -0
- data/lib/bcdice/game_system/Liminal.rb +136 -0
- data/lib/bcdice/game_system/MetalHead.rb +1 -1
- data/lib/bcdice/game_system/MetalHeadExtream.rb +1 -1
- data/lib/bcdice/game_system/NRR.rb +122 -0
- data/lib/bcdice/game_system/NSSQ.rb +1 -1
- data/lib/bcdice/game_system/NightWizard.rb +1 -1
- data/lib/bcdice/game_system/NightWizard3rd.rb +15 -2
- data/lib/bcdice/game_system/NinjaSlayer.rb +3 -1
- data/lib/bcdice/game_system/NinjaSlayer2.rb +299 -0
- data/lib/bcdice/game_system/OneWayHeroics.rb +1 -1
- data/lib/bcdice/game_system/PastFutureParadox.rb +1238 -0
- data/lib/bcdice/game_system/Postman.rb +3 -3
- data/lib/bcdice/game_system/RecordOfSteam.rb +1 -1
- data/lib/bcdice/game_system/RuneQuestRoleplayingInGlorantha.rb +10 -7
- data/lib/bcdice/game_system/Ryutama.rb +4 -4
- data/lib/bcdice/game_system/SajinsenkiAGuS.rb +5 -1
- data/lib/bcdice/game_system/SajinsenkiAGuS2E.rb +285 -0
- data/lib/bcdice/game_system/Siren.rb +97 -0
- data/lib/bcdice/game_system/Skynauts.rb +1 -1
- data/lib/bcdice/game_system/SkynautsBouken.rb +1 -1
- data/lib/bcdice/game_system/Strave.rb +1 -1
- data/lib/bcdice/game_system/SwordWorld.rb +16 -0
- data/lib/bcdice/game_system/SwordWorld2_5.rb +8 -1
- data/lib/bcdice/game_system/TherapieSein.rb +1 -1
- data/lib/bcdice/game_system/TrinitySeven.rb +1 -1
- data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +21 -9
- data/lib/bcdice/game_system/WerewolfTheApocalypse5th.rb +179 -0
- data/lib/bcdice/game_system/cthulhu7th/full_auto.rb +1 -1
- data/lib/bcdice/game_system/sword_world/rating_options.rb +3 -0
- data/lib/bcdice/game_system/sword_world/rating_parsed.rb +9 -0
- data/lib/bcdice/game_system/sword_world/rating_parser.rb +177 -130
- data/lib/bcdice/game_system/sword_world/transcendent_test.rb +1 -1
- data/lib/bcdice/game_system.rb +12 -0
- data/lib/bcdice/loader.rb +1 -1
- data/lib/bcdice/version.rb +1 -1
- metadata +32 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#
|
|
2
2
|
# DO NOT MODIFY!!!!
|
|
3
|
-
# This file is automatically generated by Racc 1.
|
|
4
|
-
# from Racc grammar file "".
|
|
3
|
+
# This file is automatically generated by Racc 1.7.3
|
|
4
|
+
# from Racc grammar file "rating_parser.y".
|
|
5
5
|
#
|
|
6
6
|
|
|
7
7
|
require 'racc/parser.rb'
|
|
@@ -54,7 +54,8 @@ def parsed(rate, modifier, option)
|
|
|
54
54
|
p.semi_fixed_val = option.semi_fixed_val&.clamp(1, 6) || 0
|
|
55
55
|
p.tmp_fixed_val = option.tmp_fixed_val&.clamp(1, 6) || 0
|
|
56
56
|
p.modifier_after_half = option.modifier_after_half&.eval(@round_type)
|
|
57
|
-
p.
|
|
57
|
+
p.modifier_after_one_and_a_half = option.modifier_after_one_and_a_half&.eval(@round_type)
|
|
58
|
+
p.critical = option.critical&.eval(@round_type)&.clamp(0, 13) || (p.half || p.one_and_a_half ? 13 : 10)
|
|
58
59
|
end
|
|
59
60
|
end
|
|
60
61
|
|
|
@@ -65,111 +66,122 @@ end
|
|
|
65
66
|
##### State transition tables begin ###
|
|
66
67
|
|
|
67
68
|
racc_action_table = [
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
30,
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
69
|
+
18, 16, 17, 19, 6, 20, 21, 23, 24, 64,
|
|
70
|
+
65, 27, 28, 13, 66, 14, 22, 15, 18, 16,
|
|
71
|
+
17, 19, 5, 20, 21, 23, 24, 5, 9, 3,
|
|
72
|
+
4, 13, 10, 14, 22, 15, 18, 16, 17, 19,
|
|
73
|
+
11, 20, 21, 23, 24, 34, 5, 34, 40, 13,
|
|
74
|
+
42, 14, 22, 15, 30, 31, 30, 31, 33, 34,
|
|
75
|
+
33, 34, 62, 63, 62, 63, 34, 43, 30, 31,
|
|
76
|
+
30, 31, 33, 34, 33, 30, 31, 44, 34, 33,
|
|
77
|
+
34, 52, 30, 31, 57, 34, 33, 30, 31, 30,
|
|
78
|
+
31, 33, 34, 33, 30, 31, 58, 34, 33, 34,
|
|
79
|
+
60, 30, 31, 61, 34, 33, 30, 31, 30, 31,
|
|
80
|
+
33, 34, 33, 30, 31, nil, 34, 33, 34, nil,
|
|
81
|
+
30, 31, nil, 34, 33, 30, 31, 30, 31, 33,
|
|
82
|
+
36, 33, 30, 31, 62, 63, 33, 62, 63, 37,
|
|
83
|
+
38, 62, 63, 62, 63, 62, 63 ]
|
|
81
84
|
|
|
82
85
|
racc_action_check = [
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
3,
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
86
|
+
7, 7, 7, 7, 1, 7, 7, 7, 7, 55,
|
|
87
|
+
55, 12, 12, 7, 55, 7, 7, 7, 25, 25,
|
|
88
|
+
25, 25, 3, 25, 25, 25, 25, 0, 4, 0,
|
|
89
|
+
0, 25, 5, 25, 25, 25, 49, 49, 49, 49,
|
|
90
|
+
6, 49, 49, 49, 49, 13, 9, 14, 17, 49,
|
|
91
|
+
19, 49, 49, 49, 13, 13, 14, 14, 13, 16,
|
|
92
|
+
14, 18, 46, 46, 48, 48, 22, 20, 16, 16,
|
|
93
|
+
18, 18, 16, 23, 18, 22, 22, 21, 24, 22,
|
|
94
|
+
27, 29, 23, 23, 37, 28, 23, 24, 24, 27,
|
|
95
|
+
27, 24, 30, 27, 28, 28, 38, 31, 28, 33,
|
|
96
|
+
43, 30, 30, 44, 40, 30, 31, 31, 33, 33,
|
|
97
|
+
31, 62, 33, 40, 40, nil, 63, 40, 64, nil,
|
|
98
|
+
62, 62, nil, 65, 62, 63, 63, 64, 64, 63,
|
|
99
|
+
15, 64, 65, 65, 50, 50, 65, 51, 51, 15,
|
|
100
|
+
15, 56, 56, 69, 69, 70, 70 ]
|
|
96
101
|
|
|
97
102
|
racc_action_pointer = [
|
|
98
|
-
|
|
99
|
-
0,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
nil,
|
|
103
|
-
|
|
104
|
-
nil, nil,
|
|
103
|
+
24, 4, nil, 19, 23, 30, 40, -4, nil, 43,
|
|
104
|
+
nil, nil, 0, 43, 45, 128, 57, 43, 59, 42,
|
|
105
|
+
59, 69, 64, 71, 76, 14, nil, 78, 83, 63,
|
|
106
|
+
90, 95, nil, 97, nil, nil, nil, 82, 94, nil,
|
|
107
|
+
102, nil, nil, 98, 101, nil, 49, nil, 51, 32,
|
|
108
|
+
121, 124, nil, nil, nil, -2, 128, nil, nil, nil,
|
|
109
|
+
nil, nil, 109, 114, 116, 121, nil, nil, nil, 130,
|
|
110
|
+
132 ]
|
|
105
111
|
|
|
106
112
|
racc_action_default = [
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
-24, -
|
|
113
|
-
-
|
|
113
|
+
-36, -36, -5, -36, -36, -36, -36, -1, -5, -36,
|
|
114
|
+
-4, 71, -6, -36, -36, -36, -12, -36, -36, -36,
|
|
115
|
+
-36, -36, -36, -36, -36, -2, -5, -36, -36, -36,
|
|
116
|
+
-36, -36, -33, -36, -35, -8, -9, -36, -36, -13,
|
|
117
|
+
-14, -16, -17, -36, -36, -20, -21, -30, -22, -3,
|
|
118
|
+
-23, -24, -7, -31, -32, -36, -27, -10, -11, -15,
|
|
119
|
+
-18, -19, -36, -36, -36, -36, -34, -28, -29, -25,
|
|
120
|
+
-26 ]
|
|
114
121
|
|
|
115
122
|
racc_goto_table = [
|
|
116
|
-
|
|
117
|
-
|
|
123
|
+
29, 35, 7, 39, 1, 41, 46, 48, 25, 45,
|
|
124
|
+
50, 51, 2, 55, nil, 8, 56, 53, 54, nil,
|
|
125
|
+
nil, 26, nil, nil, nil, nil, 49, 59, nil, nil,
|
|
118
126
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
119
|
-
nil, nil, nil, nil, nil, nil, nil,
|
|
120
|
-
|
|
127
|
+
nil, nil, nil, nil, nil, nil, nil, 69, 70, 67,
|
|
128
|
+
68 ]
|
|
121
129
|
|
|
122
130
|
racc_goto_check = [
|
|
123
|
-
5, 5, 3, 5, 5,
|
|
124
|
-
6,
|
|
125
|
-
nil,
|
|
131
|
+
5, 5, 3, 5, 1, 5, 6, 6, 3, 5,
|
|
132
|
+
6, 6, 2, 7, nil, 2, 6, 5, 5, nil,
|
|
133
|
+
nil, 2, nil, nil, nil, nil, 3, 5, nil, nil,
|
|
126
134
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
|
127
|
-
nil, nil, nil, nil,
|
|
135
|
+
nil, nil, nil, nil, nil, nil, nil, 6, 6, 5,
|
|
136
|
+
5 ]
|
|
128
137
|
|
|
129
138
|
racc_goto_pointer = [
|
|
130
|
-
nil,
|
|
139
|
+
nil, 4, 12, 0, nil, -13, -17, -20, nil ]
|
|
131
140
|
|
|
132
141
|
racc_goto_default = [
|
|
133
|
-
nil, nil, nil, nil,
|
|
142
|
+
nil, nil, nil, nil, 12, 47, nil, nil, 32 ]
|
|
134
143
|
|
|
135
144
|
racc_reduce_table = [
|
|
136
145
|
0, 0, :racc_error,
|
|
137
|
-
2,
|
|
138
|
-
3,
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
3,
|
|
145
|
-
|
|
146
|
-
4,
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
3,
|
|
150
|
-
3,
|
|
151
|
-
4,
|
|
152
|
-
|
|
153
|
-
3,
|
|
154
|
-
|
|
155
|
-
|
|
146
|
+
2, 23, :_reduce_1,
|
|
147
|
+
3, 23, :_reduce_2,
|
|
148
|
+
4, 23, :_reduce_3,
|
|
149
|
+
2, 24, :_reduce_4,
|
|
150
|
+
0, 25, :_reduce_5,
|
|
151
|
+
2, 25, :_reduce_6,
|
|
152
|
+
4, 25, :_reduce_7,
|
|
153
|
+
3, 25, :_reduce_8,
|
|
154
|
+
3, 25, :_reduce_9,
|
|
155
|
+
4, 25, :_reduce_10,
|
|
156
|
+
4, 25, :_reduce_11,
|
|
157
|
+
2, 25, :_reduce_12,
|
|
158
|
+
3, 25, :_reduce_13,
|
|
159
|
+
3, 25, :_reduce_14,
|
|
160
|
+
4, 25, :_reduce_15,
|
|
161
|
+
3, 25, :_reduce_16,
|
|
162
|
+
3, 25, :_reduce_17,
|
|
163
|
+
4, 25, :_reduce_18,
|
|
164
|
+
4, 25, :_reduce_19,
|
|
156
165
|
3, 25, :_reduce_20,
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
3,
|
|
166
|
+
2, 26, :_reduce_21,
|
|
167
|
+
2, 26, :_reduce_22,
|
|
168
|
+
3, 26, :_reduce_23,
|
|
169
|
+
3, 26, :_reduce_24,
|
|
170
|
+
3, 29, :_reduce_25,
|
|
171
|
+
3, 29, :_reduce_26,
|
|
172
|
+
1, 29, :_reduce_none,
|
|
173
|
+
3, 28, :_reduce_28,
|
|
174
|
+
3, 28, :_reduce_29,
|
|
160
175
|
1, 28, :_reduce_none,
|
|
161
|
-
|
|
162
|
-
|
|
176
|
+
2, 27, :_reduce_31,
|
|
177
|
+
2, 27, :_reduce_32,
|
|
163
178
|
1, 27, :_reduce_none,
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
1, 26, :_reduce_none,
|
|
167
|
-
3, 29, :_reduce_31,
|
|
168
|
-
1, 29, :_reduce_32 ]
|
|
179
|
+
3, 30, :_reduce_34,
|
|
180
|
+
1, 30, :_reduce_35 ]
|
|
169
181
|
|
|
170
|
-
racc_reduce_n =
|
|
182
|
+
racc_reduce_n = 36
|
|
171
183
|
|
|
172
|
-
racc_shift_n =
|
|
184
|
+
racc_shift_n = 71
|
|
173
185
|
|
|
174
186
|
racc_token_table = {
|
|
175
187
|
false => 0,
|
|
@@ -178,23 +190,24 @@ racc_token_table = {
|
|
|
178
190
|
:K => 3,
|
|
179
191
|
:R => 4,
|
|
180
192
|
:H => 5,
|
|
181
|
-
:
|
|
182
|
-
:
|
|
183
|
-
:
|
|
184
|
-
:
|
|
185
|
-
:
|
|
186
|
-
:
|
|
187
|
-
:
|
|
188
|
-
:
|
|
189
|
-
:
|
|
190
|
-
:
|
|
191
|
-
:
|
|
192
|
-
:
|
|
193
|
-
:
|
|
194
|
-
:
|
|
195
|
-
:
|
|
196
|
-
|
|
197
|
-
|
|
193
|
+
:O => 6,
|
|
194
|
+
:G => 7,
|
|
195
|
+
:F => 8,
|
|
196
|
+
:S => 9,
|
|
197
|
+
:T => 10,
|
|
198
|
+
:PLUS => 11,
|
|
199
|
+
:MINUS => 12,
|
|
200
|
+
:ASTERISK => 13,
|
|
201
|
+
:SLASH => 14,
|
|
202
|
+
:PARENL => 15,
|
|
203
|
+
:PARENR => 16,
|
|
204
|
+
:BRACKETL => 17,
|
|
205
|
+
:BRACKETR => 18,
|
|
206
|
+
:AT => 19,
|
|
207
|
+
:SHARP => 20,
|
|
208
|
+
:DOLLAR => 21 }
|
|
209
|
+
|
|
210
|
+
racc_nt_base = 22
|
|
198
211
|
|
|
199
212
|
racc_use_result_var = true
|
|
200
213
|
|
|
@@ -213,6 +226,7 @@ Racc_arg = [
|
|
|
213
226
|
racc_shift_n,
|
|
214
227
|
racc_reduce_n,
|
|
215
228
|
racc_use_result_var ]
|
|
229
|
+
Ractor.make_shareable(Racc_arg) if defined?(Ractor)
|
|
216
230
|
|
|
217
231
|
Racc_token_to_s_table = [
|
|
218
232
|
"$end",
|
|
@@ -221,6 +235,7 @@ Racc_token_to_s_table = [
|
|
|
221
235
|
"K",
|
|
222
236
|
"R",
|
|
223
237
|
"H",
|
|
238
|
+
"O",
|
|
224
239
|
"G",
|
|
225
240
|
"F",
|
|
226
241
|
"S",
|
|
@@ -245,6 +260,7 @@ Racc_token_to_s_table = [
|
|
|
245
260
|
"mul",
|
|
246
261
|
"add",
|
|
247
262
|
"term" ]
|
|
263
|
+
Ractor.make_shareable(Racc_token_to_s_table) if defined?(Ractor)
|
|
248
264
|
|
|
249
265
|
Racc_debug_parser = false
|
|
250
266
|
|
|
@@ -262,6 +278,7 @@ end
|
|
|
262
278
|
|
|
263
279
|
def _reduce_2(val, _values, result)
|
|
264
280
|
_, rate, option = val
|
|
281
|
+
raise ParseError if option.modifier_after_one_and_a_half
|
|
265
282
|
option.modifier_after_half ||= Arithmetic::Node::Number.new(0)
|
|
266
283
|
modifier = option.modifier || Arithmetic::Node::Number.new(0)
|
|
267
284
|
result = parsed(rate, modifier.eval(@round_type), option)
|
|
@@ -270,17 +287,27 @@ def _reduce_2(val, _values, result)
|
|
|
270
287
|
end
|
|
271
288
|
|
|
272
289
|
def _reduce_3(val, _values, result)
|
|
273
|
-
|
|
290
|
+
_, _, rate, option = val
|
|
291
|
+
raise ParseError if option.modifier_after_half
|
|
292
|
+
option.modifier_after_one_and_a_half ||= Arithmetic::Node::Number.new(0)
|
|
293
|
+
modifier = option.modifier || Arithmetic::Node::Number.new(0)
|
|
294
|
+
result = parsed(rate, modifier.eval(@round_type), option)
|
|
295
|
+
|
|
274
296
|
result
|
|
275
297
|
end
|
|
276
298
|
|
|
277
299
|
def _reduce_4(val, _values, result)
|
|
300
|
+
result = val[1].to_i
|
|
301
|
+
result
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
def _reduce_5(val, _values, result)
|
|
278
305
|
result = RatingOptions.new
|
|
279
306
|
|
|
280
307
|
result
|
|
281
308
|
end
|
|
282
309
|
|
|
283
|
-
def
|
|
310
|
+
def _reduce_6(val, _values, result)
|
|
284
311
|
option, term = val
|
|
285
312
|
raise ParseError unless option.modifier.nil?
|
|
286
313
|
|
|
@@ -290,7 +317,7 @@ def _reduce_5(val, _values, result)
|
|
|
290
317
|
result
|
|
291
318
|
end
|
|
292
319
|
|
|
293
|
-
def
|
|
320
|
+
def _reduce_7(val, _values, result)
|
|
294
321
|
option, _, term, _ = val
|
|
295
322
|
raise ParseError unless option.critical.nil?
|
|
296
323
|
|
|
@@ -300,7 +327,7 @@ def _reduce_6(val, _values, result)
|
|
|
300
327
|
result
|
|
301
328
|
end
|
|
302
329
|
|
|
303
|
-
def
|
|
330
|
+
def _reduce_8(val, _values, result)
|
|
304
331
|
option, _, term = val
|
|
305
332
|
raise ParseError unless option.critical.nil?
|
|
306
333
|
|
|
@@ -310,7 +337,7 @@ def _reduce_7(val, _values, result)
|
|
|
310
337
|
result
|
|
311
338
|
end
|
|
312
339
|
|
|
313
|
-
def
|
|
340
|
+
def _reduce_9(val, _values, result)
|
|
314
341
|
option, _, term = val
|
|
315
342
|
raise ParseError unless option.settable_first_roll_adjust_option?
|
|
316
343
|
|
|
@@ -320,7 +347,7 @@ def _reduce_8(val, _values, result)
|
|
|
320
347
|
result
|
|
321
348
|
end
|
|
322
349
|
|
|
323
|
-
def
|
|
350
|
+
def _reduce_10(val, _values, result)
|
|
324
351
|
option, _, _, term = val
|
|
325
352
|
raise ParseError unless option.settable_first_roll_adjust_option?
|
|
326
353
|
|
|
@@ -330,7 +357,7 @@ def _reduce_9(val, _values, result)
|
|
|
330
357
|
result
|
|
331
358
|
end
|
|
332
359
|
|
|
333
|
-
def
|
|
360
|
+
def _reduce_11(val, _values, result)
|
|
334
361
|
option, _, _, term = val
|
|
335
362
|
raise ParseError unless option.settable_first_roll_adjust_option?
|
|
336
363
|
|
|
@@ -340,7 +367,7 @@ def _reduce_10(val, _values, result)
|
|
|
340
367
|
result
|
|
341
368
|
end
|
|
342
369
|
|
|
343
|
-
def
|
|
370
|
+
def _reduce_12(val, _values, result)
|
|
344
371
|
option, _ = val
|
|
345
372
|
raise ParseError unless option.modifier_after_half.nil?
|
|
346
373
|
|
|
@@ -350,7 +377,7 @@ def _reduce_11(val, _values, result)
|
|
|
350
377
|
result
|
|
351
378
|
end
|
|
352
379
|
|
|
353
|
-
def
|
|
380
|
+
def _reduce_13(val, _values, result)
|
|
354
381
|
option, _, term = val
|
|
355
382
|
raise ParseError unless option.modifier_after_half.nil?
|
|
356
383
|
|
|
@@ -360,7 +387,27 @@ def _reduce_12(val, _values, result)
|
|
|
360
387
|
result
|
|
361
388
|
end
|
|
362
389
|
|
|
363
|
-
def
|
|
390
|
+
def _reduce_14(val, _values, result)
|
|
391
|
+
option, _, _ = val
|
|
392
|
+
raise ParseError if option.modifier_after_one_and_a_half
|
|
393
|
+
|
|
394
|
+
option.modifier_after_one_and_a_half = Arithmetic::Node::Number.new(0)
|
|
395
|
+
result = option
|
|
396
|
+
|
|
397
|
+
result
|
|
398
|
+
end
|
|
399
|
+
|
|
400
|
+
def _reduce_15(val, _values, result)
|
|
401
|
+
option, _, _, term = val
|
|
402
|
+
raise ParseError if option.modifier_after_one_and_a_half
|
|
403
|
+
|
|
404
|
+
option.modifier_after_one_and_a_half = term
|
|
405
|
+
result = option
|
|
406
|
+
|
|
407
|
+
result
|
|
408
|
+
end
|
|
409
|
+
|
|
410
|
+
def _reduce_16(val, _values, result)
|
|
364
411
|
option, _, term = val
|
|
365
412
|
raise ParseError unless [:v2_5, :v2_0].include?(@version) && option.rateup.nil?
|
|
366
413
|
|
|
@@ -370,7 +417,7 @@ def _reduce_13(val, _values, result)
|
|
|
370
417
|
result
|
|
371
418
|
end
|
|
372
419
|
|
|
373
|
-
def
|
|
420
|
+
def _reduce_17(val, _values, result)
|
|
374
421
|
option, _, _ = val
|
|
375
422
|
raise ParseError unless [:v2_5, :v2_0].include?(@version) && option.settable_non_2d_roll_option?
|
|
376
423
|
|
|
@@ -380,7 +427,7 @@ def _reduce_14(val, _values, result)
|
|
|
380
427
|
result
|
|
381
428
|
end
|
|
382
429
|
|
|
383
|
-
def
|
|
430
|
+
def _reduce_18(val, _values, result)
|
|
384
431
|
option, _, _, term = val
|
|
385
432
|
raise ParseError unless [:v2_5, :v2_0].include?(@version) && option.settable_non_2d_roll_option?
|
|
386
433
|
|
|
@@ -390,7 +437,7 @@ def _reduce_15(val, _values, result)
|
|
|
390
437
|
result
|
|
391
438
|
end
|
|
392
439
|
|
|
393
|
-
def
|
|
440
|
+
def _reduce_19(val, _values, result)
|
|
394
441
|
option, _, _, term = val
|
|
395
442
|
raise ParseError unless [:v2_5, :v2_0].include?(@version) && option.settable_non_2d_roll_option?
|
|
396
443
|
|
|
@@ -400,7 +447,7 @@ def _reduce_16(val, _values, result)
|
|
|
400
447
|
result
|
|
401
448
|
end
|
|
402
449
|
|
|
403
|
-
def
|
|
450
|
+
def _reduce_20(val, _values, result)
|
|
404
451
|
option, _, term = val
|
|
405
452
|
raise ParseError unless @version == :v2_5 && option.kept_modify.nil?
|
|
406
453
|
|
|
@@ -410,69 +457,69 @@ def _reduce_17(val, _values, result)
|
|
|
410
457
|
result
|
|
411
458
|
end
|
|
412
459
|
|
|
413
|
-
def
|
|
460
|
+
def _reduce_21(val, _values, result)
|
|
414
461
|
result = val[1]
|
|
415
462
|
result
|
|
416
463
|
end
|
|
417
464
|
|
|
418
|
-
def
|
|
465
|
+
def _reduce_22(val, _values, result)
|
|
419
466
|
result = Arithmetic::Node::Negative.new(val[1])
|
|
420
467
|
result
|
|
421
468
|
end
|
|
422
469
|
|
|
423
|
-
def
|
|
470
|
+
def _reduce_23(val, _values, result)
|
|
424
471
|
result = Arithmetic::Node::BinaryOp.new(val[0], :+, val[2])
|
|
425
472
|
result
|
|
426
473
|
end
|
|
427
474
|
|
|
428
|
-
def
|
|
475
|
+
def _reduce_24(val, _values, result)
|
|
429
476
|
result = Arithmetic::Node::BinaryOp.new(val[0], :-, val[2])
|
|
430
477
|
result
|
|
431
478
|
end
|
|
432
479
|
|
|
433
|
-
def
|
|
480
|
+
def _reduce_25(val, _values, result)
|
|
434
481
|
result = Arithmetic::Node::BinaryOp.new(val[0], :+, val[2])
|
|
435
482
|
result
|
|
436
483
|
end
|
|
437
484
|
|
|
438
|
-
def
|
|
485
|
+
def _reduce_26(val, _values, result)
|
|
439
486
|
result = Arithmetic::Node::BinaryOp.new(val[0], :-, val[2])
|
|
440
487
|
result
|
|
441
488
|
end
|
|
442
489
|
|
|
443
|
-
# reduce
|
|
490
|
+
# reduce 27 omitted
|
|
444
491
|
|
|
445
|
-
def
|
|
492
|
+
def _reduce_28(val, _values, result)
|
|
446
493
|
result = Arithmetic::Node::BinaryOp.new(val[0], :*, val[2])
|
|
447
494
|
result
|
|
448
495
|
end
|
|
449
496
|
|
|
450
|
-
def
|
|
497
|
+
def _reduce_29(val, _values, result)
|
|
451
498
|
result = Arithmetic::Node::DivideWithGameSystemDefault.new(val[0], val[2])
|
|
452
499
|
|
|
453
500
|
result
|
|
454
501
|
end
|
|
455
502
|
|
|
456
|
-
# reduce
|
|
503
|
+
# reduce 30 omitted
|
|
457
504
|
|
|
458
|
-
def
|
|
505
|
+
def _reduce_31(val, _values, result)
|
|
459
506
|
result = val[1]
|
|
460
507
|
result
|
|
461
508
|
end
|
|
462
509
|
|
|
463
|
-
def
|
|
510
|
+
def _reduce_32(val, _values, result)
|
|
464
511
|
result = Arithmetic::Node::Negative.new(val[1])
|
|
465
512
|
result
|
|
466
513
|
end
|
|
467
514
|
|
|
468
|
-
# reduce
|
|
515
|
+
# reduce 33 omitted
|
|
469
516
|
|
|
470
|
-
def
|
|
517
|
+
def _reduce_34(val, _values, result)
|
|
471
518
|
result = val[1]
|
|
472
519
|
result
|
|
473
520
|
end
|
|
474
521
|
|
|
475
|
-
def
|
|
522
|
+
def _reduce_35(val, _values, result)
|
|
476
523
|
result = Arithmetic::Node::Number.new(val[0])
|
|
477
524
|
result
|
|
478
525
|
end
|
|
@@ -39,7 +39,7 @@ module BCDice
|
|
|
39
39
|
fumble = first_value_group == [1, 1]
|
|
40
40
|
critical = first_value_group == [6, 6]
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
unless fumble
|
|
43
43
|
while sum_of_dice(value_groups.last) >= @critical_value
|
|
44
44
|
value_groups.push(randomizer.roll_barabara(2, 6))
|
|
45
45
|
end
|
data/lib/bcdice/game_system.rb
CHANGED
|
@@ -12,8 +12,10 @@ require "bcdice/game_system/Amadeus"
|
|
|
12
12
|
require "bcdice/game_system/Amadeus_Korean"
|
|
13
13
|
require "bcdice/game_system/AngelGear"
|
|
14
14
|
require "bcdice/game_system/AnimaAnimus"
|
|
15
|
+
require "bcdice/game_system/AniMalus"
|
|
15
16
|
require "bcdice/game_system/Aoharubaan"
|
|
16
17
|
require "bcdice/game_system/Arianrhod"
|
|
18
|
+
require "bcdice/game_system/ArknightsFan"
|
|
17
19
|
require "bcdice/game_system/ArsMagica"
|
|
18
20
|
require "bcdice/game_system/AssaultEngine"
|
|
19
21
|
require "bcdice/game_system/Avandner"
|
|
@@ -83,6 +85,7 @@ require "bcdice/game_system/Fiasco"
|
|
|
83
85
|
require "bcdice/game_system/Fiasco_Korean"
|
|
84
86
|
require "bcdice/game_system/FilledWith"
|
|
85
87
|
require "bcdice/game_system/FullMetalPanic"
|
|
88
|
+
require "bcdice/game_system/FullFace"
|
|
86
89
|
require "bcdice/game_system/FutariSousa"
|
|
87
90
|
require "bcdice/game_system/FutariSousa_Korean"
|
|
88
91
|
require "bcdice/game_system/Garako"
|
|
@@ -120,6 +123,7 @@ require "bcdice/game_system/JekyllAndHyde"
|
|
|
120
123
|
require "bcdice/game_system/JuinKansen"
|
|
121
124
|
require "bcdice/game_system/Kamigakari"
|
|
122
125
|
require "bcdice/game_system/Kamigakari_Korean"
|
|
126
|
+
require "bcdice/game_system/KamitsubakiCityUnderConstructionNarrative"
|
|
123
127
|
require "bcdice/game_system/KanColle"
|
|
124
128
|
require "bcdice/game_system/Karukami"
|
|
125
129
|
require "bcdice/game_system/KemonoNoMori"
|
|
@@ -127,6 +131,8 @@ require "bcdice/game_system/KillDeathBusiness"
|
|
|
127
131
|
require "bcdice/game_system/KillDeathBusiness_Korean"
|
|
128
132
|
require "bcdice/game_system/KurayamiCrying"
|
|
129
133
|
require "bcdice/game_system/Kutulu"
|
|
134
|
+
require "bcdice/game_system/KyokoShinshoku"
|
|
135
|
+
require "bcdice/game_system/Liminal"
|
|
130
136
|
require "bcdice/game_system/LiveraDoll"
|
|
131
137
|
require "bcdice/game_system/LogHorizon"
|
|
132
138
|
require "bcdice/game_system/LogHorizon_Korean"
|
|
@@ -151,8 +157,10 @@ require "bcdice/game_system/NightWizard"
|
|
|
151
157
|
require "bcdice/game_system/NightWizard3rd"
|
|
152
158
|
require "bcdice/game_system/NightmareHunterDeep"
|
|
153
159
|
require "bcdice/game_system/NinjaSlayer"
|
|
160
|
+
require "bcdice/game_system/NinjaSlayer2"
|
|
154
161
|
require "bcdice/game_system/NjslyrBattle"
|
|
155
162
|
require "bcdice/game_system/NobunagasBlackCastle"
|
|
163
|
+
require "bcdice/game_system/NRR"
|
|
156
164
|
require "bcdice/game_system/NSSQ"
|
|
157
165
|
require "bcdice/game_system/Nuekagami"
|
|
158
166
|
require "bcdice/game_system/OneWayHeroics"
|
|
@@ -163,6 +171,7 @@ require "bcdice/game_system/Paradiso"
|
|
|
163
171
|
require "bcdice/game_system/Paranoia"
|
|
164
172
|
require "bcdice/game_system/ParanoiaRebooted"
|
|
165
173
|
require "bcdice/game_system/ParasiteBlood"
|
|
174
|
+
require "bcdice/game_system/PastFutureParadox"
|
|
166
175
|
require "bcdice/game_system/Pathfinder"
|
|
167
176
|
require "bcdice/game_system/Peekaboo"
|
|
168
177
|
require "bcdice/game_system/Pendragon"
|
|
@@ -182,6 +191,7 @@ require "bcdice/game_system/RuneQuestRoleplayingInGlorantha"
|
|
|
182
191
|
require "bcdice/game_system/RyuTuber"
|
|
183
192
|
require "bcdice/game_system/Ryutama"
|
|
184
193
|
require "bcdice/game_system/SajinsenkiAGuS"
|
|
194
|
+
require "bcdice/game_system/SajinsenkiAGuS2E"
|
|
185
195
|
require "bcdice/game_system/SRS"
|
|
186
196
|
require "bcdice/game_system/SamsaraBallad"
|
|
187
197
|
require "bcdice/game_system/Satasupe"
|
|
@@ -198,6 +208,7 @@ require "bcdice/game_system/ShinobiGami"
|
|
|
198
208
|
require "bcdice/game_system/Shiranui"
|
|
199
209
|
require "bcdice/game_system/ShoujoTenrankai"
|
|
200
210
|
require "bcdice/game_system/ShuumatsuKikou"
|
|
211
|
+
require "bcdice/game_system/Siren"
|
|
201
212
|
require "bcdice/game_system/Skynauts"
|
|
202
213
|
require "bcdice/game_system/SkynautsBouken"
|
|
203
214
|
require "bcdice/game_system/StarryDolls"
|
|
@@ -238,6 +249,7 @@ require "bcdice/game_system/WARPS"
|
|
|
238
249
|
require "bcdice/game_system/WaresBlade"
|
|
239
250
|
require "bcdice/game_system/Warhammer"
|
|
240
251
|
require "bcdice/game_system/Warhammer4"
|
|
252
|
+
require "bcdice/game_system/WerewolfTheApocalypse5th"
|
|
241
253
|
require "bcdice/game_system/WitchQuest"
|
|
242
254
|
require "bcdice/game_system/WorldOfDarkness"
|
|
243
255
|
require "bcdice/game_system/WorldsEndFrontline"
|
data/lib/bcdice/loader.rb
CHANGED
data/lib/bcdice/version.rb
CHANGED