bcdice 3.2.0 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +27 -3
  3. data/README.md +1 -1
  4. data/i18n/MagicaLogia/zh_hans.yml +564 -0
  5. data/i18n/StellarKnights/ja_jp.yml +2 -0
  6. data/i18n/StellarKnights/ko_kr.yml +498 -0
  7. data/i18n/zh_hans.yml +7 -0
  8. data/lib/bcdice/command/parsed.rb +11 -3
  9. data/lib/bcdice/command/parser.rb +179 -100
  10. data/lib/bcdice/common_command/barabara_dice/node.rb +2 -2
  11. data/lib/bcdice/common_command/barabara_dice/result.rb +6 -0
  12. data/lib/bcdice/game_system.rb +3 -0
  13. data/lib/bcdice/game_system/Amadeus.rb +110 -93
  14. data/lib/bcdice/game_system/AnimaAnimus.rb +15 -8
  15. data/lib/bcdice/game_system/BattleTech.rb +109 -28
  16. data/lib/bcdice/game_system/BeastBindTrinity.rb +28 -12
  17. data/lib/bcdice/game_system/BlindMythos.rb +38 -37
  18. data/lib/bcdice/game_system/CodeLayerd.rb +39 -39
  19. data/lib/bcdice/game_system/ColossalHunter.rb +34 -47
  20. data/lib/bcdice/game_system/DeadlineHeroes.rb +9 -8
  21. data/lib/bcdice/game_system/DoubleCross.rb +2 -0
  22. data/lib/bcdice/game_system/Emoklore.rb +22 -17
  23. data/lib/bcdice/game_system/FutariSousa.rb +12 -10
  24. data/lib/bcdice/game_system/GardenOrder.rb +11 -6
  25. data/lib/bcdice/game_system/KemonoNoMori.rb +25 -38
  26. data/lib/bcdice/game_system/KurayamiCrying.rb +86 -0
  27. data/lib/bcdice/game_system/LiveraDoll.rb +254 -304
  28. data/lib/bcdice/game_system/LogHorizon.rb +10 -7
  29. data/lib/bcdice/game_system/MagicaLogia_SimplifiedChinese.rb +66 -0
  30. data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +2 -1
  31. data/lib/bcdice/game_system/Nechronica.rb +57 -91
  32. data/lib/bcdice/game_system/NinjaSlayer.rb +2 -3
  33. data/lib/bcdice/game_system/SRS.rb +17 -16
  34. data/lib/bcdice/game_system/SamsaraBallad.rb +38 -11
  35. data/lib/bcdice/game_system/Satasupe.rb +31 -31
  36. data/lib/bcdice/game_system/ScreamHighSchool.rb +3 -3
  37. data/lib/bcdice/game_system/Skynauts.rb +101 -140
  38. data/lib/bcdice/game_system/StarryDolls.rb +318 -0
  39. data/lib/bcdice/game_system/SteamPunkers.rb +11 -6
  40. data/lib/bcdice/game_system/StellarKnights.rb +28 -12
  41. data/lib/bcdice/game_system/StellarKnights_Korean.rb +79 -0
  42. data/lib/bcdice/game_system/TokumeiTenkousei.rb +4 -3
  43. data/lib/bcdice/game_system/TrinitySeven.rb +275 -276
  44. data/lib/bcdice/game_system/Utakaze.rb +52 -47
  45. data/lib/bcdice/game_system/Yggdrasill.rb +1 -1
  46. data/lib/bcdice/game_system/ZettaiReido.rb +20 -25
  47. data/lib/bcdice/version.rb +1 -1
  48. metadata +8 -2
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bcdice/game_system/StellarKnights"
4
+
5
+ module BCDice
6
+ module GameSystem
7
+ class StellarKnights_Korean < StellarKnights
8
+ # ゲームシステムの識別子
9
+ ID = "StellarKnights:Korean"
10
+
11
+ # ゲームシステム名
12
+ NAME = "은검의 스텔라나이츠"
13
+
14
+ # ゲームシステム名の読みがな
15
+ SORT_KEY = "国際化:Korean:은검의 스텔라나이츠"
16
+
17
+ # ダイスボットの使い方
18
+ HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
19
+ ・판정 nSK[d][,k>l,...]
20
+ []안은 생략 가능.
21
+ n: 다이스 개수, d: 공격 판정 대상의 방어력, k>l: 다이스를 굴려 k가 나오면 l로 변경(아마란서스 스킬 중「시작의 방」용)
22
+ d 생략 시 다이스를 굴린 결과만 표시. (nSK는 nB6과 동일)
23
+
24
+ 4SK: 다이스 4개를 굴린 결과 표시.
25
+ 4+2SK: ダイスを4+2 (=6) 個振って、その結果を表示
26
+ 5/2SK: ダイスを5個の半分 (=2) 個振って、その結果を表示
27
+ (5+3)/2SK: ダイスを(5+3)個の半分 (=4) 個振って、その結果を表示
28
+ 5SK3: 【공격 판정: 5다이스】, 대상의 방어력을 3으로 계산해 성공 수 표시.
29
+ 3SK,1>6: 다이스 3개 굴림, 1이 나오면 전부 6으로 변경, 대상의 방어력을 4로 계산해 성공 수 표시.
30
+ 6SK4,1>6,2>6: 【공격 판정: 6다이스】, 1과 2가 나오면 전부 6으로 변경, 대상의 방어력을 4로 계산해 성공 수 표시.
31
+
32
+ ・기본
33
+ TT: 소재 표
34
+ STA: 상황 표 A: 시간 (Situation Table A)
35
+ STB: 상황 표 B-1: 장소 (ST B)
36
+ STB2[n]: 상황 표 B-2: 학원편 (ST B 2)
37
+  n: 1(아셀트레이 공립대학), 2(이데아글로리아 예술종합대학), 3(시트라 여학원), 4(필로소피아 대학), 5(성 아제티아 학원), 6(스폰 오브 아셀트레이)
38
+ STC: 상황 표 C: 화제 (ST C)
39
+ ALLS: 상황 표 전체 일괄 굴림 (학원편 제외)
40
+ GAT: 소속 조직 결정 (Gakuen Table)
41
+ HOT: 희망 표 (Hope Table)
42
+ DET: 절망 표 (Despair Table)
43
+ WIT: 소원 표 (Wish Table)
44
+ YST: 당신의 이야기 표 (Your Story Table)
45
+ YSTA: 당신의 이야기 표 (이세계) (YST Another World)
46
+ PET: 성격 표 (Personality Table)
47
+ 성격 표를 2번 굴려 성격을 결정한다.
48
+
49
+ ・안개와 벚꽃의 마르지날리아
50
+ YSTM: 당신의 이야기 표 (마르지날리아) (YST Marginalia)
51
+ STM: 상황 표: 마르지날리아 (ST Marginalia)
52
+ YSTL: 당신의 이야기 표 (편지) (YST Letter)
53
+ YSTR: 당신의 이야기 표 (리콜렉트 돌) (YST Recollect-doll)
54
+ STBR: 상황 표 B: 장소 (리콜렉트 돌) (ST B Recollect-doll)
55
+ STCR: 상황 표 C: 리콜렉트 (ST C Recollect)
56
+ STBS: 상황 표 B: 시트라 세팅 (ST B Sut Tu Real)
57
+ STE: 상황 표: 이클립스 전용 (ST Eclipse)
58
+
59
+ ・자탄의 알트리부트
60
+ FT: 프래그먼트 표 (Fragment Table)
61
+ 프래그먼트 표를 5번 굴린다.
62
+ FTx: 프래그먼트 표를 x회 굴린다.
63
+ YSTB: 당신의 이야기 (브링거) (YST Bringer)
64
+ YSTF: 당신의 이야기 (포지) (YST Forge)
65
+ STAL: 상황 표 (알트리부트) (ST Alt-Levoot)
66
+ INFO_MESSAGE_TEXT
67
+
68
+ register_prefix_from_super_class()
69
+
70
+ def initialize(command)
71
+ super(command)
72
+
73
+ @locale = :ko_kr
74
+ end
75
+
76
+ TABLES = translate_tables(:ko_kr).freeze
77
+ end
78
+ end
79
+ end
@@ -52,18 +52,19 @@ module BCDice
52
52
 
