bcdice 3.2.0 → 3.3.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.
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