bcdice 3.3.0 → 3.6.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 +158 -74
- data/README.md +2 -1
- data/i18n/BeginningIdol/ja_jp.yml +2806 -0
- data/i18n/BeginningIdol/ko_kr.yml +1400 -0
- data/i18n/Cthulhu/zh_hans.yml +11 -0
- data/i18n/FutariSousa/ja_jp.yml +705 -9
- data/i18n/KillDeathBusiness/ja_jp.yml +2 -2
- data/i18n/MagicaLogia/ja_jp.yml +1 -1
- data/i18n/MonotoneMuseum/ko_kr.yml +526 -53
- data/i18n/SwordWorld/ja_jp.yml +6 -0
- data/i18n/SwordWorld2_0/ja_jp.yml +37 -0
- data/i18n/SwordWorld2_5/ja_jp.yml +57 -0
- data/lib/bcdice/common_command/add_dice/node.rb +28 -4
- data/lib/bcdice/common_command/add_dice/parser.rb +149 -85
- data/lib/bcdice/common_command/choice.rb +82 -7
- data/lib/bcdice/common_command/tally_dice/node.rb +135 -0
- data/lib/bcdice/common_command/tally_dice/parser.rb +302 -0
- data/lib/bcdice/common_command/tally_dice.rb +19 -0
- data/lib/bcdice/common_command.rb +2 -0
- data/lib/bcdice/dice_table/d66_left_range_table.rb +29 -0
- data/lib/bcdice/dice_table/d66_parity_table.rb +8 -0
- data/lib/bcdice/dice_table/d66_table.rb +5 -1
- data/lib/bcdice/dice_table.rb +1 -0
- data/lib/bcdice/game_system/AngelGear.rb +9 -4
- data/lib/bcdice/game_system/Aoharubaan.rb +91 -0
- data/lib/bcdice/game_system/AssaultEngine.rb +91 -0
- data/lib/bcdice/game_system/Avandner.rb +1 -2
- data/lib/bcdice/game_system/Ayabito.rb +229 -0
- data/lib/bcdice/game_system/BadLife.rb +264 -289
- data/lib/bcdice/game_system/Bakenokawa.rb +244 -0
- data/lib/bcdice/game_system/BattleTech.rb +1 -1
- data/lib/bcdice/game_system/BeginningIdol.rb +116 -2390
- data/lib/bcdice/game_system/BeginningIdol_Korean.rb +10 -2312
- data/lib/bcdice/game_system/CastleInGray.rb +133 -0
- data/lib/bcdice/game_system/Cthulhu.rb +2 -2
- data/lib/bcdice/game_system/Cthulhu7th.rb +10 -10
- data/lib/bcdice/game_system/Cthulhu_SimplifiedChinese.rb +60 -0
- data/lib/bcdice/game_system/CyberpunkRed.rb +135 -0
- data/lib/bcdice/game_system/DarkDaysDrive.rb +76 -41
- data/lib/bcdice/game_system/DoubleCross.rb +5 -0
- data/lib/bcdice/game_system/Dracurouge.rb +2 -1
- data/lib/bcdice/game_system/Elysion.rb +36 -20
- data/lib/bcdice/game_system/Emoklore.rb +1 -1
- data/lib/bcdice/game_system/FateCoreSystem.rb +117 -0
- data/lib/bcdice/game_system/FutariSousa.rb +48 -4
- data/lib/bcdice/game_system/GranCrest.rb +171 -406
- data/lib/bcdice/game_system/Irisbane.rb +154 -0
- data/lib/bcdice/game_system/Karukami.rb +84 -0
- data/lib/bcdice/game_system/KemonoNoMori.rb +17 -17
- data/lib/bcdice/game_system/KurayamiCrying.rb +1 -1
- data/lib/bcdice/game_system/MonotoneMuseum_Korean.rb +4 -4
- data/lib/bcdice/game_system/NeverCloud.rb +19 -8
- data/lib/bcdice/game_system/PersonaO.rb +86 -0
- data/lib/bcdice/game_system/Revulture.rb +2 -2
- data/lib/bcdice/game_system/Shiranui.rb +145 -0
- data/lib/bcdice/game_system/ShuumatsuKikou.rb +298 -0
- data/lib/bcdice/game_system/StarryDolls.rb +318 -0
- data/lib/bcdice/game_system/SteamPunkers.rb +14 -1
- data/lib/bcdice/game_system/StellarKnights.rb +1 -1
- data/lib/bcdice/game_system/{SterileLife.rb → StellarLife.rb} +162 -226
- data/lib/bcdice/game_system/StrangerOfSwordCity.rb +18 -5
- data/lib/bcdice/game_system/SwordWorld.rb +11 -7
- data/lib/bcdice/game_system/SwordWorld2_0.rb +30 -38
- data/lib/bcdice/game_system/SwordWorld2_5.rb +9 -63
- data/lib/bcdice/game_system/TalesFromTheLoop.rb +83 -0
- data/lib/bcdice/game_system/TorgEternity.rb +2 -2
- data/lib/bcdice/game_system/ToshiakiHolyGrailWar.rb +92 -0
- data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +29 -28
- data/lib/bcdice/game_system/YearZeroEngine.rb +40 -19
- data/lib/bcdice/game_system/beginning_idol/accessories_table.rb +31 -0
- data/lib/bcdice/game_system/beginning_idol/bad_status_table.rb +43 -0
- data/lib/bcdice/game_system/beginning_idol/chain_d66_table.rb +29 -0
- data/lib/bcdice/game_system/beginning_idol/chain_table.rb +37 -0
- data/lib/bcdice/game_system/beginning_idol/costume_table.rb +37 -0
- data/lib/bcdice/game_system/beginning_idol/d6_twice_table.rb +36 -0
- data/lib/bcdice/game_system/beginning_idol/item_table.rb +51 -0
- data/lib/bcdice/game_system/beginning_idol/my_skill_name_table.rb +44 -0
- data/lib/bcdice/game_system/beginning_idol/random_event_table.rb +31 -0
- data/lib/bcdice/game_system/beginning_idol/skill_table.rb +63 -0
- data/lib/bcdice/game_system/beginning_idol/table.rb +193 -0
- data/lib/bcdice/game_system/beginning_idol/with_abnormality.rb +74 -0
- data/lib/bcdice/game_system/beginning_idol/work_table.rb +57 -0
- data/lib/bcdice/game_system/cyberpunk_red/tables.rb +530 -0
- data/lib/bcdice/game_system/meikyu_kingdom/tables.rb +1 -1
- data/lib/bcdice/game_system/meikyu_kingdom_basic/table.rb +1 -1
- data/lib/bcdice/game_system/one_way_heroics/random_event_table.rb +4 -4
- data/lib/bcdice/game_system/satasupe/tables.rb +1 -1
- data/lib/bcdice/game_system/sword_world/rating_options.rb +47 -0
- data/lib/bcdice/game_system/sword_world/rating_parsed.rb +40 -45
- data/lib/bcdice/game_system/sword_world/rating_parser.rb +172 -141
- data/lib/bcdice/game_system/sword_world/transcendent_test.rb +14 -10
- data/lib/bcdice/game_system.rb +16 -1
- data/lib/bcdice/randomizer.rb +1 -1
- data/lib/bcdice/version.rb +1 -1
- metadata +45 -5
|
@@ -86,6 +86,7 @@ module BCDice
|
|
|
86
86
|
return roll_tables(command, TABLES) if result.empty?
|
|
87
87
|
end
|
|
88
88
|
|
|
89
|
+
return result if result.instance_of?(Result)
|
|
89
90
|
return '' if result.empty?
|
|
90
91
|
|
|
91
92
|
return "#{command} > #{result}"
|
|
@@ -158,16 +159,20 @@ module BCDice
|
|
|
158
159
|
addTotal = base + modify
|
|
159
160
|
total = diceTotal + addTotal
|
|
160
161
|
|
|
161
|
-
result =
|
|
162
|
-
result
|
|
163
|
-
result +=
|
|
162
|
+
result = Result.new
|
|
163
|
+
result.text = "EL"
|
|
164
|
+
result.text += base.to_s unless base.zero?
|
|
165
|
+
result.text += getValueString(modify) unless modify.zero?
|
|
166
|
+
result.text += " > "
|
|
167
|
+
result.text += "(2D6#{getValueString(base)}#{getValueString(modify)})"
|
|
168
|
+
result.text += " > #{diceTotal}[#{dice1},#{dice2}]#{getValueString(addTotal)} > #{total}"
|
|
164
169
|
|
|
165
170
|
if dice1 == dice2
|
|
166
|
-
|
|
171
|
+
getSpecialResult(dice1, total, result)
|
|
167
172
|
return result
|
|
168
173
|
end
|
|
169
174
|
|
|
170
|
-
result
|
|
175
|
+
result = getCheckResult(total, result)
|
|
171
176
|
|
|
172
177
|
return result
|
|
173
178
|
end
|
|
@@ -185,17 +190,25 @@ module BCDice
|
|
|
185
190
|
return ""
|
|
186
191
|
end
|
|
187
192
|
|
|
188
|
-
def getCheckResult(total)
|
|
193
|
+
def getCheckResult(total, result)
|
|
189
194
|
success = getSuccessRank(total)
|
|
190
195
|
|
|
191
|
-
|
|
196
|
+
if success == 0
|
|
197
|
+
result.failure = true
|
|
198
|
+
result.text += " > 失敗"
|
|
199
|
+
return result
|
|
200
|
+
end
|
|
192
201
|
|
|
193
|
-
return getSuccessResult(success)
|
|
202
|
+
return getSuccessResult(success, result)
|
|
194
203
|
end
|
|
195
204
|
|
|
196
|
-
def getSuccessResult(success)
|
|
197
|
-
result =
|
|
198
|
-
result += " >
|
|
205
|
+
def getSuccessResult(success, result)
|
|
206
|
+
result.success = true
|
|
207
|
+
result.text += " > 成功度#{success}"
|
|
208
|
+
if success >= SUCCESS_MAX
|
|
209
|
+
result.critical = true
|
|
210
|
+
result.text += " > 大成功 《アウル》2点獲得"
|
|
211
|
+
end
|
|
199
212
|
|
|
200
213
|
return result
|
|
201
214
|
end
|
|
@@ -209,29 +222,32 @@ module BCDice
|
|
|
209
222
|
return success
|
|
210
223
|
end
|
|
211
224
|
|
|
212
|
-
def getSpecialResult(number, total)
|
|
225
|
+
def getSpecialResult(number, total, result)
|
|
213
226
|
debug("getSpecialResult", number)
|
|
214
227
|
|
|
215
228
|
if number == 6
|
|
216
|
-
return getCriticalResult
|
|
229
|
+
return getCriticalResult(result)
|
|
217
230
|
end
|
|
218
231
|
|
|
219
|
-
return getFambleResultText(number, total)
|
|
232
|
+
return getFambleResultText(number, total, result)
|
|
220
233
|
end
|
|
221
234
|
|
|
222
|
-
def getCriticalResult
|
|
223
|
-
getSuccessResult(SUCCESS_MAX)
|
|
235
|
+
def getCriticalResult(result)
|
|
236
|
+
getSuccessResult(SUCCESS_MAX, result)
|
|
224
237
|
end
|
|
225
238
|
|
|
226
|
-
def getFambleResultText(number, total)
|
|
239
|
+
def getFambleResultText(number, total, result)
|
|
227
240
|
debug("getFambleResultText number", number)
|
|
228
241
|
|
|
229
242
|
if number == 1
|
|
230
|
-
|
|
243
|
+
result.fumble = true
|
|
244
|
+
result.failure = true
|
|
245
|
+
result.text += " > 大失敗"
|
|
246
|
+
return result
|
|
231
247
|
end
|
|
232
248
|
|
|
233
|
-
result = getCheckResult(total)
|
|
234
|
-
result += " / (#{number - 1}回目のアシストなら)大失敗"
|
|
249
|
+
result = getCheckResult(total, result)
|
|
250
|
+
result.text += " / (#{number - 1}回目のアシストなら)大失敗"
|
|
235
251
|
|
|
236
252
|
debug("getFambleResultText result", result)
|
|
237
253
|
|
|
@@ -67,7 +67,7 @@ module BCDice
|
|
|
67
67
|
success_value = 2 * critical + success - fumble
|
|
68
68
|
result = compare_result(success_value)
|
|
69
69
|
|
|
70
|
-
result.text = "#{values} > #{success_value} > #{result.text}"
|
|
70
|
+
result.text = "#{values} > #{success_value} > 成功数#{success_value} #{result.text}"
|
|
71
71
|
return result
|
|
72
72
|
end
|
|
73
73
|
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module BCDice
|
|
4
|
+
module GameSystem
|
|
5
|
+
class FateCoreSystem < Base
|
|
6
|
+
# ゲームシステムの識別子
|
|
7
|
+
ID = 'FateCoreSystem'
|
|
8
|
+
|
|
9
|
+
# ゲームシステム名
|
|
10
|
+
NAME = 'Fate Core System'
|
|
11
|
+
|
|
12
|
+
# ゲームシステム名の読みがな
|
|
13
|
+
SORT_KEY = 'ふえいとこあしすてむ'
|
|
14
|
+
|
|
15
|
+
# ダイスボットの使い方
|
|
16
|
+
HELP_MESSAGE = <<~MESSAGETEXT
|
|
17
|
+
■ ファッジダイスによる判定 (xDF+y>=t)
|
|
18
|
+
ファッジダイスをx個ダイスロールし、結果を判定します。
|
|
19
|
+
x: ダイス数
|
|
20
|
+
y: 修正値(省略可)
|
|
21
|
+
t: 目標値値(省略可)
|
|
22
|
+
例)4DF, 4DF>=3, 4DF+1>=3
|
|
23
|
+
MESSAGETEXT
|
|
24
|
+
|
|
25
|
+
register_prefix('\d+DF')
|
|
26
|
+
|
|
27
|
+
def eval_game_system_specific_command(command)
|
|
28
|
+
roll_df(command)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
def roll_df(command)
|
|
34
|
+
parser = Command::Parser.new("DF", round_type: @round_type)
|
|
35
|
+
.enable_prefix_number()
|
|
36
|
+
.restrict_cmp_op_to(:>=, nil)
|
|
37
|
+
|
|
38
|
+
parsed = parser.parse(command)
|
|
39
|
+
unless parsed
|
|
40
|
+
return nil
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
dice_list = roll_fate_dice(parsed.prefix_number)
|
|
44
|
+
total = dice_list.sum() + parsed.modify_number
|
|
45
|
+
|
|
46
|
+
fate_dice_list = dice_list.map do |i|
|
|
47
|
+
if i.zero?
|
|
48
|
+
"[ ]"
|
|
49
|
+
elsif i.positive?
|
|
50
|
+
"[+]"
|
|
51
|
+
else
|
|
52
|
+
"[-]"
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
result = outcome(total, parsed.target_number)
|
|
57
|
+
sequence = [
|
|
58
|
+
"(#{parsed})",
|
|
59
|
+
"#{fate_dice_list.join()}#{Format.modifier(parsed.modify_number)}",
|
|
60
|
+
result_ladder(total),
|
|
61
|
+
result.text,
|
|
62
|
+
]
|
|
63
|
+
|
|
64
|
+
result.text = sequence.compact.join(" > ")
|
|
65
|
+
return result
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def roll_fate_dice(times)
|
|
69
|
+
@randomizer.roll_barabara(times, 3).map { |i| i - 2 }
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def result_ladder(total)
|
|
73
|
+
ladder =
|
|
74
|
+
case total.clamp(-2, 8)
|
|
75
|
+
when 8
|
|
76
|
+
"Legendary"
|
|
77
|
+
when 7
|
|
78
|
+
"Epic"
|
|
79
|
+
when 6
|
|
80
|
+
"Fantastic"
|
|
81
|
+
when 5
|
|
82
|
+
"Superb"
|
|
83
|
+
when 4
|
|
84
|
+
"Great"
|
|
85
|
+
when 3
|
|
86
|
+
"Good"
|
|
87
|
+
when 2
|
|
88
|
+
"Fair"
|
|
89
|
+
when 1
|
|
90
|
+
"Average"
|
|
91
|
+
when 0
|
|
92
|
+
"Mediocre"
|
|
93
|
+
when -1
|
|
94
|
+
"Poor"
|
|
95
|
+
else
|
|
96
|
+
"Terrible"
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
return "#{ladder}(#{format('%+d', total)})"
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def outcome(total, target)
|
|
103
|
+
if target.nil?
|
|
104
|
+
Result.new
|
|
105
|
+
elsif total == target
|
|
106
|
+
Result.success("Tie")
|
|
107
|
+
elsif total >= target + 3
|
|
108
|
+
Result.critical("Succeed with Style")
|
|
109
|
+
elsif total >= target
|
|
110
|
+
Result.success("Succeed")
|
|
111
|
+
else
|
|
112
|
+
Result.failure("Fail")
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
@@ -19,13 +19,25 @@ module BCDice
|
|
|
19
19
|
助手用:【AS】…6面ダイスを2つ振って判定します。『有利』なら【3AS】、『不利』なら【1AS】を使います。
|
|
20
20
|
・各種表
|
|
21
21
|
【調査時】
|
|
22
|
-
異常な癖決定表
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
異常な癖決定表 SHRD/新・異常な癖決定表 SHND
|
|
23
|
+
普通の?・異常な癖決定表 SHAD/ケイジ異常な癖決定表 SHKD
|
|
24
|
+
口から出る表 SHFM/強引な捜査表 SHBT/すっとぼけ表 SHPI
|
|
25
|
+
事件に夢中表 SHEG/パートナーと……表 SHWP/何かしている表 SHDS
|
|
26
|
+
奇想天外表 SHFT/急なひらめき表 SHIN/喜怒哀楽表 SHEM
|
|
27
|
+
人間エミュレート表 SHHE/人間エミュレート失敗表 SHHF/パートナーへのいたずら表 SHMP
|
|
28
|
+
思わせぶり表 SHSB/もどかしい表 SHFR/突然どうした表 SHIS
|
|
29
|
+
わがままを言う表 SHSE/普通に見える表 SHLM/嫉妬に狂う表 SHJS
|
|
30
|
+
傲慢な態度表 SHAR/比較的軽度なもの表 SHRM/ノータイム表 SHNT
|
|
31
|
+
捜査のやり方表 SHIM/貴族表 SHNO/説明しない表 SHNE
|
|
32
|
+
刑事としての癖表 SHHD
|
|
26
33
|
イベント表
|
|
27
34
|
現場にて EVS/なぜ? EVW/協力者と共に EVN
|
|
28
35
|
向こうから EVC/VS容疑者 EVV
|
|
36
|
+
閉鎖空間 EVE
|
|
37
|
+
探偵のみ捜査 EVD/助手のみ捜査 EVA/観光捜査 EVT
|
|
38
|
+
思わぬヒント EVH/実験をしてみよう EVX/ゲスト捜査 EVG
|
|
39
|
+
ケイジ聞き込み捜査 EVQ/ケイジ大規模捜査 EVM/こっそり情報の受け渡し EVP
|
|
40
|
+
同僚たちと一緒に捜査する EVO/頻染みの店シチュエーション EVF/ハードBデカアクション EVB
|
|
29
41
|
調査の障害表 OBT 変調表 ACT 目撃者表 EWT 迷宮入り表 WMT
|
|
30
42
|
【設定時】
|
|
31
43
|
背景表
|
|
@@ -111,6 +123,9 @@ module BCDice
|
|
|
111
123
|
def translate_tables(locale)
|
|
112
124
|
{
|
|
113
125
|
"SHRD" => DiceTable::Table.from_i18n("FutariSousa.table.SHRD", locale),
|
|
126
|
+
"SHND" => DiceTable::Table.from_i18n("FutariSousa.table.SHND", locale),
|
|
127
|
+
"SHAD" => DiceTable::Table.from_i18n("FutariSousa.table.SHAD", locale),
|
|
128
|
+
"SHKD" => DiceTable::Table.from_i18n("FutariSousa.table.SHKD", locale),
|
|
114
129
|
"SHFM" => DiceTable::Table.from_i18n("FutariSousa.table.SHFM", locale),
|
|
115
130
|
"SHBT" => DiceTable::Table.from_i18n("FutariSousa.table.SHBT", locale),
|
|
116
131
|
"SHPI" => DiceTable::Table.from_i18n("FutariSousa.table.SHPI", locale),
|
|
@@ -120,11 +135,40 @@ module BCDice
|
|
|
120
135
|
"SHFT" => DiceTable::Table.from_i18n("FutariSousa.table.SHFT", locale),
|
|
121
136
|
"SHIN" => DiceTable::Table.from_i18n("FutariSousa.table.SHIN", locale),
|
|
122
137
|
"SHEM" => DiceTable::Table.from_i18n("FutariSousa.table.SHEM", locale),
|
|
138
|
+
"SHHE" => DiceTable::Table.from_i18n("FutariSousa.table.SHHE", locale),
|
|
139
|
+
"SHHF" => DiceTable::Table.from_i18n("FutariSousa.table.SHHF", locale),
|
|
140
|
+
"SHMP" => DiceTable::Table.from_i18n("FutariSousa.table.SHMP", locale),
|
|
141
|
+
"SHSB" => DiceTable::Table.from_i18n("FutariSousa.table.SHSB", locale),
|
|
142
|
+
"SHFR" => DiceTable::Table.from_i18n("FutariSousa.table.SHFR", locale),
|
|
143
|
+
"SHIS" => DiceTable::Table.from_i18n("FutariSousa.table.SHIS", locale),
|
|
144
|
+
"SHSE" => DiceTable::Table.from_i18n("FutariSousa.table.SHSE", locale),
|
|
145
|
+
"SHLM" => DiceTable::Table.from_i18n("FutariSousa.table.SHLM", locale),
|
|
146
|
+
"SHJS" => DiceTable::Table.from_i18n("FutariSousa.table.SHJS", locale),
|
|
147
|
+
"SHAR" => DiceTable::Table.from_i18n("FutariSousa.table.SHAR", locale),
|
|
148
|
+
"SHRM" => DiceTable::Table.from_i18n("FutariSousa.table.SHRM", locale),
|
|
149
|
+
"SHNT" => DiceTable::Table.from_i18n("FutariSousa.table.SHNT", locale),
|
|
150
|
+
"SHIM" => DiceTable::Table.from_i18n("FutariSousa.table.SHIM", locale),
|
|
151
|
+
"SHNO" => DiceTable::Table.from_i18n("FutariSousa.table.SHNO", locale),
|
|
152
|
+
"SHNE" => DiceTable::Table.from_i18n("FutariSousa.table.SHNE", locale),
|
|
153
|
+
"SHHD" => DiceTable::Table.from_i18n("FutariSousa.table.SHHD", locale),
|
|
123
154
|
"EVS" => DiceTable::Table.from_i18n("FutariSousa.table.EVS", locale),
|
|
124
155
|
"EVW" => DiceTable::Table.from_i18n("FutariSousa.table.EVW", locale),
|
|
125
156
|
"EVN" => DiceTable::Table.from_i18n("FutariSousa.table.EVN", locale),
|
|
126
157
|
"EVC" => DiceTable::Table.from_i18n("FutariSousa.table.EVC", locale),
|
|
127
158
|
"EVV" => DiceTable::Table.from_i18n("FutariSousa.table.EVV", locale),
|
|
159
|
+
"EVE" => DiceTable::Table.from_i18n("FutariSousa.table.EVE", locale),
|
|
160
|
+
"EVD" => DiceTable::Table.from_i18n("FutariSousa.table.EVD", locale),
|
|
161
|
+
"EVA" => DiceTable::Table.from_i18n("FutariSousa.table.EVA", locale),
|
|
162
|
+
"EVT" => DiceTable::Table.from_i18n("FutariSousa.table.EVT", locale),
|
|
163
|
+
"EVH" => DiceTable::Table.from_i18n("FutariSousa.table.EVH", locale),
|
|
164
|
+
"EVX" => DiceTable::Table.from_i18n("FutariSousa.table.EVX", locale),
|
|
165
|
+
"EVG" => DiceTable::Table.from_i18n("FutariSousa.table.EVG", locale),
|
|
166
|
+
"EVQ" => DiceTable::Table.from_i18n("FutariSousa.table.EVQ", locale),
|
|
167
|
+
"EVM" => DiceTable::Table.from_i18n("FutariSousa.table.EVM", locale),
|
|
168
|
+
"EVP" => DiceTable::Table.from_i18n("FutariSousa.table.EVP", locale),
|
|
169
|
+
"EVO" => DiceTable::Table.from_i18n("FutariSousa.table.EVO", locale),
|
|
170
|
+
"EVF" => DiceTable::Table.from_i18n("FutariSousa.table.EVF", locale),
|
|
171
|
+
"EVB" => DiceTable::Table.from_i18n("FutariSousa.table.EVB", locale),
|
|
128
172
|
"OBT" => DiceTable::D66Table.from_i18n("FutariSousa.table.OBT", locale),
|
|
129
173
|
"ACT" => DiceTable::Table.from_i18n("FutariSousa.table.ACT", locale),
|
|
130
174
|
"EWT" => DiceTable::Table.from_i18n("FutariSousa.table.EWT", locale),
|