53
53
  result =
54
54
  if cmd.cmp_op
55
- total.send(cmd.cmp_op, cmd.target_number) ? "成功" : "失敗"
55
+ total.send(cmd.cmp_op, cmd.target_number) ? Result.success("成功") : Result.failure("失敗")
56
56
  end
57
57
 
58
58
  sequence = [
59
59
  "(#{cmd})",
60
60
  interim_expr(cmd, dice_total),
61
61
  total.to_s,
62
- result,
62
+ result.text,
63
63
  epp(count_one)
64
64
  ].compact
65
65
 
66
- return sequence.join(" > ")
66
+ result.text = sequence.join(" > ")
67
+ return result
67
68
  end
68
69
 
69
70
  # 出目が全て同じか
@@ -1,5 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "bcdice/dice_table/table"
4
+ require "bcdice/format"
5
+
3
6
  module BCDice
4
7
  module GameSystem
5
8
  class TrinitySeven < Base
@@ -17,15 +20,15 @@ module BCDice
17
20
  クリティカルが変動した命中及び、7の出目がある場合のダメージ計算が行なえます。
18
21
  なお、通常の判定としても利用できます。
19
22
 
20
- ・発動/命中 [TR(±c*)<=(x)±(y*)又は TR<=(x)など]*は必須ではない項目です。
21
- "TR(クリティカルの修正値*)<=(発動/命中)±(発動/命中の修正値*)"
23
+ ・発動/命中 [TR(±c*)<=(x)±(y*) 又は TR<=(x) など]*は必須ではない項目です。
24
+ "TR(クリティカルの修正値*)<=(発動/命中)±(発動/命中の修正値*)"
22
25
  加算減算のみ修正値も付けられます。 [修正値]は必須ではありません。
23
- 例)TR<=50 TR<=6020 TR7<=40 TR-7<=80 TR10<=8020
26
+ 例)TR<=50 TR<=60+20 TR7<=40 TR-7<=80 TR+10<=80+20
24
27
 
25
- ・ダメージ計算 [(x)DM(c*)±(y*)又は(x)DM(c*)又は(x)DM±(y*)]*は必須ではない項目です。
26
- "(ダイス数)DM(7の出目の数*)(修正*)"
28
+ ・ダメージ計算 [(x)DM(c*)±(y*) 又は (x)DM(c*) 又は (x)DM±(y*)]*は必須ではない項目です。
29
+ "(ダイス数)DM(7の出目の数*)+(修正*)"
27
30
  加算減算のみ修正値も付けられます。 [7の出目の数]および[修正値]は必須ではありません。
28
- 例)6DM2+1 5DM2 4DM 3DM+3
31
+ 例)6DM2+1 5DM2 4DM 3DM+3
29
32
  後から7の出目に変更する場合はC(7*6+5)のように入力して計算してください。
30
33
 
31
34
  ・名前表 [TRNAME]
@@ -38,82 +41,72 @@ module BCDice
38
41
  def eval_game_system_specific_command(command) # スパゲッティなコードだけど許して!!! → 絶対に許さない。全力でリファクタリングした。
39
42
  debug("eval_game_system_specific_command command", command)
40
43
 
41
- if /TRNAME/ =~ command
42
- firstName, = get_NAME_table
43
- secondName, = get_NAMEtwo_table
44
- return "#{firstName} , #{secondName}"
45
- end
46
-
47
- if /^TR([+\-\d]*)<=(\d*)([+\-\d]*)/ =~ command
48
- critical = Regexp.last_match(1).to_i + 7
49
- target = Regexp.last_match(2).to_i
50
- modify = Regexp.last_match(3).to_i
51
- return rollHit(command, critical, target, modify)
52
- end
53
-
54
- if /^(\d*)DM(\d*)([+\-\d]*)$/ =~ command
55
- diceCount = Regexp.last_match(1).to_i
56
- critical = Regexp.last_match(2).to_i
57
- modify = Regexp.last_match(3).to_i
58
- return rollDamage(command, diceCount, critical, modify)
59
- end
60
-
61
- return ''
44
+ roll_hit(command) ||
45
+ roll_damage(command) ||
46
+ roll_name(command)
62
47
  end
63
48
 
64
- def rollHit(command, critical, target, modify)
65
- target += modify
49
+ def roll_hit(command)
50
+ parser = Command::Parser.new(/TR\d*/, round_type: round_type)
51
+ .restrict_cmp_op_to(:<=)
52
+ cmd = parser.parse(command)
53
+ return nil unless cmd
66
54
 
67
- total = @randomizer.roll_once(100)
68
- result = getHitRollResult(total, target, critical)
55
+ modify = cmd.command[2..-1].to_i + cmd.modify_number
56
+ critical = 7 + modify
57
+ target = cmd.target_number
69
58
 
70
- text = "(#{command}) > #{total}[#{total}] > #{result}"
71
- debug("eval_game_system_specific_command result text", text)
59
+ total = @randomizer.roll_once(100)
60
+ result = get_hit_roll_result(total, target, critical)
72
61
 
73
- return text
74
- end
62
+ cmd.command = "TR"
63
+ cmd.modify_number = modify
75
64
 
76
- def getHitRollResult(total, target, critical)
77
- return "ファンブル" if total >= 96
78
- return "クリティカル" if total <= critical
65
+ result.text = "(#{cmd}) > #{total} #{result.text}"
66
+ debug("eval_game_system_specific_command result text", result.text)
79
67
 
80
- return "成功" if total <= target
68
+ result
69
+ end
81
70
 
82
- return "失敗"
71
+ def get_hit_roll_result(total, target, critical)
72
+ if total >= 96
73
+ Result.fumble("ファンブル")
74
+ elsif total <= critical
75
+ Result.critical("クリティカル")
76
+ elsif total <= target
77
+ Result.success("成功")
78
+ else
79
+ Result.failure("失敗")
80
+ end
83
81
  end
84
82
 
85
- def rollDamage(command, diceCount, critical, modify)
86
- return "" if diceCount < critical
83
+ def roll_damage(command)
84
+ parser = Command::Parser.new(/\d+DM\d*/, round_type: round_type)
85
+ .restrict_cmp_op_to(nil)
86
+ cmd = parser.parse(command)
87
+ return nil unless cmd
87
88
 
88
- dice_list = @randomizer.roll_barabara(diceCount, 6)
89
- total = dice_list.sum()
90
- diceText = dice_list.join(",")
89
+ dice_count, critical = cmd.command.split("DM", 2).map(&:to_i)
90
+ modify = cmd.modify_number
91
91
 
92
- additionalListText = ""
93
- total, additionalList = getRollDamageCritialText(diceCount, critical, total, diceText, modify)
92
+ dice_list = @randomizer.roll_barabara(dice_count, 6).sort
93
+ dice_text = dice_list.join(",")
94
94
 
95
- additionalListText = "→[#{additionalList.join(',')}]" unless additionalList.empty?
95
+ total, additionalList = get_roll_damage_result(dice_count, critical, dice_list, modify)
96
96
 
97
- modifyText = ""
98
- modifyText = "+#{modify}" if modify > 0
99
- modifyText = modify.to_s if modify < 0
97
+ additionalListText = additionalList.nil? ? "" : "→[#{additionalList.join(',')}]"
100
98
 
101
- text = "(#{command}) [#{diceText}]#{additionalListText}#{modifyText} > #{total}"
99
+ text = "(#{cmd}) [#{dice_text}]#{additionalListText}#{Format.modifier(modify)} > #{total}"
102
100
 
103
101
  return text
104
102
  end
105
103
 
106
- def getRollDamageCritialText(diceCount, critical, total, diceText, modify)
107
- diceList = []
108
-
109
- if critical == 0
110
- total += modify
111
- return total, diceList
104
+ def get_roll_damage_result(diceCount, critical, diceList, modify)
105
+ if critical <= 0
106
+ total = diceList.sum() + modify
107
+ return total, nil
112
108
  end
113
109
 
114
- diceList = diceText.split(/,/).map(&:to_i)
115
-
116
- diceList.sort!
117
110
  restDice = diceList.clone
118
111
 
119
112
  critical = diceCount if critical > diceCount
@@ -127,8 +120,7 @@ module BCDice
127
120
  max = restDice.pop
128
121
  max = 1 if max.nil?
129
122
 
130
- total = max * (7**critical) + modify
131
- restDice.each { |i| total += i }
123
+ total = max * (7**critical) + restDice.sum() + modify
132
124
 
133
125
  return total, diceList
134
126
  end
@@ -141,224 +133,231 @@ module BCDice
141
133
  end
142
134
  end
143
135
 
144
- # 名前表
145
- def get_NAME_table
146
- table = [
147
- [1, '春日'],
148
- [2, '浅見'],
149
- [3, '風間'],
150
- [4, '神無月'],
151
- [5, '倉田'],
152
- [6, '不動'],
153
- [7, '山奈'],
154
- [8, 'シャルロック'],
155
- [9, '霧隠'],
156
- [10, '果心'],
157
- [11, '今井'],
158
- [12, '長瀬'],
159
- [13, '明智'],
160
- [14, '風祭'],
161
- [15, '志貫'],
162
- [16, '一文字'],
163
- [17, '月夜野'],
164
- [18, '桜田門'],
165
- [19, '果瀬'],
166
- [20, '九十九'],
167
- [21, '速水'],
168
- [22, '片桐'],
169
- [23, '葉月'],
170
- [24, 'ウィンザー'],
171
- [25, '時雨里'],
172
- [26, '神城'],
173
- [27, '水際'],
174
- [28, '一ノ江'],
175
- [29, '仁藤'],
176
- [30, '北千住'],
177
- [31, '西村'],
178
- [32, '諏訪'],
179
- [33, '藤宮'],
180
- [34, '御代'],
181
- [35, '橘'],
182
- [36, '霧生'],
183
- [37, '白石'],
184
- [38, '椎名'],
185
- [39, '綾小路'],
186
- [40, '二条'],
187
- [41, '光明寺'],
188
- [42, '春秋'],
189
- [43, '雪見'],
190
- [44, '刀条院'],
191
- [45, 'ランカスター'],
192
- [46, 'ハクア'],
193
- [47, 'エルタニア'],
194
- [48, 'ハーネス'],
195
- [49, 'アウグストゥス'],
196
- [50, '椎名町'],
197
- [51, '鍵守'],
198
- [52, '茜ヶ崎'],
199
- [53, '鎮宮'],
200
- [54, '美柳'],
201
- [55, '鎖々塚'],
202
- [56, '櫻ノ杜'],
203
- [57, '鏡ヶ守'],
204
- [58, '輝井'],
205
- [59, '南陽'],
206
- [60, '雪乃城'],
207
- [61, '六角屋'],
208
- [62, '鈴々'],
209
- [63, '東三条'],
210
- [64, '朱雀院'],
211
- [65, '青龍院'],
212
- [66, '白虎院'],
213
- [67, '玄武院'],
214
- [68, '麒麟院'],
215
- [69, 'リーシュタット'],
216
- [70, 'サンクチュアリ'],
217
- [71, '六実'],
218
- [72, '須藤'],
219
- [73, 'ミレニアム'],
220
- [74, '七里'],
221
- [75, '三枝'],
222
- [76, '八殿'],
223
- [77, '藤里'],
224
- [78, '久宝'],
225
- [79, '東'],
226
- [80, '赤西'],
227
- [81, '神ヶ崎'],
228
- [82, 'グランシア'],
229
- [83, 'ダークブーレード'],
230
- [84, '天光寺'],
231
- [85, '月見里'],
232
- [86, '璃宮'],
233
- [87, '藤見澤'],
234
- [88, '赤聖'],
235
- [89, '姫宮'],
236
- [90, '華ノ宮'],
237
- [91, '天才'],
238
- [92, '達人'],
239
- [93, '賢者'],
240
- [94, '疾風'],
241
- [95, '海の'],
242
- [96, '最強'],
243
- [97, '凶器'],
244
- [98, '灼熱'],
245
- [99, '人間兵器'],
246
- [100, '魔王'],
247
- ]
136
+ def roll_name(command)
137
+ unless command == "TRNAME"
138
+ return nil
139
+ end
248
140
 
249
- dice_now = @randomizer.roll_once(100)
141
+ first_name = NAME1.roll(@randomizer).last_body
142
+ second_name = NAME2.roll(@randomizer).last_body
250
143
 
251
- return get_table_by_number(dice_now, table)
144
+ text = "#{first_name} , #{second_name}"
145
+ return text
252
146
  end
253
147
 
254
- def get_NAMEtwo_table
255
- table = [
256
- [1, 'アラタ/聖'],
257
- [2, 'アビィス/リリス'],
258
- [3, 'ルーグ/レヴィ'],
259
- [4, 'ラスト/アリン'],
260
- [5, 'ソラ/ユイ'],
261
- [6, 'イーリアス/アキオ'],
262
- [7, 'アカーシャ/ミラ'],
263
- [8, 'アリエス/リーゼロッテ'],
264
- [9, 'ムラサメ/シャルム'],
265
- [10, '龍貴/竜姫'],
266
- [11, '英樹/春菜'],
267
- [12, '準一/湊'],
268
- [13, '急司郎/光理'],
269
- [14, '夕也/愛奈'],
270
- [15, '晴彦/アキ'],
271
- [16, '疾風/ヤシロ'],
272
- [17, 'カガリ/灯花'],
273
- [18, '次郎/優都'],
274
- [19, '春太郎/静理'],
275
- [20, 'ジン/時雨'],
276
- [21, 'イオリ/伊織'],
277
- [22, 'ユウヒ/優姫'],
278
- [23, 'サツキ/翠名'],
279
- [24, 'シュライ/サクラ'],
280
- [25, 'ミナヅキ/姫乃'],
281
- [26, 'カエデ/優樹菜'],
282
- [27, 'ハル/フユ'],
283
- [28, 'オdール/瑞江'],
284
- [29, 'ニトゥレスト/キリカ'],
285
- [30, 'スカー/綾瀬'],
286
- [31, '真夏/小夏'],
287
- [32, '光一/ののか'],
288
- [33, '彩/翠'],
289
- [34, 'トウカ/柊花'],
290
- [35, '命/ミコト'],
291
- [36, '司/つかさ'],
292
- [37, 'ゆとり/なごみ'],
293
- [38, '冬彦/観月'],
294
- [39, 'カレン/華恋'],
295
- [40, '清次郎/亜矢'],
296
- [41, 'サード/夢子'],
297
- [42, 'ボックス/詩子'],
298
- [43, 'ヘリオス/カエデ'],
299
- [44, 'ゲート/京香'],
300
- [45, 'オンリー/パトリシア'],
301
- [46, 'ザッハーク/アーリ'],
302
- [47, 'ラスタバン/ラスティ'],
303
- [48, '桜花/燁澄'],
304
- [49, '計都/リヴィア'],
305
- [50, 'カルヴァリオ/香夜'],
306
- [51, '悠人/夜々子'],
307
- [52, '太子/羽菜'],
308
- [53, '夕立/夕凪'],
309
- [54, 'アルフ/愛美'],
310
- [55, 'ファロス/灯利'],
311
- [56, 'スプートニク/詩姫'],
312
- [57, 'アーネスト/累'],
313
- [58, 'ナイン/カグヤ'],
314
- [59, 'クリア/ヒマワリ'],
315
- [60, 'ウォーカー/オリビア'],
316
- [61, 'ダーク/クオン'],
317
- [62, 'ウェイヴ/凛'],
318
- [63, 'ルーン/マリエ'],
319
- [64, 'エンギ/セイギ'],
320
- [65, 'シラヌイ/ミライ'],
321
- [66, 'ブライン/キズナ'],
322
- [67, 'クロウ/カナタ'],
323
- [68, 'スレイヤー/ヒカル'],
324
- [69, 'レス/ミリアリア'],
325
- [70, 'ミフユ/サリエル'],
326
- [71, '鳴央/音央'],
327
- [72, 'モンジ/理亜'],
328
- [73, 'パルデモントゥム/スナオ'],
329
- [74, 'ミシェル/詩穂'],
330
- [75, 'フレンズ/サン'],
331
- [76, 'サトリ/識'],
332
- [77, 'ロード/唯花'],
333
- [78, 'クロノス/久宝'],
334
- [79, 'フィラデルフィア/冬海'],
335
- [80, 'ティンダロス/美星'],
336
- [81, '勇弥/ユーリス'],
337
- [82, 'エイト/アンジェラ'],
338
- [83, 'サタン/ルシエル'],
339
- [84, 'エース/小波'],
340
- [85, 'セージ/胡蝶'],
341
- [86, '忍/千之'],
342
- [87, '重吾/キリコ'],
343
- [88, 'マイケル/ミホシ'],
344
- [89, 'カズマ/鶴香'],
345
- [90, 'ヤマト/エリシエル'],
346
- [91, '歴史上の人物の名前(信長、ジャンヌなど)'],
347
- [92, 'スポーツ選手の名前(ベッカム、沙保里など)'],
348
- [93, '学者の名前(ソクラテス、エレナなど)'],
349
- [94, 'アイドルの名前(タクヤ、聖子など)'],
350
- [95, '土地、国、町の名前(イングランド、ワシントンなど)'],
351
- [96, 'モンスターの名前(ドラゴン、ラミアなど)'],
352
- [97, '武器防具の名前(ソード、メイルなど)'],
353
- [98, '自然現象の名前(カザンハリケーンなど)'],
354
- [99, '機械の名前(洗濯機、テレビなど)'],
355
- [100, '目についた物の名前(シャーペン、メガネなど)'],
148
+ NAME1 = DiceTable::Table.new(
149
+ "名字表",
150
+ "1D100",
151
+ [
152
+ '春日', # 1
153
+ '浅見',
154
+ '風間',
155
+ '神無月',
156
+ '倉田',
157
+ '不動',
158
+ '山奈',
159
+ 'シャルロック',
160
+ '霧隠',
161
+ '果心', # 10
162
+ '今井',
163
+ '長瀬',
164
+ '明智',
165
+ '風祭',
166
+ '志貫',
167
+ '一文字',
168
+ '月夜野',
169
+ '桜田門',
170
+ '果瀬',
171
+ '九十九', # 20
172
+ '速水',
173
+ '片桐',
174
+ '葉月',
175
+ 'ウィンザー',
176
+ '時雨里',
177
+ '神城',
178
+ '水際',
179
+ '一ノ江',
180
+ '仁藤',
181
+ '北千住', # 30
182
+ '西村',
183
+ '諏訪',
184
+ '藤宮',
185
+ '御代',
186
+ '',
187
+ '霧生',
188
+ '白石',
189
+ '椎名',
190
+ '綾小路',
191
+ '二条', # 40
192
+ '光明寺',
193
+ '春秋',
194
+ '雪見',
195
+ '刀条院',
196
+ 'ランカスター',
197
+ 'ハクア',
198
+ 'エルタニア',
199
+ 'ハーネス',
200
+ 'アウグストゥス',
201
+ '椎名町', # 50
202
+ '鍵守',
203
+ '茜ヶ崎',
204
+ '鎮宮',
205
+ '美柳',
206
+ '鎖々塚',
207
+ '櫻ノ杜',
208
+ '鏡ヶ守',
209
+ '輝井',
210
+ '南陽',
211
+ '雪乃城', # 60
212
+ '六角屋',
213
+ '鈴々',
214
+ '東三条',
215
+ '朱雀院',
216
+ '青龍院',
217
+ '白虎院',
218
+ '玄武院',
219
+ '麒麟院',
220
+ 'リーシュタット',
221
+ 'サンクチュアリ', # 70
222
+ '六実',
223
+ '須藤',
224
+ 'ミレニアム',
225
+ '七里',
226
+ '三枝',
227
+ '八殿',
228
+ '藤里',
229
+ '久宝',
230
+ '',
231
+ '赤西', # 80
232
+ '神ヶ崎',
233
+ 'グランシア',
234
+ 'ダークブーレード',
235
+ '天光寺',
236
+ '月見里',
237
+ '璃宮',
238
+ '藤見澤',
239
+ '赤聖',
240
+ '姫宮',
241
+ '華ノ宮', # 90
242
+ '"天才"',
243
+ '"達人"',
244
+ '"賢者"',
245
+ '"疾風"',
246
+ '"海の"',
247
+ '"最強"',
248
+ '"凶器"',
249
+ '"灼熱"',
250
+ '"人間兵器"',
251
+ '"魔王"', # 100
356
252
  ]
357
-
358
- dice_now = @randomizer.roll_once(100)
359
-
360
- return get_table_by_number(dice_now, table)
361
- end
253
+ )
254
+
255
+ NAME2 = DiceTable::Table.new(
256
+ "名字表",
257
+ "1D100",
258
+ [
259
+ 'アラタ/聖', # 1
260
+ 'アビィス/リリス',
261
+ 'ルーグ/レヴィ',
262
+ 'ラスト/アリン',
263
+ 'ソラ/ユイ',
264
+ 'イーリアス/アキオ',
265
+ 'アカーシャ/ミラ',
266
+ 'アリエス/リーゼロッテ',
267
+ 'ムラサメ/シャルム',
268
+ '龍貴/竜姫', # 10
269
+ '英樹/春菜',
270
+ '準一/湊',
271
+ '急司郎/光理',
272
+ '夕也/愛奈',
273
+ '晴彦/アキ',
274
+ '疾風/ヤシロ',
275
+ 'カガリ/灯花',
276
+ '次郎/優都',
277
+ '春太郎/静理',
278
+ 'ジン/時雨', # 20
279
+ 'イオリ/伊織',
280
+ 'ユウヒ/優姫',
281
+ 'サツキ/翠名',
282
+ 'シュライ/サクラ',
283
+ 'ミナヅキ/姫乃',
284
+ 'カエデ/優樹菜',
285
+ 'ハル/フユ',
286
+ 'ドール/瑞江',
287
+ 'ニトゥレスト/キリカ',
288
+ 'スカー/綾瀬', # 30
289
+ '真夏/小夏',
290
+ '光一/ののか',
291
+ '彩/翠',
292
+ 'トウカ/柊花',
293
+ '命/ミコト',
294
+ '司/つかさ',
295
+ 'ゆとり/なごみ',
296
+ '冬彦/観月',
297
+ 'カレン/華恋',
298
+ '清次郎/亜矢', # 40
299
+ 'サード/夢子',
300
+ 'ボックス/詩子',
301
+ 'ヘリオス/カエデ',
302
+ 'ゲート/京香',
303
+ 'オンリー/パトリシア',
304
+ 'ザッハーク/アーリ',
305
+ 'ラスタバン/ラスティ',
306
+ '桜花/燁澄',
307
+ '計都/リヴィア',
308
+ 'カルヴァリオ/香夜', # 50
309
+ '悠人/夜々子',
310
+ '太子/羽菜',
311
+ '夕立/夕凪',
312
+ 'アルフ/愛美',
313
+ 'ファロス/灯利',
314
+ 'スプートニク/詩姫',
315
+ 'アーネスト/累',
316
+ 'ナイン/カグヤ',
317
+ 'クリア/ヒマワリ',
318
+ 'ウォーカー/オリビア', # 60
319
+ 'ダーク/クオン',
320
+ 'ウェイヴ/凛',
321
+ 'ルーン/マリエ',
322
+ 'エンギ/セイギ',
323
+ 'シラヌイ/ミライ',
324
+ 'ブライン/キズナ',
325
+ 'クロウ/カナタ',
326
+ 'スレイヤー/ヒカル',
327
+ 'レス/ミリアリア',
328
+ 'ミフユ/サリエル', # 70
329
+ '鳴央/音央',
330
+ 'モンジ/理亜',
331
+ 'パルデモントゥム/スナオ',
332
+ 'ミシェル/詩穂',
333
+ 'フレンズ/サン',
334
+ 'サトリ/識',
335
+ 'ロード/唯花',
336
+ 'クロノス/久宝',
337
+ 'フィラデルフィア/冬海',
338
+ 'ティンダロス/美星', # 80
339
+ '勇弥/ユーリス',
340
+ 'エイト/アンジェラ',
341
+ 'サタン/ルシエル',
342
+ 'エース/小波',
343
+ 'セージ/胡蝶',
344
+ '忍/千之',
345
+ '重吾/キリコ',
346
+ 'マイケル/ミホシ',
347
+ 'カズマ/鶴香',
348
+ 'ヤマト/エリシエル', # 90
349
+ '歴史上の人物の名前(信長、ジャンヌなど)',
350
+ 'スポーツ選手の名前(ベッカム、沙保里など)',
351
+ '学者の名前(ソクラテス、エレナなど)',
352
+ 'アイドルの名前(タクヤ、聖子など)',
353
+ '土地、国、町の名前(イングランド、ワシントンなど)',
354
+ 'モンスターの名前(ドラゴン、ラミアなど)',
355
+ '武器防具の名前(ソード、メイルなど)',
356
+ '自然現象の名前(カザンハリケーンなど)',
357
+ '機械の名前(洗濯機、テレビなど)',
358
+ '目についた物の名前(シャーペン、メガネなど)', # 100
359
+ ]
360
+ )
362
361
  end
363
362
  end
364
363
  end