bcdice 3.1.1 → 3.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1fe777b9ead1c600f43242f998ed14618a8f215951523643a347f6422c3778c6
4
- data.tar.gz: 3e02308c62c3a938e8a54a29bbfcd4c4685e13550bb54b74ac0f02f16049d8ae
3
+ metadata.gz: 2845b53edc8eaf447d222d1bd08a305dcaf8d38c7a9d6bd37539ed990713f533
4
+ data.tar.gz: 98bf76a14460707ec34952694e3e6256aabe6e66c187f1fd5394c816fb948df7
5
5
  SHA512:
6
- metadata.gz: 97111bad4fe22b479b1eae6a54716b0391356f88b107e68e008abb18a5e2b59ab7e2e04a5a5fdbcd462eb831723167979828f0dbf4fb2914e4083b4d2c7f8fdf
7
- data.tar.gz: a18b6f2c23511d92ba4abccb73589f577dd01cce3da2520736ade2e26cfe279dd9e3612a29d935d501fee3adedb3d67da35c5f918760acda4ce46600ed918a2b
6
+ metadata.gz: 5860f30cf937951291575caf5795878894926ee27692f49bf9b586e6d8d1cde3f3eec62e1181d7868dfb16cda93a0035869da89c5e89f89089450c2d515f46e4
7
+ data.tar.gz: 0723eb18505cc461a866feaf8f7a99e57c061be28acc716d7d6b0481eb7a7f1d8beb9ed9ec95196ac09593dac5ccfd052e05f7bc7957a69df0dd0748bd6e6c88
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # ChangeLog
2
2
 
3
+ ## 3.1.2 2021/03/28
4
+
5
+ ### バグ修正
6
+ - 以下のゲームシステムのソートキーを修正 ([#399](https://github.com/bcdice/BCDice/pull/399), [#402](https://github.com/bcdice/BCDice/pull/402))
7
+ - 迷宮キングダム 基本ルールブック
8
+ - 剣の街の異邦人TRPG
9
+ - 크툴루
10
+ - 크툴루의 부름 7판
11
+ - 克蘇魯神話
12
+ - 克蘇魯神話第7版
13
+ - サイコロフィクション系のゲームシステムで `command_pattern` の出力に問題があったのを修正 ([#401](https://github.com/bcdice/BCDice/pull/401))
14
+
3
15
  ## 3.1.1 2021/03/20
4
16
 
5
17
  ### バグ修正
@@ -7,7 +7,7 @@ require "bcdice/common_command/add_dice/randomizer"
7
7
  module BCDice
8
8
  module CommonCommand
9
9
  module AddDice
10
- PREFIX_PATTERN = /[+\-\dD(\[]+/.freeze
10
+ PREFIX_PATTERN = /[+\-\dD(]+/.freeze
11
11
 
12
12
  class << self
13
13
  def eval(command, game_system, randomizer)
@@ -77,7 +77,7 @@ module BCDice
77
77
  end
78
78
 
79
79
  def prefixes
80
- ([/RTT[1-6]?/i, "RCT", @rtt, @rct] + @rttn).compact
80
+ (["RTT[1-6]?", "RCT", @rtt, @rct] + @rttn).compact
81
81
  end
82
82
 
83
83
  private
@@ -10,7 +10,7 @@ module BCDice
10
10
  NAME = '克蘇魯神話第7版'
11
11
 
12
12
  # ゲームシステム名の読みがな
13
- SORT_KEY = '国際化:Chinese Traditional:克蘇魯神話'
13
+ SORT_KEY = '国際化:Chinese Traditional:克蘇魯神話第7版'
14
14
 
15
15
  # ダイスボットの使い方
16
16
  HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
@@ -10,7 +10,7 @@ module BCDice
10
10
  NAME = '크툴루의 부름 7판'
11
11
 
12
12
  # ゲームシステム名の読みがな
13
- SORT_KEY = '国際化:Korean:크툴루'
13
+ SORT_KEY = '国際化:Korean:크툴루의 부름 7판'
14
14
 
15
15
  # ダイスボットの使い方
16
16
  HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
@@ -12,7 +12,7 @@ module BCDice
12
12
  NAME = '克蘇魯神話'
13
13
 
14
14
  # ゲームシステム名の読みがな
15
- SORT_KEY = '国際化:Chinese Traditional:克蘇魯神話7'
15
+ SORT_KEY = '国際化:Chinese Traditional:克蘇魯神話'
16
16
 
17
17
  # ダイスボットの使い方
18
18
  HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
@@ -12,7 +12,7 @@ module BCDice
12
12
  NAME = '크툴루'
13
13
 
14
14
  # ゲームシステム名の読みがな
15
- SORT_KEY = '国際化:Korean:크툴루의부름7'
15
+ SORT_KEY = '国際化:Korean:크툴루'
16
16
 
17
17
  # ダイスボットの使い方
18
18
  HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
@@ -44,7 +44,7 @@ module BCDice
44
44
  ・迷宮追加オプション表(ROPd)
45
45
  MESSAGETEXT
46
46
 
47
- register_prefix('3FW.*', '[\+\-\d]*-3FW.*', 'LOT[NP]', 'HST', 'COOK[1-8]', 'RAND.*', 'RENC.*', 'RED.*', 'TRS.*', 'TRAP[ENHLX]', 'ROP[ENHLX]')
47
+ register_prefix('3FW', '[\+\-\d]*-3FW', 'LOT[NP]', 'HST', 'COOK[1-8]', 'RAND', 'RENC', 'RED', 'TRS', 'TRAP[ENHLX]', 'ROP[ENHLX]')
48
48
 
49
49
  def initialize(command)
50
50
  super(command)
@@ -55,51 +55,33 @@ module BCDice
55
55
  # @return [Result, nil] 固有コマンドの評価結果
56
56
  def eval_game_system_specific_command(command)
57
57
  # ダイスロールコマンド
58
- result = checkRoll(command)
59
- return result unless result.nil?
60
-
61
- tableName = ""
62
- number = 0
58
+ result = FW.roll(command, @randomizer)
59
+ return result if result
63
60
 
64
61
  # 各種コマンド
65
62
  case command
66
63
  when "LOTN"
67
- return roll_jump_table("ナンバーワンノーマルくじ", LOT_NORMAL_TABLES[1])
68
-
64
+ roll_jump_table("ナンバーワンノーマルくじ", LOT_NORMAL_TABLES[1])
69
65
  when "LOTP"
70
- return roll_jump_table("ナンバーワンプレミアムくじ", LOT_PREMIUM_TABLES[1])
71
-
72
- when "HST"
73
- tableName = "【必殺技!】"
74
- result, number = getSpecialResult
75
-
66
+ roll_jump_table("ナンバーワンプレミアムくじ", LOT_PREMIUM_TABLES[1])
76
67
  when /COOK([1-8])/
77
68
  lv = Regexp.last_match(1).to_i
78
- return roll_jump_table("マジカルクッキング", COOK_TABLES[lv])
79
-
69
+ roll_jump_table("マジカルクッキング", COOK_TABLES[lv])
80
70
  when /TRAP[ENHLX]/
81
- return getTrapResult(command)
82
-
71
+ roll_trap_table(command)
83
72
  when /TRS.*/i
84
- return getTresureResult(command)
85
-
73
+ getTresureResult(command)
86
74
  when /RAND.*/
87
- return getRandomEventResult(command)
88
-
75
+ roll_random_event_table(command)
89
76
  when /RENC.*/
90
- return getRandomEventResult(command)
91
-
77
+ roll_random_event_table(command)
92
78
  when /RED.*/i
93
- return getRandomEnemyDataResult(command)
94
-
79
+ fetch_enemy_data(command)
95
80
  when /ROP[ENHLX]/
96
- return getRandomOptionResult(command)
97
-
81
+ roll_random_option_table(command)
98
82
  else
99
- return nil
83
+ roll_tables(command, TABLES)
100
84
  end
101
-
102
- return Result.new(format_table_roll_result(tableName, number, result))
103
85
  end
104
86
 
105
87
  # 表を振った結果を独自の書式で整形する
@@ -136,1304 +118,251 @@ module BCDice
136
118
  end
137
119
  end
138
120
 
139
- def checkRoll(command)
140
- crt = 4
141
- fmb = 17
142
-
143
- if command =~ /(\d[+\-\d]*)-(\d+)FW(@(\d+))?(\#(\d+))?/i
144
- difficultyText = Regexp.last_match(1)
145
- diceCount = Regexp.last_match(2).to_i
146
- crt = Regexp.last_match(4).to_i unless Regexp.last_match(3).nil?
147
- fmb = Regexp.last_match(6).to_i unless Regexp.last_match(5).nil?
148
- elsif command =~ /(\d+)FW(@(\d+))?(\#(\d+))?(<=([+\-\d]*))?/i
149
- diceCount = Regexp.last_match(1).to_i
150
- crt = Regexp.last_match(3).to_i unless Regexp.last_match(2).nil?
151
- fmb = Regexp.last_match(5).to_i unless Regexp.last_match(4).nil?
152
- difficultyText = Regexp.last_match(7)
153
- else
154
- return nil
155
- end
156
-
157
- # 目標値の計算
158
- difficulty = getValue(difficultyText, nil)
121
+ class FW
122
+ attr_accessor :dice_count, :target, :critical, :fumble
159
123
 
160
- # ダイスロール
161
- dice_list = @randomizer.roll_barabara(diceCount, 6)
162
- dice = dice_list.sum()
163
- dice_str = dice_list.join(",")
124
+ def self.roll(command, randomizer)
125
+ fw = parse(command)
164
126
 
165
- # 出力用ダイスコマンドを生成
166
- command = "#{diceCount}FW"
167
- command += "@#{crt}" unless crt == 4
168
- command += "##{fmb}" unless fmb == 17
169
- command += "<=#{difficulty}" unless difficulty.nil?
170
-
171
- # 出力文の生成
172
- result = "(#{command}) > #{dice}[#{dice_str}]"
127
+ return fw&.roll(randomizer)
128
+ end
173
129
 
174
- # クリティカル・ファンブルチェック
175
- if dice <= crt
176
- result += " > クリティカル!"
177
- elsif dice >= fmb
178
- result += " > ファンブル!"
179
- else
180
- # 成否判定
181
- unless difficultyText.nil?
182
- success = difficulty - dice
183
- if dice <= difficulty
184
- result += " > 成功(成功度:#{success})"
185
- else
186
- result += " 失敗(失敗度:#{success})"
130
+ def self.parse(command)
131
+ if (m = /^(\d[+\-\d]*)-(\d+)FW(?:@(\d+))?(?:\#(\d+))?$/.match(command))
132
+ new.tap do |fw|
133
+ fw.dice_count = m[2].to_i
134
+ fw.target = Arithmetic.eval(m[1], RoundType::FLOOR)
135
+ fw.critical = m[3]&.to_i || 4
136
+ fw.fumble = m[4]&.to_i || 17
137
+ end
138
+ elsif (m = /(\d+)FW(?:@(\d+))?(?:\#(\d+))?(?:<=([+\-\d]+))?/.match(command))
139
+ new.tap do |fw|
140
+ fw.dice_count = m[1].to_i
141
+ fw.target = Arithmetic.eval(m[4], RoundType::FLOOR) if m[4]
142
+ fw.critical = m[2]&.to_i || 4
143
+ fw.fumble = m[3]&.to_i || 17
187
144
  end
188
145
  end
189
146
  end
190
147
 
191
- return result
192
- end
193
-
194
- def getValue(text, defaultValue)
195
- return defaultValue if text.nil? || text.empty?
196
-
197
- ArithmeticEvaluator.eval(text)
198
- end
199
-
200
- def getAdjustNumber(number, table)
201
- min = table.first.first
202
- return min if number < min
203
-
204
- max = table.last.first
205
- return max if number > max
206
-
207
- return number
208
- end
209
-
210
- # 必殺技表
211
- def getSpecialResult
212
- table = [
213
- '〔命中〕判定に出目[1,1,1]でクリティカル。更に致傷力に「SLv×20」のボーナスを得る。',
214
- '〔命中〕判定と致傷力に「SLv×10」のボーナスを得る。',
215
- '致傷力に「SLv×10」のボーナスを得る。',
216
- '攻撃が命中するとバッドステータス「転倒」を与える。',
217
- '通常攻撃。',
218
- '〔命中〕判定に[6,6,6]でファンブル。更に、使用者がバッドステータス「転倒」を受ける。',
219
- ]
220
- return get_table_by_1d6(table)
221
- end
222
-
223
- # 夢幻の迷宮財宝表
224
- def getTresureResult(command)
225
- return nil unless command =~ /TRS(\d+)([+\-]\d)?/
226
-
227
- rank = Regexp.last_match(1).to_i
228
- modify = Regexp.last_match(2).to_i
229
-
230
- tableName = "財宝表"
231
-
232
- rank += modify unless modify.nil?
233
- rank = 0 if rank < 0
234
- rank = 12 if rank > 12
235
-
236
- case rank
237
- when 0
238
- table = [
239
- 'HPポーション(消耗品)',
240
- 'FPポーション(消耗品)',
241
- 'マジックパウダー:火(消耗品)',
242
- 'マジックパウダー:氷(消耗品)',
243
- 'マジックパウダー:雷(消耗品)',
244
- '500GP',
245
- ]
246
-
247
- when 1
248
- table = [
249
- '高級HPポーション(消耗品)',
250
- '高級FPポーション(消耗品)',
251
- '高級抵抗ポーション(消耗品)',
252
- '高級鉄壁ポーション(消耗品)',
253
- 'マジックパウダー:火、氷、雷の3点セット(消耗品)',
254
- '1000GP',
255
- ]
256
-
257
- when 2
258
- table = [
259
- '鈴のお守り(装飾品)',
260
- '盗賊の小手(装飾品)',
261
- '狩人の羽帽子(装飾品)',
262
- '狙撃手の指貫(装飾品)',
263
- '「スタミナバンド」「健康お守り」「レザーマント」3点セット',
264
- '2000GP',
265
- ]
266
-
267
- when 3
268
- table = [
269
- '最高級HPポーション×2(消耗品)',
270
- '最高級FPポーション×2(消耗品)',
271
- '最高級抵抗ポーション×2(消耗品)',
272
- '任意の装飾品1つ(4000GPまでのもの)',
273
- 'アタッチメント割引券(全員に1枚)',
274
- '3000GP',
275
- ]
276
-
277
- when 4
278
- table = [
279
- '任意の「ミスリル」武器1つ',
280
- 'ミスリルシールド(盾)',
281
- 'ミスリルスケイル(鎧)',
282
- '任意の装飾品1つ(5000GPまでのもの)',
283
- 'アタッチメント割引券(全員に2枚)',
284
- '5000GP',
285
- ]
286
-
287
- when 5
288
- table = [
289
- '任意の武器1つ(10000GPまでのもの)',
290
- '任意の盾1つ(10000GPまでのもの)',
291
- '任意の鎧1つ(10000GPまでのもの)',
292
- '最高級HPポーション(人数分)',
293
- '任意の装飾品1つ(10000GPまでのもの)',
294
- '7500GP',
295
- ]
296
-
297
- when 6
298
- table = [
299
- '任意の武器1つ(15000GPまでのもの)',
300
- '任意の盾1つ(15000GPまでのもの)',
301
- '任意の鎧1つ(15000GPまでのもの)',
302
- '任意の装飾品1つ(15000GPまでのもの)',
303
- '最高級FPポーション(人数分)',
304
- '10000GP',
305
- ]
148
+ def roll(randomizer)
149
+ dice_list = randomizer.roll_barabara(@dice_count, 6)
150
+ dice = dice_list.sum()
151
+ dice_str = dice_list.join(",")
306
152
 
307
- when 7
308
- table = [
309
- '任意の武器1つ(30000GPまでのもの)',
310
- '任意の盾1つ(30000GPまでのもの)',
311
- '任意の鎧1つ(30000GPまでのもの)',
312
- '任意の装飾品1つ(30000GPまでのもの)',
313
- '蘇生ポーション(消耗品)',
314
- '20000GP',
315
- ]
153
+ res = result(dice)
316
154
 
317
- when 8
318
- table = [
319
- '任意の武器1つ(60000GPまでのもの)',
320
- '任意の盾1つ(60000GPまでのもの)',
321
- '任意の鎧1つ(60000GPまでのもの)',
322
- '任意の装飾品1つ(60000GPまでのもの)',
323
- '蘇生ポーション(装飾品)+アタッチメント割引券10枚(割引券は人数分)',
324
- '40000GP',
325
- ]
155
+ sequence = [
156
+ "(#{expr})",
157
+ "#{dice}[#{dice_str}]",
158
+ res.text,
159
+ ].compact
326
160
 
327
- when 9
328
- table = [
329
- '任意の武器1つ(100000GPまでのもの)',
330
- '任意の盾1つ(100000GPまでのもの)',
331
- '任意の鎧1つ(100000GPまでのもの)',
332
- '任意の装飾品1つ(100000GPまでのもの)',
333
- '蘇生ポーション(装飾品)+アタッチメント割引券20枚(割引券は人数分)',
334
- '60000GP',
335
- ]
161
+ res.text = sequence.join(" > ")
336
162
 
337
- when 10
338
- table = [
339
- '任意の武器1つ(150000GPまでのもの)',
340
- '任意の盾1つ(150000GPまでのもの)',
341
- '任意の鎧1つ(150000GPまでのもの)',
342
- '任意の装飾品1つ(200000GPまでのもの)',
343
- '蘇生ポーション(装飾品)+アタッチメント割引券30枚(割引券は人数分)',
344
- '黄金の守護者の証(装飾品)(【ハッキング】があれば黄金の電子暗号キー(装飾品)も追加)',
345
- ]
163
+ return res
164
+ end
346
165
 
347
- when 11
348
- table = [
349
- '体力の欠片(大事なもの)(全員に10個)',
350
- '敏捷の欠片(大事なもの)(全員に10個)',
351
- '感覚の欠片(大事なもの)(全員に10個)',
352
- '知力の欠片(大事なもの)(全員に10個)',
353
- '意志の欠片(大事なもの)(全員に10個)',
354
- 'お好きな副能力の欠片(大事なもの)(1人ずつ好きなものを選択して全員に50個)',
355
- ]
166
+ private
356
167
 
357
- when 12
358
- table = [
359
- '体力の欠片(大事なもの)(全員に20個)',
360
- '敏捷の欠片(大事なもの)(全員に20個)',
361
- '感覚の欠片(大事なもの)(全員に20個)',
362
- '知力の欠片(大事なもの)(全員に20個)',
363
- '意志の欠片(大事なもの)(全員に20個)',
364
- 'お好きな副能力の欠片(大事なもの)(1人ずつ好きなものを選択して全員に100個)',
365
- ]
168
+ def expr
169
+ ret = "#{@dice_count}FW"
170
+ ret += "@#{@critical}" if @critical != 4
171
+ ret += "##{@fumble}" if @fumble != 17
172
+ ret += "<=#{@target}" if @target
366
173
 
367
- else
368
- return nil
174
+ return ret
369
175
  end
370
176
 
371
- result, number = get_table_by_1d6(table)
372
-
373
- return "#{tableName}(#{number}):#{result}"
177
+ def result(total)
178
+ if total <= @critical
179
+ Result.critical("クリティカル!")
180
+ elsif total >= @fumble
181
+ Result.fumble("ファンブル!")
182
+ elsif @target
183
+ success = @target - total
184
+ if total <= @target
185
+ Result.success("成功(成功度:#{success})")
186
+ else
187
+ Result.failure("失敗(失敗度:#{success})")
188
+ end
189
+ else
190
+ Result.new
191
+ end
192
+ end
374
193
  end
375
194
 
376
- # 夢幻の迷宮トラップ表
377
- def getTrapResult(command)
378
- return nil unless command =~ /TRAP(E|N|H|L|X)/
379
-
380
- dif = Regexp.last_match(1)
381
- tableName = "トラップ表"
382
-
383
- case dif
384
- when "E"
385
- difficultyText = "初級"
386
- difficulty = 0
387
-
388
- when "N"
389
- difficultyText = "中級"
390
- difficulty = 1
391
-
392
- when "H"
393
- difficultyText = "上級"
394
- difficulty = 2
395
-
396
- when "L"
397
- difficultyText = "悪夢"
398
- difficulty = 3
399
-
400
- when "X"
401
- difficultyText = "伝説"
402
- difficulty = 4
195
+ TABLES = {
196
+ "HST" => DiceTable::Table.new(
197
+ "【必殺技!】",
198
+ "1D6",
199
+ [
200
+ '〔命中〕判定に出目[1,1,1]でクリティカル。更に致傷力に「SLv×20」のボーナスを得る。',
201
+ '〔命中〕判定と致傷力に「SLv×10」のボーナスを得る。',
202
+ '致傷力に「SLv×10」のボーナスを得る。',
203
+ '攻撃が命中するとバッドステータス「転倒」を与える。',
204
+ '通常攻撃。',
205
+ '〔命中〕判定に[6,6,6]でファンブル。更に、使用者がバッドステータス「転倒」を受ける。',
206
+ ]
207
+ )
208
+ }.freeze
403
209
 
404
- else
405
- return nil
210
+ class Row
211
+ def initialize(body, *args)
212
+ @body = body
213
+ @args = args
406
214
  end
407
215
 
408
- table = [
409
- "トライディザスター:宝箱から広範囲に火炎・冷気・電撃が放たれる罠。PC全員に「#{['3D6+3', '3D6+50', '3D6+70', '3D6+100', '300'][difficulty]}」の「火炎」「冷気」「電撃」属性ダメージ。",
410
- "ペトロブラスター:広範囲に石化光線を放つ罠。PC全員[抵抗-#{[2, 4, 6, 8, 10][difficulty]}]判定を行い、失敗したPCはBS「石化」を受ける。",
411
- "クロスボウストリーム:宝箱から矢の嵐が放たれる罠。PC全員に「#{['3D6+20', '3D6+40', '3D6+60', '3D6+90', '200'][difficulty]}」の「刺突」属性ダメージ。「ドッジ-#{[4, 6, 8, 10, 20][difficulty]}」で〔回避〕が可能。",
412
- "フォーチュンイーター:PC全員の幸運を食らい、Ftを#{[1, 2, 3, 4, 5][difficulty]}点減少させる。Ftが0の場合「#{['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300'][difficulty]}」点の防護点無視ダメージ。",
413
- "スロット:解除に失敗しても害はないが、スロットが揃うまで開かない宝箱。スロットを1回まわすには#{[100, 300, 600, 1000, 10000][difficulty]}GPが必要。行動を消費して[感覚-#{[4, 6, 8, 10, 15][difficulty]}]判定に成功すればスロットは揃う。有利な特異点「ビビット反射」があれば判定に+4のボーナス。",
414
- "テレポーター:PC全員(とエンカウントしているエネミー)を転送して道に迷わせる。「財宝ランク」が1段階減少する。",
415
- "アイスコフィン:宝箱を開けようとしたキャラクターを氷漬けにする罠。対象1体に「#{['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300'][difficulty]}」の「冷気」属性ダメージ。更にFPにも#{[5, 10, 15, 20, 30][difficulty]}点の防護点無視ダメージ。",
416
- "クロスボウ:宝箱を開けようとしたキャラクターに強力な矢が放たれる罠。対象1体に「#{['3D6+20', '3D6+40', '3D6+60', '3D6+90', '200'][difficulty]}」の「刺突」属性ダメージ。「ドッジ-#{[4, 6, 8, 10, 20][difficulty]}」",
417
- "毒針:宝箱を開けようとしたキャラクターに毒針を突き刺す罠対象1体に#{[15, 30, 45, 60, 150][difficulty]}点の防護点無視ダメージ。更に[抵抗-#{[4, 6, 8, 10, 15][difficulty]}]判定に失敗するとシナリオ終了まであらゆる判定に-2のペナルティ。",
418
- "アラーム:即座にその地形のエンカウント表を振って、それに対応したエネミーが出現する。出現したエネミーはそのターンから行動順に組み込まれる。出現するエネミー以外の記述は無視する。",
419
- "殺人鬼の斧:宝箱を開けようとしたキャラクターに斧が振り下ろされる罠。対象1体に「#{['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300'][difficulty]}」の「打撃」「斬撃」属性ダメージ。「ドッジ-#{[4, 6, 8, 10, 20][difficulty]}」か「シールド-#{[4, 6, 8, 10][difficulty]}」で〔回避〕が可能。",
420
- "死神:宝箱を開けようとしたキャラクターに死神を取り憑かせる罠。4ラウンド目が終了するまであらゆる判定に-3のペナルティを受け、4ラウンド目の終了と同時に「3D+#{[30, 50, 70, 100][difficulty]}」の防護点無視ダメージ。",
421
- "幻の宝:宝箱に偽の財宝を入れ、本物の財宝を入手させない罠。トラップが発動すると価値の無い偽の宝物「幻の宝」を入手してしまう。「幻の宝」はアイテム欄を3つ占有し、シナリオ終了まで捨てられない。アイテム欄に空きがない場合は、何かを捨てて誰かが必ず持たなくてはならない。",
422
- "エクスプロージョン:宝箱が大爆発を起こし、中身を粉々にしてしまう罠。宝箱の中身は消滅する。PC全員に「#{['3D6+10', '3D6+30', '3D6+50', '3D6+80', '200'][difficulty]}」の「打撃」「火炎」属性ダメージ。",
423
- "レインボーポイズン:宝箱から七色の毒ガスが放たれる罠。PC全員に「#{['3D6+10', '3D6+30', '3D6+50', '3D6+80', '200'][difficulty]}」の防護点無視ダメージ。更にシナリオ終了まであらゆる判定に-2のペナルティ。[抵抗-#{[4, 6, 8, 10, 15][difficulty]}]判定に成功すれば無効。",
424
- "デスクラウド:宝箱から致死性の毒ガスを放つ罠。PC全員を即死させる。[抵抗-#{[2, 4, 6, 8, 12][difficulty]}]判定に成功すれば無効。",
425
- ]
426
-
427
- result, number = get_table_by_nD6(table, 3)
428
-
429
- return "#{tableName}<#{difficultyText}>(#{number}):#{result}"
216
+ def format(difficulty)
217
+ args = @args.map { |e| e[difficulty.index] }
218
+ Kernel.format(@body, *args)
219
+ end
430
220
  end
431
221
 
432
- # 夢幻の迷宮追加オプション表
433
- def getRandomOptionResult(command)
434
- return nil unless command =~ /ROP(E|N|H|L|X)/
435
-
436
- dif = Regexp.last_match(1)
437
- tableName = "迷宮追加オプション表"
438
-
439
- case dif
440
- when "E"
441
- difficultyText = "初級"
442
- difficulty = 0
443
-
444
- when "N"
445
- difficultyText = "中級"
446
- difficulty = 1
447
-
448
- when "H"
449
- difficultyText = "上級"
450
- difficulty = 2
222
+ class Difficulty
223
+ DIFFICULTYS = ["E", "N", "H", "L", "X"].freeze
451
224
 
452
- when "L"
453
- difficultyText = "悪夢"
454
- difficulty = 3
225
+ NAMES = {
226
+ "E" => "初級",
227
+ "N" => "中級",
228
+ "H" => "上級",
229
+ "L" => "悪夢",
230
+ "X" => "伝説",
231
+ }.freeze
455
232
 
456
- when "X"
457
- difficultyText = "伝説"
458
- difficulty = 4
459
-
460
- else
461
- return nil
233
+ def initialize(sign)
234
+ @sign = sign
462
235
  end
463
236
 
464
- table = [
465
- [11, "黄金の迷宮(財宝ランク+2):全てが黄金で彩られた迷宮。財宝ランクが大きく上昇する。"],
466
- [12, "密林の迷宮(財宝ランク+1):密林の中にひっそりとたたずむ迷宮。分類が「魔獣」「獣人」「霊獣」のエネミーが行うあらゆる判定に+2のボーナス。"],
467
- [13, "カラクリの迷宮:複雑なカラクリが周囲で絶え間なく動いている迷宮。分類「ギア」のエネミーが行うあらゆる判定に+2のボーナス。クリア時に「アタッチメント割引券」を全員が#{[1, 2, 3, 5, 10][difficulty]}枚獲得。"],
468
- [14, "フラウの舞踏会:あちこちに花畑のある迷宮。フラウが発生するランダムイベントが発生した際、「この迷宮を制覇して、私達が舞踏会を開けるようにしてね」とお願いされ、クリア時の報酬に#{['「キノコの帽子」(装飾品)', '「猛毒の花」(装飾品)', '「フルブロウン」(鎧)', '「緊急召喚の宝珠」(装飾品)', '魔将樹の大剣(剣)'][difficulty]}が追加される。"],
469
- [15, "アズマ風の迷宮:風流なアズマ風の迷宮。武器に「刀」を持つエネミーが行うあらゆる判定に+2のボーナス。クリア時に「アタッチメント割引券」を全員が#{[1, 2, 3, 5, 10][difficulty]}枚獲得。"],
470
- [16, "枯れた泉の迷宮:「全地形1-1」の回復の泉が全て枯れており、回復効果を得ることができない。「山岳1-6」の貴重な水源や、「水辺1-6」の毒の泉などはそのまま存在する。"],
471
-
472
- [21, "天空への道(財宝ランク+1):上へ上へと果てしなく登っていく迷宮。空気が薄くなって疲労しやすくなる。【特技】特技などによるFP消費が全て+3。"],
473
- [22, "灼熱焦土の迷宮(財宝ランク+1):とてつもなく暑く、あちこちで炎が燃え盛る迷宮。エネミーが行う「火炎」属性を含む攻撃の致傷力に+#{[10, 20, 30, 50, 100][difficulty]}のボーナス。"],
474
- [23, "灼熱焦土の迷宮(財宝ランク+1):とてつもなく寒く、気温が氷点下の迷宮。エネミーが行う「冷気」属性を含む攻撃の致傷力に+#{[10, 20, 30, 50, 100][difficulty]}のボーナス。"],
475
- [24, "盗賊王の迷宮:迷宮内での罠や鍵を解除する[感覚]判定に-3のペナルティ。4ラウンドまでに出現した宝箱の「財宝ランク」+1。"],
476
- [25, "ミミック狂暴化:「全地形2-5」のミミックの致傷力に+#{[20, 30, 50, 80, 150][difficulty]}のボーナス。ミミックを見破った場合に得られるGPが#{[500, 1000, 3000, 5000, 20000][difficulty]}GP増加する。"],
477
- [26, "トレジャーイーター狂暴化:「全地形2-6」のトレジャーイーターを見破る[知力]判定に-3のペナルティ。4ラウンドまでに出現した宝箱の「財宝ランク」+1。"],
478
-
479
- [31, "暗闇の迷宮:どこもかしこも真っ暗な迷宮。「猫の目」などがなければ視覚に関する[感覚]判定に-5のペナルティ。"],
480
- [32, "騒音の迷宮:常に大音量で謎の音楽(BGM)が鳴っている迷宮。聴覚に関する[感覚]判定に-5のペナルティ。"],
481
- [33, "未知の怪物の迷宮(財宝ランク+1):エネミーの姿がシルエットのみになる迷宮。エネミーのデータがいかなる手段でも判明させられなくなる。(通常通り〔HP〕〔FP〕〔先制〕は判明する)"],
482
- [34, "氾濫中の迷宮:大雨が降っており、川などが氾濫している迷宮。水泳を行う際の[敏捷]判定に-5のペナルティ。「森林3-6」の山火事イベントの効果は無視できる。"],
483
- [35, "間抜けの迷宮(財宝ランク+1):頭がおかしくなりそうな極彩色の迷宮。[知力][意志]判定に-2のペナルティ。[知力]や[意志]そのものが下がるわけではない。"],
484
- [36, "瘴気の迷宮(財宝ランク+1):生命力を奪う紫の霧で満ちた迷宮。〔HP〕の最大値に-#{[10, 20, 30, 40, 50][difficulty]}のペナルティ。"],
485
-
486
- [41, "加速する迷宮:狂ったように針の動く時計が多数された迷宮。「CT:安息の日」以外の【特技】が「CT:なし」になる。"],
487
- [42, "停滞する迷宮(財宝ランク+1):動かない時計が多数設置された迷宮。「CT:安息の日」以外のCTの存在する【特技】が「CT:シナリオ終了」になる。この効果はシナリオ終了まで持続する。"],
488
- [43, "猛毒の迷宮(財宝ランク+1):見るからに毒々しい紫色の沼があちこちにある迷宮。エネミーが行う、名称に「毒」もしくは「ポイズン」が入る【特技】や、名称に「毒」もしくは「ポイズン」が入るトラップの致傷力に+#{[10, 20, 40, 50, 100][difficulty]}のボーナス。"],
489
- [44, "死の迷宮(財宝ランク+2):死の運命から逃れることのできない、血まみれの迷宮。「生命保険証」の効果が適用されない。"],
490
- [45, "幸運の迷宮:何者かの加護を感じる迷宮。PC全員のFtの最大値と現在値に+1のボーナス。この効果はシナリオ終了まで持続する。"],
491
- [46, "不運の迷宮:PC全員のFt最大値と現在値に-1のペナルティ。この効果はシナリオ終了まで持続する。"],
492
-
493
- [51, "レアメタルの迷宮:非常にレアなエネミー「レアメタルキャンディー」「レアメタルクラウン」が生息している迷宮。キャンディークラウン(CL40)、ゴールデンクラウン(CL177)から獲得できる通常ドロップのGPが5倍になる。"],
494
- [52, "魔力の泉:PCとエネミーの双方が、〔FP〕を消費せずに【魔法】を使用できるようになる。最終的な消費〔FP〕が最大〔FP〕より大きい【魔法】は使用できない。"],
495
- [53, "ブルーの迷宮:陰鬱な気分になり、他のキャラクターと関わる気力を失う。PC全員が不利な特異点「嫌な奴」を1段階得る。"],
496
- [54, "レッドの迷宮:なぜか興奮して非常に好戦的になる。PC全員が不利な特異点「脳みそ筋肉」を得る。交戦中に「1:回復系」のイベントが発生しても戦闘を終了させることができない。"],
497
- [55, "ピンクの迷宮:なんだか身近な異性(同性も?)が気になって仕方なくなる。PC全員が不利な特異点「英雄色を好む」を得る。魔族も戦闘意欲を失い、「分類:魔族」のエネミーが出現するイベントは無視する。"],
498
- [56, "ハズレの迷宮(財宝ランク-1):ツギハギだらけの壁などでできた、ハリボテのような貧相な迷宮。宝箱の中身もなんだか貧相になる。"],
499
-
500
- [61, "ラダマンティスの迷宮(財宝ランク+2):第一魔将ラダマンティスの像が入口に設置された迷宮。全てのエネミーが行うあらゆる判定に+2のボーナス。また、「遺跡6-6」のイベントのダメージ+#{[20, 40, 60, 80, 150][difficulty]}。"],
501
- [62, "グレイヴディガーの迷宮(財宝ランク+2):第二魔将グレイヴディガーの像が入口に設置された迷宮。「分類:アンデッド」のエネミーが行うあらゆる判定に+5のボーナス。"],
502
- [63, "ハイペリオンの迷宮(財宝ランク+2):第三魔将ハイペリオンの像が入口に設置された迷宮。全てのエネミーが「ターン開始」時に〔HP〕を全回復する。"],
503
- [64, "ムスペルニヴルの迷宮(財宝ランク+2):勇ましくも美しい女性の像が設置された迷宮。エネミーが行う「火炎」もしくは「冷気」属性を含む攻撃の致傷力に+#{[20, 40, 60, 80, 150][difficulty]}のボーナス。"],
504
- [65, "ウェルスの迷宮:人懐っこそうなアズマ風の青年が設置された迷宮。シナリオ上で第五魔将の正体が明らかに鳴っている場合のみ、PC全員のFtの最大値と現在値に+5のボーナス。この効果はシナリオ終了まで持続する。"],
505
- [66, "バロールの迷宮(財宝ランク+2):第六魔将バロールの像が入口に設置された迷宮。「分類:ギア」のエネミーが行うあらゆる判定に+5のボーナス。"],
506
- ]
507
-
508
- result, number = get_table_by_d66(table)
509
- _, result = result
510
-
511
- return "#{tableName}<#{difficultyText}>(#{number}):#{result}"
512
- end
513
-
514
- # 夢幻の迷宮ランダムイベント表
515
- def getRandomEventResult(command)
516
- if command =~ /RAND(E|N|H|L|X)([1-6])?/
517
- dif = Regexp.last_match(1)
518
- area = Regexp.last_match(2).to_i
519
- area = @randomizer.roll_once(6) if Regexp.last_match(2).nil?
520
- type = @randomizer.roll_once(6)
521
- elsif command =~ /RENC(E|N|H|L|X)([1-6])?/
522
- dif = Regexp.last_match(1)
523
- area = Regexp.last_match(2).to_i
524
- area = @randomizer.roll_once(6) if Regexp.last_match(2).nil?
525
- type = 4
526
- else
527
- return nil
237
+ def index
238
+ @index ||= DIFFICULTYS.find_index(@sign)
528
239
  end
529
240
 
530
- tableName = "ランダムイベント表"
531
-
532
- case dif
533
- when "E"
534
- difficultyText = "初級"
535
- difficulty = 0
536
-
537
- when "N"
538
- difficultyText = "中級"
539
- difficulty = 1
540
-
541
- when "H"
542
- difficultyText = "上級"
543
- difficulty = 2
544
-
545
- when "L"
546
- difficultyText = "悪夢"
547
- difficulty = 3
548
-
549
- when "X"
550
- difficultyText = "伝説"
551
- difficulty = 4
552
-
553
- else
554
- return nil
241
+ def name
242
+ @name ||= NAMES[@sign]
555
243
  end
244
+ end
556
245
 
557
- case area
558
- when 1
559
- areaText = "洞窟"
560
- case type
561
- when 1
562
- table = [
563
- "回復の泉。PC全員の〔HP〕〔FP〕が完全に回復する。「★死亡」以外のあらゆるBSも回復する。",
564
- "淡い光を放つ鉱石に包まれた部屋に出る。Ftが#{[1, 2, 3, 4, 1][difficulty]}点回復する。",
565
- "天井が開いていて植物の育っている洞窟内庭園。[知力-#{[3, 6, 9, 12, 15][difficulty]}]判定に成功すると、力の沸く木の実を見つけてPC全員の〔HP〕〔FP〕を#{[20, 30, 40, 50, 100][difficulty]}点回復できる。有効:「自然と生きる」【賢人の知恵】",
566
- "「きのこっきのこっげんきでろ~♪」洞窟内で栽培できる特殊なキノコを栽培する、キノコのフラウに出会う。100GP支払うことでキノコを1つ譲ってもらうことができ、〔HP〕が全回復してシナリオ終了まで〔HP〕の最大値に+#{[10, 15, 20, 25, 30][difficulty]}のボーナスを得る。",
567
- "ギア技術を用いた強力な懐中電灯のおいてある休憩室。迷宮を出るまでPC全員に有利な特異点「猫の目」があるものとして扱う。迷宮を出ると懐中電灯は寿命が来たのか壊れてしまう。",
568
- "不思議な光を放つ水が湧いている。PCの〔HP〕〔FP〕のいずれかが減少している場合、このイベントは拒否できない。また全快でも不利な特異点「好奇心は猫を殺す」を持つPCは飲みにいこうとする。飲んだキャラクターは1D6を振り、以下の様な効果が発生する。
569
- ----------
570
- 1:〔HP〕〔FP〕と「★死亡」以外のBS全回復
571
- 2:シナリオ終了まで不利な特異点が全て消滅する
572
- 3:シナリオ終了まで「真実を知る者」「お金持ち」などのキャラクターの地位や立場に関連するものを除いた有利な特異点が全て消滅する
573
- 4:〔HP〕が1点になってしまう。〔HP〕が0以下の場合は〔HP〕〔FP〕が全回復
574
- 5:シナリオ終了まで余分な獣っぽい耳や尻尾が生える。既に生えているキャラクターはそれが大きくなる。聴覚に関する[感覚]判定+4。
575
- 6:あいやー!それ呪いの泉アルよ!シナリオ終了まで性別が男女入れ替わる。ロールプレイが面白かった場合、シナリオ終了時に「アタッチメント割引券」を与えても良い",
576
- ]
577
-
578
- when 2
579
- table = [
580
- "財宝ランク#{[0, 2, 4, 6, 8][difficulty]}の宝箱を発見する。カギやトラップはかかっていない。行動を消費することで開けることができる。",
581
- "財宝ランク#{[1, 3, 5, 7, 9][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12, 20][difficulty]}のカギがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12, 20][difficulty]}]判定でカギを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
582
- "財宝ランク#{[1, 3, 5, 7, 9][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12, 20][difficulty]}のトラップがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12, 20][difficulty]}]判定でトラップを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
583
- "頑丈な岩壁に阻まれた隠し財宝の部屋を発見する。岩壁は「打撃」属性で合計#{[100, 200, 300, 500, 1000][difficulty]}点のダメージを与えると破壊され、財宝ランク#{[2, 4, 6, 8, 10][difficulty]}のアイテムを入手可能。岩壁はどのヘクスからでも隣接扱いで攻撃可能。",
584
- "ミミックの罠。ランダムなキャラクターに「3D+#{[30, 50, 70, 100, 300][difficulty]}」の「斬撃」属性ダメージを与える。[知力-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すればこの罠を見抜いて無効化でき、なおかつ#{[1000, 2000, 5000, 10000, 30000][difficulty]}GPを入手可能。有効:【盗賊の心得】【ロックスミス】",
585
- "トレジャーイーターの罠。冒険中に入手したアイテム(消耗品・GP以外)を全て失う。[知力-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すればこの罠を見抜いて無効化することができ、なおかつ#{[1000, 2000, 5000, 10000, 30000][difficulty]}GP入手可能。",
586
- ]
587
-
588
- when 3
589
- table = [
590
- "洞窟内で暗がりの中に近道を発見!有利な特異点「猫の目」を持つキャラクターがいればクリア時の財宝ランク+1。",
591
- "洞窟内で近道を発見!だが狭くて通れるかどうか…?有利な特異点「軟体動物」を持つキャラクターがいればクリア時の財宝ランク+1。",
592
- "6つの分かれ道だ、どちらに進めばいいのだろうか…?1D6を振って1~3が出ればクリア時の財宝ランク+1。4~6が出ればクリア時の財宝ランク-1。有効:「非凡な直感」",
593
- "足場の悪い道だ。うまく降りられればいいが…。[敏捷-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すればクリア時の財宝ランク+1。失敗すると判定を行ったキャラクターに[3D+20]の防護点無視ダメージ。有効:「軟体動物」",
594
- "大きな岩でふさがれた近道。力づくでどかせてやる![体力-#{[2, 4, 6, 8, 15][difficulty]}]判定に成功すれば売り味の財宝ランク+1。失敗すると判定を行ったキャラクターは〔FP〕を5点消費する。",
595
- "6つの分かれ道だ、どうやら正解の道以外はエネミーの巣だが…。1D6を振って1が出ればクリア時の財宝ランク+1。2~6が出れば即座に洞窟のエンカウントイベントが発生する!有効:「非凡な直感」",
596
- ]
597
-
598
- when 4
599
- table = [
600
- "水あめ状のボディに王冠をのせた、珍しいエネミーだ!エネミーとエンカウント。",
601
- "獣の皮をかぶった魔族が狩った獲物の取り分でもめているようだ。彼らは興奮して争っているが、PCたちを見つけると向きを変えて襲い掛かってくる!エネミーとエンカウント。「マジカルクッキング」で持ち歩くタイプのものを作っていた場合、それを渡すことで戦闘を回避することもできる。",
602
- "岩だと思って通りすぎようとしたら魔族だった!?エネミーとエンカウント。相手は洞窟で巧妙に擬態しており、〔先制〕に+10のボーナスを得る。有利な特異点「虫の知らせ」があれば〔先制〕ボーナスを無効化できる。",
603
- "洞窟でトロッコに乗ったら暴走するギア魔族に追いかけられた!エネミーとエンカウント。トロッコに乗って逃げつつの戦闘になり、2ラウンド以内に倒せなければ轢かれてPC全員が「#{['3D6+30', '3D6+30', '3D6+30', '3D6+100', '300'][difficulty]}」の防護点無視ダメージを受ける。また、1ラウンドに1人誰かが行動を消費してトロッコを運転する必要があり、これに失敗すると即座に轢かれてしまう。轢かれると戦闘は終了する。PCにケイヴウォーカーがいればトロッコの運転を「支援ターン」で行える。",
604
- "炎の燃え盛る洞窟だ!運の悪いことに魔獣までいるようだ…。イベント詳細決定時に敵味方全員が「3D6+#{[10, 20, 30, 50, 150][difficulty]}」の「火炎」属性ダメージを受ける。さらにエネミーとエンカウント。",
605
- "冷気に包まれた洞窟だ。更に氷の魔族や魔獣まで棲息している!イベント詳細決定時に敵味方全員が「3D+#{[10, 20, 30, 50, 150][difficulty]}」の「冷気」属性ダメージを受ける。さらにエネミーとエンカウント。",
606
- ]
607
-
608
- when 5
609
- table = [
610
- "突然の落盤がエネミーを押しつぶす!戦闘中の場合、ランダムにエネミー1体を即死させ、ドロップ品も入手可能。それ以外の場合は特に何も起きない。「分類:ネームド」「分類:魔将」のエネミーには「3D+50」の防護点無視ダメージ。",
611
- "採掘用のダイナマイトが打ち捨てられている。ケイヴウォーカー用の消耗品#{['「ダイナマイト」', '「特性ダイナマイト」2個と「ダイナマイト」', '「特性ダイナマイト」4個と「ダイナマイト」', '「特性ダイナマイト」', '「ボンバーキング」(「電子の国のアリス」適用時)もしくは「特性ダイナマイト」(非適用時)'][difficulty]}を持てるだけ持つことができる。",
612
- "洞窟内に有毒ガスが発生している!敵味方全員[抵抗-#{[4, 6, 8, 10, 15][difficulty]}]で判定し、失敗したキャラクターは#{[15, 30, 45, 60, 100][difficulty]}点の防護点無視ダメージを受ける。有効:【ガシンショウタン】",
613
- "溶岩の流れる部屋だ、早くおさらばしたいところだが…。[敏捷-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すれば何事も無く渡り切ることができる。失敗するとPC全員に「3D6+#{[20, 40, 60, 90, 200][difficulty]}」の「火炎」属性ダメージ。PCにドラコニアンがいれば判定不要。有効:【野伏の歩み】",
614
- "突然の落盤がPCのうちランダムに1人を押しつぶす!「3D6+#{[40, 60, 80, 120, 400][difficulty]}」の防護点無視ダメージを受ける。「ドッジ-#{[4, 6, 8, 10, 20][difficulty]}」で回避可能。有利な特異点「猫の目」か「虫の知らせ」があれば判定不要。",
615
- "突然の地震が起きて洞窟全体が崩落を始める!このイベントが発生すると戦闘は強制終了する。PC全員[敏捷#{['', '-1', '-2', '-4', '-8'][difficulty]}]で判定し、失敗したキャラクターは〔HP〕が0になる。〔HP〕が0以下だった場合は死亡してしまう。全員が判定に成功した場合、クリア時の財宝ランク+1。",
616
- ]
617
-
618
- when 6
619
- table = [
620
- "プラネタリウムのように鉱石が輝く部屋。星の配置に関する謎かけになっている。行動を消費して[知力-#{[6, 9, 12, 15, 30][difficulty]}]判定に成功するとこの謎を解くことができる。謎が解けると#{['「うぃっしゅすたー」(大事なもの)か、10000GPの好きな方', '「うぃっしゅすたー」(大事なもの)2個か、20000GPの好きな方', '「うぃっしゅすたー」(大事なもの)3個か、30000GPの好きな方', '「うぃっしゅすたー」(大事なもの)5個か、50000GPの好きな方', '「wish star」(消耗品)'][difficulty]}を入手可能。有効:【賢人の知恵】",
621
- "地熱で温泉が湧いている!みんなで一休みできそうだ。このイベントが発生すると戦闘は強制終了する。PC全員の〔HP〕〔FP〕[Ft]が全回復する。また、シナリオ終了まで「ターン開始」時に〔HP〕が#{[5, 10, 15, 20, 30][difficulty]}点ずつ回復する。",
622
- "地下渓流を発見する。どうやらここを進んでいくしかないようだ…。このラウンドではPCが「水中」にいるものとする。また、[敏捷-#{[6, 9, 12, 15, 25][difficulty]}]判定に成功すると水中に沈んだ宝箱を発見する。中身は「#{['3D6x100GP', '(3D6+10)x100GP', '(3D6+30)x100GP', '3D6x1000GP', '3D6x10000GP'][difficulty]}」で、カギやトラップはかかっていない。行動を消費することで開けることができる。有効:【野伏の歩み】",
623
- "とてつもない量のアダマン合金の原石を発見する!持ち帰り放題だ!「アダマン原石」は1つ#{[300, 500, 1000, 2000, 5000][difficulty]}GPで売却可能で、行動を消費することで自分のアイテム欄に好きなだけ入手可能。",
624
- "地面から強力な重力で引きつけられる!敵味方全員が〔移動〕に-5のペナルティを受ける。さらに洞窟のエンカウントイベントが発生。「4-5」と「4-6」の部屋のダメージは適用しない。",
625
- "怪しい光を放つ鉱石の部屋。鉱石は不気味な振動を放っており、ラウンド終了時にランダムなPC1人の武器が1つ壊れてシナリオ終了まで使用できなくなる。鉱石は「打撃」属性で合計#{[100, 200, 300, 500, 1000][difficulty]}点のダメージを与えると破壊される。鉱石はどのヘクスからでも隣接扱いで攻撃可能。",
626
- ]
627
-
628
- else
629
- return nil
630
- end
631
-
632
- when 2
633
- areaText = "遺跡"
634
- case type
635
- when 1
636
- table = [
637
- "回復の泉。PC全員の〔HP〕〔FP〕が完全に回復する。「★死亡」以外のあらゆるBSも回復する。",
638
- "随分進んだし一休みしよう。ラウンド数が奇数の場合は〔FP〕が「#{['3D6', '3D6+5', '3D6+10', '3D6+15', '3D6+30'][difficulty]}」回復する。ラウンド数が偶数の場合は進んだように見せかけて迷っているだけだった。どっと疲れてしまい〔FP〕は回復せず、クリア時の財宝ランク-1。有利な特異点「精緻な記憶」があれば、偶数ラウンドでも〔FP〕が回復して財宝ランクも減少しない。",
639
- "どうやらここは古代の医務室らしい。なにやら怪しげな機械がたくさんあるが…。[知力-#{[3, 6, 9, 12, 18][difficulty]}]判定に成功すればPC全員の〔HP〕〔FP〕が完全に回復する。「★死亡」以外のあらゆるBSも回復する。有効:【魔導工学のススメ】",
640
- "「きみたちの道に光あれ…お金?いらないよ」道標の光ゴケを栽培している、苔のフラウに出会う。以後「いくつかの道から正解を選ぶ」イベントが発生した場合、光ゴケがそのうちの1つに飛んでいき、必ず正解の道を選ぶことができる。次が最終イベントだった場合、クリア時の財宝ランク+1。",
641
- "ダンジョンの見取り図を書いた部屋に出る。次のランダムイベントでは、好きな地形を選択してからイベント表を振ることができる。次が最終イベントだった場合、クリア時の財宝ランク+1。",
642
- "「パワーアップ装置!」と書かれた怪しげな機械が置いてある。#{[3000, 5000, 10000, 20000, 30000][difficulty]}GPを支払って使用するとキャラクターを強化(?)可能。使用するかは自由だが、不利な特異点「好奇心は猫を殺す」を持っているキャラクターはGPがあるなら入ってしまう。使用したキャラクターは1D6を振り、以下のような効果が発生する。
643
- ----------
644
- 1:なんと、ランダムな[主能力]が1点上昇する!(永久)
645
- 2:ただの日焼けサロンだ!健康的に焼け、シナリオ終了まで「火炎」に対する防護点+10。
646
- 3:CLが1上昇する!やったね!【特技】はシナリオが終了してから習得する。
647
- 4:装置は突然爆発する!ダメージは受けないが髪型がアフロに。装置は壊れる。
648
- 5:巨大化してシナリオ終了まで〔HP〕の最大値が+50!〔HP〕〔FP〕も全回復。装置は壊れる。
649
- 6:故障のせいかランダムな[主能力]が1点下降する…大ショック…(永久)
650
-
651
- [主能力]変動時は1D6を振ってどの能力が変動するか決定する。
652
- 1:体力 2:敏捷 3:感覚 4:知力 5:意志 6:使用者が選ぶ",
653
- ]
654
-
655
- when 2
656
- table = [
657
- "財宝ランク#{[0, 2, 4, 6, 8][difficulty]}の宝箱を発見する。カギやトラップはかかっていない。行動を消費することで開けることができる。",
658
- "財宝ランク#{[1, 3, 5, 7, 9][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12, 20][difficulty]}のカギがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12, 20][difficulty]}]判定でカギを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
659
- "財宝ランク#{[1, 3, 5, 7][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12, 20][difficulty]}のトラップがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12, 20][difficulty]}]判定でトラップを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
660
- "部屋で脱出ゲームのような様々な仕掛けをとかないと開かない宝箱。行動を消費して[知力-#{[6, 9, 12, 15, 25][difficulty]}]判定に成功すれば開けることができ、財宝ランク#{[2, 4, 6, 8, 10][difficulty]}のアイテムを入手可能。判定に失敗すると宝箱は爆発してしまい、中身も失われる。有効:【盗賊の心得】",
661
- "ミミックの罠。ランダムなキャラクターに「3D+#{[30, 50, 70, 100, 300][difficulty]}」の「斬撃」属性ダメージを与える。[知力-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すればこの罠を見抜いて無効化でき、なおかつ#{[1000, 2000, 5000, 10000, 30000][difficulty]}GPを入手可能。有効:【盗賊の心得】【ロックスミス】",
662
- "トレジャーイーターの罠。冒険中に入手したアイテム(消耗品・GP以外)を全て失う。[知力-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すればこの罠を見抜いて無効化することができ、なおかつ#{[1000, 2000, 5000, 10000, 30000][difficulty]}GP入手可能。",
663
- ]
664
-
665
- when 3
666
- table = [
667
- "鏡に映る怪人が自分の真似をしろとジェスチャーしている。[敏捷-#{[6, 8, 10, 12, 16][difficulty]}]判定に成功するとうまく真似してパントマイムすることができ、鏡が消滅して隠し通路が開かれる。クリア時の財宝ランク+1。【華劇:○○】を習得したフラウがいれば判定不要。",
668
- "小さな魔将の像がフィルトウィズの地図上で乱雑に置かれている。[知力-#{[6, 9, 12, 15, 20][difficulty]}]判定に成功すれば魔将の所在地を正しく配置することができ、隠し通路が開かれる。クリア時の財宝ランク+1。有効:【賢人の知恵】",
669
- "シュートの罠に引っかかるが、結果的に新たな道を発見できた!このイベントが発生すると戦闘は強制終了する。PC全員が「3D+10」の「打撃」属性ダメージを受けるが、クリア時の財宝ランク+1。",
670
- "ラダマンティス崇拝者が創りだした巨大な甲羅のようなものが置かれた部屋。登っていけば近道することができそうだが、これはかなり骨が折れそうだ…。行動を消費して[敏捷-#{[6, 9, 12, 15, 20][difficulty]}]判定を行い、成功すればクリア時の財宝ランク+1。判定に挑戦したキャラクターは次のターンまで〔回避〕判定を行えない。有効:「軟体動物」【野伏の歩み】",
671
- "後ろから重い物が転がってくる音がする。ローリングストーンだ!このイベントが発生すると戦闘は強制終了する。ラウンド終了時に全員の〔移動〕が#{[6, 8, 10, 12][difficulty]}以上であればクリア時の財宝ランク+1。〔移動〕が#{[6, 8, 10, 12, 15][difficulty]}未満のPCは「#{['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300'][difficulty]}」の防護点無視ダメージを受ける。",
672
- "通路が複雑に入り組んでおり道に迷いそうだ…。2D6を振り、ゾロ目ならクリア時の財宝ランク+1。それ以外の場合はクリア時の財宝ランク-1。有効:「非凡な直感」",
673
- ]
674
-
675
- when 4
676
- table = [
677
- "絶体絶命、モンスターハウスだ!危機感を煽るBGMも流れてくる。これらのエネミーを全滅させた際、最後に倒したエネミーからは必ず「レア」を入手できる。イベント決定後に逃亡を宣言しても良い。その場合クリア時の財宝ランク-2。",
678
- "石像が並んでいる通路があるが…なんと石像は警備装置だった!エネミーとエンカウント。奇襲攻撃のため、エネミーからの攻撃の〔回避〕に-4のペナルティを受ける。【魔導工学のススメ】があれば警戒していたため、このペナルティは受けない。",
679
- "魔族が障害物に身を隠しながら狙撃してきた!エネミーとエンカウント。障害物のため、エネミーは近接攻撃に対する防護点に+30のボーナス。",
680
- "「汝が戦う理由とは何か?答えい人間!」ブツゼンにモンスターが仁王立ちしており、問答を行ってくる。[意思-6]判定に成功すると戦闘を回避することができ、ドロップ品も入手可能。判定に失敗するか戦闘を望んだ場合、エネミーとエンカウント。有効:【詩人の交渉術】",
681
- "進路上に鎖に繋がれたモンスターを発見する。どうやら普通のモンスターより凶暴なようだ、戦うべきか避けるべきか…エネミーとエンカウント。エネミーはあらゆる致傷力に+#{[10, 20, 30, 40, 100][difficulty]}のボーナスを得る。戦闘を避けた場合クリア時の財宝ランク-1。",
682
- "暴れゴーレムが襲い掛かってくる!暴走しているせいか凄まじいスピードだ!エネミーとエンカウント。このエネミーは〔移動〕〔先制〕に+10のボーナスを得ており、全員が行動終了した後、ラウンド終了前にもう1度ターンがまわってくる。",
683
- ]
684
-
685
- when 5
686
- table = [
687
- "一斉に周囲の壁の射出口が開き、無数の矢が放たれる!PC全員に「#{['3D6+20', '3D6+40', '3D6+60', '3D6+90', '200'][difficulty]}」の「刺突」属性ダメージ。「ドッジ-#{[4, 6, 8, 10, 20][difficulty]}」で〔回避〕が可能。有利な特異点「虫の知らせ」があれば〔回避〕に+4のボーナスを得る。",
688
- "突然部屋に白いガスが充満して睡魔が襲ってくる!PC全員が「☆眠り」を受ける。[抵抗-#{[2, 4, 6, 8, 12][difficulty]}]判定で無効化。",
689
- "フロアイミテーターの罠だ!突然部屋の入口が閉まり、君たちを消化し始める!「斬撃」属性で合計#{[100, 200, 300, 500, 1000][difficulty]}点のダメージを与えると入り口が開き脱出できるが、それまでPC全員は「ターン開始」時に#{[10, 20, 30, 40, 60][difficulty]}点の防護点無視ダメージを受ける。ラウンドごとの地形変化やイベントは行われず、最終イベントにも進めなくなる。入り口はどのヘクスからでも隣接扱いで攻撃可能。誰も「斬撃」属性の攻撃ができないなら君たちの冒険はここまでだ。",
690
- "休憩室のようだ。寝心地のよさそうなふかふかのベッドまである。このイベントが発生すると戦闘は強制終了する。PC全員が[意思-#{[2, 4, 6, 8, 12][difficulty]}]判定を行い、失敗したPCは「☆眠り」を受ける。この「☆眠り」は誰かが行動を消費して叩き起こさない限り、シナリオ終了まで持続する。全員が判定に失敗した場合、君たちの冒険はここまでだ。もう目覚めることはないが、せめていい夢を見られるといいだろう。ホムンクルスは「居眠り禁止」を厳命されているため、「☆眠り」を受けない。",
691
- "「ラダマンティスの蛇」の像と目が合ってしまった。どうやらダンジョンの監視者に見つかってしまったらしい!以後探索中にエネミーと遭遇した場合、CLの最も高いエネミーが1体増加する。このイベントの効果は累積せず、「分類:ネームド」「分類:魔将」のエネミーの数は変化しない。",
692
- "怪しげな卵が置かれた部屋。君たちが近寄ると卵が割れて…?1D6を振り、その出目によって中から様々なものが出現する。
693
- ----------
694
- 1~2:これは財宝だ!財宝ランク#{[2, 4, 6, 8, 10][difficulty]}のアイテムが入手可能。
695
- 3~4:卵はそのまま大爆発!PC全員に「#{['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300'][difficulty]}」の「打撃」「火炎」属性ダメージ。
696
- 5~6:卵からドラゴンが!エネミーとエンカウント。",
697
- ]
698
-
699
- when 6
700
- table = [
701
- "突然ダンジョンの明かりが消えてほぼ真っ暗になってしまう!次のラウンドに入るまであらゆる判定に-6のペナルティを受ける。有利な特異点「猫の目」があればペナルティを受けない。また「洞窟1-5の懐中電灯」や「遺跡1-4の光ゴケ」などがあれば無効。",
702
- "どうやら古代の訓練施設のようだ。「パンチングマシーン」と書かれたものがあり、行動を消費すれば100GPを支払って挑戦可能。「格闘」武器でのダメージ判定を1回行い、与えたダメージによってファンファーレとともに景品が出る。1回挑戦すると、ガタが来ていたのか壊れてしまう。
703
- ----------
704
- ダメージ#{[20, 40, 60, 80, 200][difficulty]}以上:財宝ランク#{[0, 2, 4, 6, 8][difficulty]}のアイテム
705
- ダメージ#{[30, 50, 70, 90, 400][difficulty]}以上:財宝ランク#{[1, 3, 5, 7, 9][difficulty]}のアイテム
706
- ダメージ#{[40, 60, 80, 100, 600][difficulty]}以上:財宝ランク#{[2, 4, 6, 8, 10][difficulty]}のアイテム",
707
- "謎の装置のせいで気になるあの子と体が入れ替わってしまった!?シナリオ終了までPCのうち2人の体や能力が入れ替わってしまう。入れ替わるキャラクターはランダムで決定するか、面白くなるようにGMが選ぶ。戦闘で扱うデータは今までどおりだが、入れ替わったキャラクターのロールプレイを行うこと。",
708
- "やった、きんきらきんの宝物庫だ!「2-1」「2-2」「2-3」の宝箱が3つ同時に出現する。ただし、「2-3」の罠の解除に失敗すると、宝箱を開けようとしたキャラクターは黄金像になってしまう。めでたく財宝の仲間入りだ。「☆石化」と同様に扱うが、シナリオ終了までいかなる手段でも治せない。",
709
- "キャンディークラウンハウスだ!エネミーとエンカウント。4ラウンド終了までに1体も倒せなかった場合、チャンスを逃した悔しさからPC全員が〔FP〕に「逃げたキャンディークラウンの数x5」の防護点無視ダメージを受ける。",
710
- "なぜここに呼ばれたかお分かりになりますでしょうか?ラダマンティス崇拝者の作りだした審判の部屋に飛ばされてしまった!ラウンド終了時に部屋の中央のラダマンティス像から裁きの光が放たれ、PC全員が「#{['3D6+50', '3D6+80', '3D6+110', '3D6+150', '400'][difficulty]}」の防護点無視ダメージを受ける。#{[200, 400, 600, 1000, 2000][difficulty]}点のダメージを与えれば破壊可能でダメージも受けない。ラダマンティス像はどのヘクスからでも隣接扱いで攻撃可能。破壊に成功すると財宝ランク#{[3, 5, 7, 9, 11][difficulty]}のアイテムが入手可能。",
711
- ]
712
-
713
- else
714
- return nil
715
- end
716
-
717
- when 3
718
- areaText = "山岳"
719
- case type
720
- when 1
721
- table = [
722
- "回復の泉。PC全員の〔HP〕〔FP〕が完全に回復する。「★死亡」以外のあらゆるBSも回復する。",
723
- "休憩に丁度いい広場を見つけた。〔FP〕が3D6#{['', '+5', '+10', '+15', '+30'][difficulty]}点回復する!だが、居心地が良すぎて離れづらくなってしまう。PC全員が[意思-#{[2, 3, 4, 6, 9][difficulty]}]判定を行う。PCのうち半分以上が失敗した場合、次のラウンドもこのイベントが発生して、クリア時の財宝ランク-1。",
724
- "山小屋を発見し一休み。〔HP〕と〔FP〕が3D6#{['', '+5', '+10', '+15', '+30'][difficulty]}点回復する。PCが4人の時にこのイベントが発生した場合、休憩中の暇つぶしに山小屋の四隅をぐるぐるまわって運動し始める。だが、後から妙なことに気が付きFtが1点減少する…",
725
- "「へーっ、こんなとこまでよく来たね!これ、食べる?食べる?」キイチゴを栽培しているフラウに出会う。栄養満点で幸せになる。PC全員の〔HP〕と〔FP〕を10点、Ftを1点回復することができる。さらに、【魔法の料理人】を持つPCがいれば、消耗品「いちごジャム」をSLv個入手可能。
726
- ----------
727
- 名称:いちごジャム
728
- 価格:非売品
729
- 解説:〔HP〕と〔FP〕を10点、Ftを1点回復する。戦闘中には使用できない。",
730
- "少し休憩できそうな洞窟を発見する。PC全員の〔FP〕を10点回復する。中には他のエクスプローラーが残していったと思われる道具もあった。「#{['高級HPポーション', '最高級HPポーション', '特性HPポーション', 'うぃっしゅすたー', 'うぃっしゅすたーx3'][difficulty]}」を入手することができる。大雨が降っていたり、火災が起こったりしていた場合、その効果も消滅する。",
731
- "回復の泉。PC全員の〔HP〕〔FP〕が完全に回復する。#{['', '', '', '', 'また、フォーチュンも最大値を越えて1増加する。'][difficulty]}「★死亡」以外のあらゆるBSも回復する。しかし山間の貴重な水源のため亜人によって管理されており、使用するには#{[500, 1000, 2000, 4000, 30000][difficulty]}GPが必要。PCのパーティーに管理している亜人と同じ種族がいるか、【詩人の交渉術#{[1, 2, 3, 4, 5][difficulty]}】を持つキャラクターがいれば無料で使用可能。どの種族が管理しているかは1D6を振って決定する。
732
- ----------
733
- 1:ドラコニアン
734
- 2:リザードとワイズマン
735
- 3:フラウ
736
- 4:シルヴァテイル
737
- 5:ストームコーザー
738
- 6:グラント",
739
- ]
740
-
741
- when 2
742
- table = [
743
- "財宝ランク#{[0, 2, 4, 6, 8][difficulty]}の宝箱を発見する。カギやトラップはかかっていない。行動を消費することで開けることができる。",
744
- "財宝ランク#{[1, 3, 5, 7, 9][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12, 20][difficulty]}のカギがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12, 20][difficulty]}]判定でカギを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
745
- "財宝ランク#{[1, 3, 5, 7, 9][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12, 20][difficulty]}のトラップがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12, 20][difficulty]}]判定でトラップを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
746
- "狭い谷底に宝箱があるのが見える。そして手元には岩とロープが。これはもうバンジージャンプで取ってくるしかない!行動を消費して[敏捷-#{[3, 6, 9, 12, 16][difficulty]}][意思-#{[3, 5, 7, 9, 12][difficulty]}]で判定を行い、両方に成功すれば財宝ランク#{[3, 5, 7, 9, 11][difficulty]}のアイテムを入手できる。[敏捷]判定がファンブルだった場合ロープがちぎれてしまい、4ラウンド目が終了するまで戻ってこれない。有効:【野伏の歩み】([敏捷]判定のみ)",
747
- "ミミックの罠。ランダムなキャラクターに「3D+#{[30, 50, 70, 100, 300][difficulty]}」の「斬撃」属性ダメージを与える。[知力-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すればこの罠を見抜いて無効化でき、なおかつ#{[1000, 2000, 5000, 10000, 30000][difficulty]}GPを入手可能。有効:【盗賊の心得】【ロックスミス】",
748
- "トレジャーイーターの罠。冒険中に入手したアイテム(消耗品・GP以外)を全て失う。[知力-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すればこの罠を見抜いて無効化することができ、なおかつ#{[1000, 2000, 5000, 10000, 30000][difficulty]}GP入手可能。",
749
- ]
750
-
751
- when 3
752
- table = [
753
- "山歩きの達人だけが発見できるショートカットコース。#{['有利な特異点「鷹の目」か【野伏の歩み】', '有利な特異点「鷹の目」2段階か【野伏の歩み2】', '有利な特異点「鷹の目」2段階か【野伏の歩み3】', '有利な特異点「鷹の目」2段階か【野伏の歩み4】', '有利な特異点「鷹の目」必須かつ【野伏の歩み4】'][difficulty]}を持つキャラクターがいればクリア時の財宝ランク+1。",
754
- "鉱物を運んでいたのであろう、運搬用トロッコを発見する。うまく運転できれば素早く進行できそうだが…?[敏捷-#{[3, 6, 9, 12, 16][difficulty]}]判定に成功すればクリア時の財宝ランク+1。判定に失敗すると脱線して放り出されてしまい、PC全員が「3D+10」の防護点無視ダメージを受ける。PCにケイヴウォーカーがいれば判定不要。",
755
- "険しい斜面が続く。これは体力勝負になりそうだ…。PC全員が[体力#{['', '-1', '-2', '-4', '-8'][difficulty]}]判定を行い、全員が成功すればクリア時の財宝ランク+1。判定に失敗したキャラクターは〔FP〕を#{[5, 10, 15, 20, 30][difficulty]}点失う。",
756
- "空を飛べればショートカットできそうな崖を発見する。なんらかの飛行手段のあるPCがいる場合、クリア時の財宝ランク+1。元々飛行できなくてもラウンド中に【フライト】などの【特技】を使用してラウンド終了時に「飛行状態」であれば良い。",
757
- "遠くから山彦のような不思議な声が聞こえる。山彦と会話をすると迷いやすい道を教えてくれるが、大声で会話をしているのでエネミーに見つかりやすくなる。会話をするなら次のイベントは必ず山岳のエンカウントイベントになり、会話を諦めるならクリア時の財宝ランク-1。有利な特異点「天体時計」があれば会話を諦めてもデメリットはない。",
758
- "急に突風が吹いてきて、体力のないものは吹き飛ばされてしまう!もっとも[体力]の低いPC1人が[体力-#{[2, 3, 4, 6, 9][difficulty]}]判定を行い、失敗すると「#{['3D6+20', '3D6+40', '3D6+60', '3D6+90', '200'][difficulty]}」の防護点無視ダメージを受ける。さらに、救助に時間がかかるためクリア時の財宝ランク-1。PCにストームコーザーがいればイベントの効果を無視できる(演出は自由)。",
759
- ]
760
-
761
- when 4
762
- table = [
763
- "高いところから多数の岩がごろごろと…いや、これは魔物だ!エネミーとエンカウント。高低差で勢いがついているため、エネミーは〔移動〕に+5、#{['物理攻撃の致傷力に+10', '物理攻撃の致傷力に+30', '物理攻撃の致傷力に+60', '物理攻撃の致傷力に+120', 'あらゆる攻撃の致傷力に+100'][difficulty]}のボーナスを得る",
764
- "空中から羽をもった魔物があちこちから攻撃を仕掛けてきた!エネミーとエンカウント。エネミーのうち#{[3, 3, 1, 1, 3][difficulty]}体は任意の「PC配置ヘクス」に設置される。",
765
- "「た、隊長、もうダメです!」「バカもん!この程度で根を上げるな!」登山訓練中の魔族の小隊と出くわす。だが相手は疲れているようだ?エネミーとエンカウント。〔FP〕は最大値から10点減少している。",
766
- "山道の横から突然穴が空き、魔物と鉢合わせしてしまう!エネミーとエンカウント。PC全員が[感覚-3]判定を行い、失敗したキャラクターはそのラウンド中に行動することができない。(〔回避〕や[抵抗]の判定、自分のターン以外で行う【特技】は可能)有効:「狐の耳」",
767
- "ケタケタ笑いながら空から襲撃される。エネミーとエンカウント。彼女達はとても飽きっぽいので2ラウンド行動した後、3ラウンド目の開始前に立ち去ってしまう。(ドロップは入手できない)",
768
- "フェニックスがつがいで暮らす縄張りに足を踏み入れてしまった!エネミーとエンカウント。すぐに引き返せば戦闘を回避できるが、クリア時の財宝ランク-1。そのまま進むのであれば[意思-6]で判定を行い、成功すれば見逃してもらうことができる。失敗するとフェニックスは怒り狂い、襲ってくる。有効:【詩人の交渉術】",
769
- ]
770
-
771
- when 5
772
- table = [
773
- "ジャーンジャーン!げぇ、落石だ!!上から魔族が岩を落とし始める。PC全員に「#{['3D6+20', '3D6+40', '3D6+60', '3D6+90', '200'][difficulty]}」点の「打撃」属性ダメージ。「ドッジ-#{[3, 5, 7, 9, 15][difficulty]}」で〔回避〕が可能。",
774
- "ファイトー!いっぱーつ!!足場が崩れ出す。PC全員が[敏捷-#{[3, 6, 9, 12, 20][difficulty]}]判定を行い、失敗すると「#{['3D6+20', '3D6+40', '3D6+60', '3D6+90', '200'][difficulty]}」点の防護点無視ダメージを受ける。成功したPCは[体力]判定を行い、失敗したPC1人を支えることができる。この判定に失敗した場合、支えようとしたキャラクターも一緒にダメージを受ける。有効:【野伏の歩み】",
775
- "滑りやすい岩を飛び移っていく道が続いている。敵味方全員が[敏捷-#{[2, 2, 4, 6, 10][difficulty]}]で判定を行い、失敗したキャラクターは「☆転倒」を受ける。飛行可能なキャラクターはこの影響を受けない。有効:【野伏の歩み】",
776
- "先に進む道に『銀糸の甲殻』アルゲントゥムの巣がびっしり張られている。幸い主はいないようだが、巣が邪魔で移動がしにくい…敵味方全員が4ラウンド目まで飛行状態になれなくなり、〔移動〕にも-5のペナルティを受ける。不利な特異点「トラウマ:虫」などがあればそれも適用する。",
777
- "美しい万年雪の中を進んでいたと思ったのも束の間、雪崩に遭遇してしまう!全員が「#{['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300'][difficulty]}」点の「打撃」「冷気」属性ダメージを受け、クリア時の財宝ランク-2。[感覚-#{[6, 9, 12, 15, 20][difficulty]}]の判定に成功すれば、すぐに洞窟に避難してやり過ごすことができる。洞窟の中には#{['スノーの結晶(装飾品/3000GP)', '紺碧の瞳(装飾品/10000GP)', '氷狼の爪(装飾品/25000GP)', '氷河龍の盾(盾/65000GP)', 'コキュートスダガー(ナイフ/110000GP)'][difficulty]}があり、入手可能。有効:「狐の耳」【野伏の歩み】",
778
- "下から魔族の大群が登ってくる!ジャーンジャーン!石を落として撃退だ!魔族の群れは射撃攻撃で合計#{[100, 200, 300, 500, 1200][difficulty]}点のダメージを与えれば撃退可能。複数の対象を攻撃できる【特技】を使用した場合は、ダメージを2回計算可能。ラウンド終了時までに撃退できなかった場合、PC全員が撃破に足りなかったダメージに等しい防護点無視ダメージを受ける。魔族の群れはどのヘクスからでも攻撃可能だが、射程が10ヘクス以上の攻撃でなければならない。石を落としても攻撃可能で、「3D+#{[10, 20, 30, 50, 100][difficulty]}」点の「打撃」属性ダメージを与える。この攻撃は判定なしで自動的に命中する。",
779
- ]
780
-
781
- when 6
782
- table = [
783
- "急に大雨が降り出した、屋内に避難したいところだが…地形が「洞窟」か「遺跡」に変更されるまで、ラウンド終了時、〔FP〕に「#{['1D6', '2D6', '3D6', '3D6+5', '3D6+15'][difficulty]}」点の防護点無視ダメージを受ける。〔FP〕に受けるダメージはPCがそれぞれダイスを振って決定する。「水中行動」が可能なPCはこの効果を受けない。",
784
- "色とりどりの石が岩肌に…これはカラーストーンの原石だ![知力-#{[6, 9, 12, 15, 20][difficulty]}]判定に成功すればカラーストーン原石を持ち帰ることができる。「カラーストーン原石」は1つ#{[500, 1000, 2000, 3000, 5000][difficulty]}GPで売却可能で、行動を消費することで自分のアイテム欄に好きなだけ入手可能。有効:【魔導工学のススメ】",
785
- "不思議な岩がある。1D6を振って1~2であれば「火炎」属性、3~4であれば「冷気」属性、5~6であれば「電撃」属性の攻撃で、4ラウンド目終了までに#{[30, 60, 100, 200, 500][difficulty]}点のダメージを与えれば破壊可能。不思議な岩はどのヘクスからでも隣接扱いで攻撃可能で、破壊したあとには財宝ランク#{[2, 4, 6, 8, 10][difficulty]}のアイテムが発見できる。",
786
- "「こんなところで人間に会うなんて珍しいな、お前らも食っていくか?」ストームコーザーが獲物を取った後調理している。このイベントが発生するとエネミーは消滅する。マジカルクッキングLv4「ジャンボ串焼き」を食べさせてもらえる。【魔法の料理人】を習得したPCがいれば、Lv5「グラント風香草焼き」にパワーアップする。この料理の効果は、自分たちが「マジカルクッキング」で作った料理と累積する。",
787
- "高山植物の群生地を発見する。ポーションの材料になるものもありそうだ?[知力-#{[6, 9, 12, 15, 20][difficulty]}]判定に成功すれば、薬草を持ち帰ることができる。「高山の薬草」は1つ#{[500, 1000, 2000, 3000, 5000][difficulty]}GPで売却可能で、行動を消費することで自分のアイテム欄に好きなだけ入手可能。【ポーションナレッジ】があれば判定は不要。有効:【賢人の知恵】「自然と生きる」",
788
- "岩壁が大きく崩れていく!崩落に巻き込まれて入口付近まで戻されてしまい、クリア時の財宝ランク-2。だが、崩落した後に鈍く輝くアイテムが転がっている…?[感覚-#{[6, 9, 12, 15, 20][difficulty]}]判定に成功すれば#{['アダマンソード(剣/8000GP)', 'アダマンスケイル(鎧/15000GP)', 'アダマンプレート(鎧/30000GP)', 'ヒュージーブレード(剣/45000GP)', '封印の手錠(盾/200000GP)'][difficulty]}を入手可能。有効:「鷹の目」",
789
- ]
790
-
791
- else
792
- return nil
793
- end
794
-
795
- when 4
796
- areaText = "水辺"
797
- case type
798
- when 1
799
- additional_effect = [
800
- '',
801
- '、【魔法の料理人2】があれば「シルヴァまっしぐら」(Lv4)と「エドマエスシ」(Lv5)の全て',
802
- '、【魔法の料理人2】があれば「シルヴァまっしぐら」(Lv4)と「エドマエスシ」(Lv5)、【魔法の料理人3】があれば「刺身盛り合わせ」(Lv6)と「オオトロスシ」(Lv7)の全て',
803
- '、【魔法の料理人2】があれば「シルヴァまっしぐら」(Lv4)と「エドマエスシ」(Lv5)、【魔法の料理人3】があれば「刺身盛り合わせ」(Lv6)と「オオトロスシ」(Lv7)、【魔法の料理人4】があれば「特上うな丼」(Lv8)の全て',
804
- '、【魔法の料理人2】があれば「シルヴァまっしぐら」(Lv4)と「エドマエスシ」(Lv5)、【魔法の料理人3】があれば「刺身盛り合わせ」(Lv6)と「オオトロスシ」(Lv7)、【魔法の料理人4】があれば「特上うな丼」(Lv8)、【魔法の料理人5】で全員のフォーチュン+1(最大値をこえる)の全て'
805
- ][difficulty]
806
-
807
- table = [
808
- "回復の泉。PC全員の〔HP〕〔FP〕が完全に回復する。「★死亡」以外のあらゆるBSも回復する。",
809
- "甲羅干しに適した暖かい小島を見つける。少しだけ休憩しよう。〔HP〕と〔FP〕が「3D#{['', '+5', '+10', '+15', '+30'][difficulty]}」点回復する。ワイズマンのPCは全回復する。何か面白い寝言を言ったPCに「#{['HPポーション', '高級HPポーション', '最高級HPポーション', 'うぃっしゅすたー', '蘇生ポーション'][difficulty]}」が空から降ってくる。",
810
- "魚の群れを発見!捕まえてたらふくいただくとしよう!【魔法の料理人】があればマジカルクッキングの「魔界魚の目玉」(Lv3)#{additional_effect}の効果を得られる。この効果はすでにマジカルクッキングを使用していても累積する。",
811
- "「こんにちは、スーっとして気持ちいいよ。…ふふ、一緒に入ろうか?」ミントや菖蒲を育てているフラウに出会い、薬湯に浸かって〔FP〕が全回復する。さらに、「火炎」属性に対する防護点に+10のボーナス。",
812
- "リザードの集落につく。〔HP〕の減ったキャラクターがいれば持て囃され、マジカルクッキング「カリカリミミズ肉」(Lv2)をごちそうしてもらい、この先の道案内も買って出てくれる。クリア時の財宝ランク+1。全員の〔HP〕が満タンの場合は、そっけない扱いをされ何も起こらない。この効果はすでにマジカルクッキングを使用していても累積する。",
813
- "回復の泉に見せかけた毒の泉。パーティーメンバーの〔HP〕〔FP〕のいずれかが減少している場合このイベントは拒否できない。毒の水で「#{['3D6+10', '3D6+20', '3D6+30', '3D6+50', '100'][difficulty]}」点の防護点無視ダメージを受ける。〔HP〕〔FP〕が全快のキャラクターと「虫の知らせ」があるPCはこの効果を受けない。[知力-6]判定に成功すればこれが毒の泉だとわかる。有効:【野伏の歩み】【賢人の知恵】",
814
- ]
815
-
816
- when 2
817
- table = [
818
- "財宝ランク#{[0, 2, 4, 6, 8][difficulty]}の宝箱を発見する。カギやトラップはかかっていない。行動を消費することで開けることができる。",
819
- "財宝ランク#{[1, 3, 5, 7, 9][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12, 20][difficulty]}のカギがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12, 20][difficulty]}]判定でカギを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
820
- "財宝ランク#{[1, 3, 5, 7, 9][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12, 20][difficulty]}のトラップがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12, 20][difficulty]}]判定でトラップを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
821
- "水中の奥深くに宝箱があるのが見える。とってくるのは無理そうに見えるが…行動を消費して[敏捷-#{[9, 12, 15, 18, 25][difficulty]}]判定を行い、成功すれば財宝ランク#{[3, 5, 7, 9, 11][difficulty]}のアイテムを入手できる。有利な特異点「水中行動」があれば判定不要。有効:【野伏の歩み】",
822
- "ミミックの罠。ランダムなキャラクターに「3D6+#{[30, 50, 70, 100, 300][difficulty]}」の「斬撃」属性ダメージを与える。[知力-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すればこの罠を見抜いて無効化でき、なおかつ#{[1000, 2000, 5000, 10000, 30000][difficulty]}GPを入手可能。有効:【盗賊の心得】【ロックスミス】",
823
- "トレジャーイーターの罠。冒険中に入手したアイテム(消耗品・GP以外)を全て失う。[知力-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すればこの罠を見抜いて無効化することができ、なおかつ#{[1000, 2000, 5000, 10000, 30000][difficulty]}GP入手可能。",
824
- ]
825
-
826
- when 3
827
- table = [
828
- "進みやすい浅瀬が続き、すいすいと進める。クリア時の財宝ランク+1。有利な特異点「水中行動」や【ミズグモ】をもつPCがいればクリア時の財宝ランク+2。ただしグラントがいると浅瀬にもかかわらず溺れてしまい、財宝ランクは変化しない。(RP次第でグラントがいるデメリットをなくしても良い)",
829
- "様々な漂流物が流れこむ船の墓場だ。お宝もありそうだが探索は大変そうだ…〔FP〕を3点消費する代わりに水辺の財宝系イベント「2-1~2-6」が発生する。この効果を望まない場合は特に何も起きない。",
830
- "ヒャッハー、ウォータースライダーだ!巨大な植物の幹を滑って進むことができるが、かなり怖いので勇気が必要。PC全員が[意思#{['', '-1', '-2', '-4', '-8'][difficulty]}]判定を行い、全員成功すればクリア時の財宝ランク+1。この判定に成功したPCは、失敗したPCを1人まで抱えて滑り落ちることで成功扱いにできる。",
831
- "大蓮のような植物の群生地を渡っていく。重たい装備を身に着けていると沈んでしまいそうだ…[必要体力]が15以上の装備を所有しているPCがいるとクリア時の財宝ランク-1。そのPCに有利な特異点「水中行動」や【ミズグモ】があればこのデメリットは受けない。",
832
- "水流が複雑になっており、思うように進めず戻されてしまう。[体力-#{[4, 5, 6, 8, 12][difficulty]}]判定に失敗するとクリア時の財宝ランク-1。",
833
- "突然の激流にイカダが巻き込まれる!身を任せている場合じゃない!敵味方全員が[敏捷-#{[2, 3, 4, 6, 10][difficulty]}]判定を行い、失敗したキャラクターは4ラウンド終了まで帰ってこれなくなる。全員が失敗してしまった場合、冒険は強制的に失敗となりダンジョンの入口に戻されてしまう。ダンジョン内で手に入れたアイテムも消耗品とGP以外は全て水に流されて消滅する。有効:【野伏の歩み】",
834
- ]
835
-
836
- when 4
837
- ashigaru = [
838
- '[感覚-6]判定に成功すると水面に動く竹筒を発見可能で、その場合は〔先制〕へのボーナスは無効化可能。有効:「鷹の目」',
839
- '[感覚-8]判定に成功すると水面に動く竹筒を発見可能で、その場合は〔先制〕へのボーナスは無効化可能。有効:「鷹の目」',
840
- '[感覚-10]定に成功すると水面に動く竹筒を発見可能で、その場合は〔先制〕へのボーナスは無効化可能。有効:「鷹の目」',
841
- '[感覚-12]判定に成功すると水面に動く竹筒を発見可能で、その場合は〔先制〕へのボーナスは無効化可能。有効:「鷹の目」',
842
- '',
843
- ]
844
- table = [
845
- "蟹の魔物がイカダをちょんぎろうとしている!早く倒さなくては!エネミーとエンカウント。1ラウンド以内に倒せなかった場合、イカダをちょんぎられてクリア時の財宝ランク-1。",
846
- "アシガル潜水隊と遭遇。エネミーとエンカウント。エネミーは奇襲攻撃を仕掛けてくるため〔先制〕に+5のボーナスを得る。#{ashigaru[difficulty]}",
847
- "何か水面が揺れている…まさか、あれはニンジャ!?エネミーとエンカウント。エネミーは謎の光学迷彩ギアで姿を隠しており、〔回避〕に+#{[2, 2, 4, 6, 2][difficulty]}のボーナス。",
848
- "水辺で花を育てている少女に出会う…が、少女は魔族だった!エネミーとエンカウント。彼女が育てている花の根元には無数の動物の死体が無残にも肥料にされている。戦闘開始時に[意思]判定を行い、失敗したキャラクターは戦慄して1ターン行動不可。〔回避〕[抵抗]の判定を行うことはできる。",
849
- "高波にのった魔族の騎士が現れる!エネミーとエンカウント。エネミーは波で勢いがついているため、最初のターンは〔移動〕〔先制〕に+5のボーナス。",
850
- "湖の上を渡っていると思ったら巨大なスライムの上だった!?エネミーとエンカウント。エネミーは巨大なため〔HP〕に+#{[50, 100, 150, 250, 1500][difficulty]}のボーナスを得ている。また、全てのヘクスに対して隣接しているものとする。(移動妨害も全てのヘクスで受ける)",
851
- ]
852
-
853
- when 5
854
- table = [
855
- "美しい歌声が響き渡る、意識が引きずり込まれそうだ。その場にいる敵味方全員は[抵抗-#{[2, 4, 6, 8, 12][difficulty]}]判定を行い、失敗すると1ターン「☆眠り」を受ける。有効:【音響補正装置】",
856
- "小舟で進んでいると、なにやら激しい水の音がする。この先は滝のようだ!PC全員が[移動-#{[3, 4, 5, 7, 12][difficulty]}]判定を行い(「水中行動」があれば+5のボーナスを得る)、成功したキャラクターがいれば事なきを得る。更に滝の裏の洞窟から財宝ランク#{[3, 5, 7, 9, 11][difficulty]}のアイテムを入手可能。〔移動〕判定に全員失敗した場合、全員が滝から転落して「#{['3D6+20', '3D6+30', '3D6+40', '3D6+60', '150'][difficulty]}」の防護点無視ダメージを受ける。有効:【野伏の歩み】",
857
- "船の墓場を進んでいると、強風でマストが倒れてくる!PC全員が「ドッジ-#{[2, 4, 6, 8, 15][difficulty]}」判定を行い、失敗すると「#{['3D6+10', '3D6+20', '3D6+30', '3D6+50', '150'][difficulty]}」の防護点無視ダメージを受け、「☆転倒」を受ける。",
858
- "ぺっぺっ、水がしょっぱい!濃い塩水がギアをダメにしてしまう。所有している武器についたアタッチメント1つがシナリオ終了まで消滅してしまう。どのアタッチメントが消滅するかは選択可能。【魔導工学のススメ#{[1, 1, 2, 3, 4][difficulty]}】があれば応急処置を行い、この効果を受けない。また、「★特別アタッチメント」は消滅しない。",
859
- "とても寒く冷たい水辺で、体力をどんどん奪われてしまう。「冷気」属性に対する防護点が#{[10, 15, 20, 25, 50][difficulty]}以下のキャラクターは、ラウンド終了時に〔FP〕を#{[5, 10, 15, 20, 30][difficulty]}点失う。",
860
- "突然間欠泉が噴き出してダメージを受ける!敵味方全員のうちランダムで1体に「#{['3D6+40', '3D6+60', '3D6+80', '3D6+120', '400'][difficulty]}」点の「火炎」属性ダメージと「☆転倒」を与える。このイベントが2ラウンド目で発生した場合、4ラウンド目のイベントはダイスを振らず「洞窟6-2」の温泉イベントになる。",
861
- ]
862
-
863
- when 6
864
- table = [
865
- "傷ついた#{['スワンプランナー', 'スカイサーチャー', 'グリマルキン', 'ゴールデンコーン', 'プチブレイザー'][difficulty]}を発見する。ラウンド終了までに〔HP〕を#{[30, 50, 70, 100, 400][difficulty]}点まで回復させればなついて#{['スワンプランナー(ペット/4000GP)', 'スカイサーチャー(ペット/6000GP)', 'グリマルキン(ペット/15000GP)', 'ゴールデンコーン(ペット/30000GP)', 'プチブレイザー(ペット/100000GP)'][difficulty]}を入手可能。回復できなかった場合、#{['スワンプランナー', 'スカイサーチャー', 'グリマルキン', 'ゴールデンコーン', 'プチブレイザー'][difficulty]}は逃走する。",
866
- "なにやら派手な魚を見つける。あれはもしやアズマに伝わる幻の魚「ニシキゴイ」か!?行動を消費して[敏捷-#{[8, 10, 12, 15, 25][difficulty]}]判定に成功すれば見事捕まえ、アイテム欄に入手することができる。売却すると#{[3000, 6000, 12000, 24000, 120_000][difficulty]}GPになる。この判定は4ラウンド目が終了するまで何度でも行うことができる。有効:【野伏の歩み】",
867
- "カエルの合唱が響き渡る。何やら意味がある歌声に聞こえるが…[知力-#{[6, 9, 12, 15, 25][difficulty]}]判定に成功すると歌の意味を理解できる。カエル達は安全な道を教えてくれていたのだ!判定に成功した場合クリア時の財宝ランク+1。判定に失敗すると毒の沼に足を踏み入れ、PC全員が「#{['3D6+10', '3D6+20', '3D6+30', '3D6+50', '150'][difficulty]}」点の防護点無視ダメージを受ける。有効:「自然と生きる」【賢人の知恵】",
868
- "老齢のグラントが岩に腰かけ釣りをしている。このイベントが発生するとエネミーは消滅する。「どうだね、よかったら釣り勝負をやっていかないか?」PC全員が行動を消費して3D6を振り、誰かが3か4を出せば見事勝利することができる。「見事じゃ、そこにあるガラクタはワシには必要ないものじゃから好きに持って行くがいい」と財宝を渡してくれる。財宝ランク#{[3, 5, 7, 9, 11][difficulty]}のアイテムを2つ入手可能。",
869
- "沈没した「死者の方舟」だ。探せば何かありそうだが危険そうだ…1D6を振って以下の結果を適用すること。このイベントは無視することができ、その場合は何も起きない。
870
- ----------
871
- 1~2:…これは財宝だ!財宝ランク#{[3, 5, 7, 9, 11][difficulty]}のアイテムと#{['スケルトンメイル(鎧)', '死者の心臓(装飾品)', '死霊貴族の服(鎧)', 'デュラハンの盾(盾)', '死者の止まらない歯車(装飾品)'][difficulty]}を入手。
872
- 3~4:…マストが倒れてきた!「水辺5-3」と同様のイベントが発生する。
873
- 5~6:…船に残っていたアンデッドが襲ってきた!エネミーとエンカウント。",
874
- "貝の群生地だ。貝の中にはキラリと光るものが…あれは真珠だ!行動を消費して[敏捷-#{[6, 9, 12, 15, 20][difficulty]}]判定を行い、成功すれば1回ごとにアイテム「真珠」を入手可能。これは1つ#{[1000, 2000, 4000, 8000, 20000][difficulty]}GPで売却可能で、4ラウンド目が終了するまで何回でも入手可能。ただし、判定の成否に関わらず〔FP〕を2点消費する。「水中行動」があれば判定不要で〔FP〕も消費しない。有効:【野伏の歩み】",
875
- ]
876
-
877
- else
878
- return nil
879
- end
880
-
881
- when 5
882
- areaText = "森林"
883
- case type
884
- when 1
885
- table = [
886
- "回復の泉。PC全員の〔HP〕〔FP〕が完全に回復する。「★死亡」以外のあらゆるBSも回復する。",
887
- "鬱蒼とした森の奥に見事な佇まいの茶室を見つける。ラウンド中に【ソチャデスカ】を使用した際の回復量が2倍になる。茶室の中には友好的なカラクリフラウがいて、#{[100, 200, 300, 500, 2000][difficulty]}GPを支払ったPC全員の〔HP〕〔FP〕を「3D6+#{[10, 20, 30, 50, 100][difficulty]}」点回復してくれる。",
888
- "おいしそうな果実の木だ!とてもおいしく、食べるとやたらとテンションが高くなる。〔HP〕〔FP〕が「3D6#{['', '+5', '+10', '+15', '+30'][difficulty]}」点回復するが、シナリオ終了まで不利な特異点「脳みそ筋肉」を得たかのように猪突猛進型の性格になってしまう。[知力-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すれば興奮作用のある種をどけてデメリットは受けない。有効:「自然と生きる」【賢人の知恵】",
889
- "「ひんやりおいしい森のアイスやさんですよ~。今なら私との握手券付き~♪」フラウが果物いっぱいのトロピカルなアイスクリームを売っている。マジカルクッキング「フラウアイスクリーム」(Lv4)を食べさせてもらえる。この料理の効果は、自分たちが「マジカルクッキング」で作った料理と累積する。",
890
- "森のなかにひっそりとたたずむジンジャを発見して、ナインテイルのカンヌシかミコが旅の無事を祈ってくれる。PT全員に【不死なる炎】がかかり、最終イベントに入るまで、死亡判定に自動成功するようになる。",
891
- "食人植物の花粉による回復の泉の幻影。PTメンバーの〔HP〕〔FP〕のいずれかが減少している場合このイベントは拒否できない。[知力-6]判定に失敗すると食人植物の群生地にふらふらと入り、PC全員が「#{['3D6+20', '3D6+30', '3D6+40', '3D6+60', '150'][difficulty]}」の「斬撃」属性ダメージを受ける。有利な特異点「自然と生きる」があれば、事前に気が付きダメージは受けない。有効:【賢人の知恵】",
892
- ]
893
-
894
- when 2
895
- table = [
896
- "財宝ランク#{[0, 2, 4, 6, 8][difficulty]}の宝箱を発見する。カギやトラップはかかっていない。行動を消費することで開けることができる。",
897
- "財宝ランク#{[1, 3, 5, 7, 9][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12, 20][difficulty]}のカギがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12, 20][difficulty]}]判定でカギを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
898
- "財宝ランク#{[1, 3, 5, 7, 9][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12, 20][difficulty]}のトラップがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12, 20][difficulty]}]判定でトラップを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
899
- "上から3本の蔓が垂れ下がっている。すごく引っ張りたくなる形状だ…行動を消費して引っ張ったキャラクターは1D6を振って以下のものを入手する。蔦を1つ引っ張ると他の蔦はスルスルっと上に消えていってしまう。有効:「非凡な直感」
900
- ----------
901
- 1~2:大当たり!財宝ランク#{[3, 5, 7, 9, 11][difficulty]}の財宝
902
- 3~4:小当たり!おいしい果物(#{['HPポーション', '高級HPポーション', '最高級HPポーション', '奇跡のポーション', '蘇生ポーション'][difficulty]}と同等)
903
- 5~6:「ハズレ」と書かれた硬い木の実が直撃!「#{['3D6+10', '3D6+20', '3D6+30', '3D6+50', '150'][difficulty]}」点の「打撃」属性ダメージを受ける",
904
- "ミミックの罠。ランダムなキャラクターに「3D+#{[30, 50, 70, 100, 300][difficulty]}」の「斬撃」属性ダメージを与える。[知力-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すればこの罠を見抜いて無効化でき、なおかつ#{[1000, 2000, 5000, 10000, 30000][difficulty]}GPを入手可能。有効:【盗賊の心得】【ロックスミス】",
905
- "トレジャーイーターの罠。冒険中に入手したアイテム(消耗品・GP以外)を全て失う。[知力-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すればこの罠を見抜いて無効化することができ、なおかつ#{[1000, 2000, 5000, 10000, 30000][difficulty]}GP入手可能。",
906
- ]
907
-
908
- when 3
909
- table = [
910
- "この獣道を通れば近道になりそうだ!しかし狭くて動きにくい…クリア時の財宝ランクが+1されるが、ラウンド中の〔移動〕に-3のペナルティ。",
911
- "「ホウホウホーウ。そっちの道は危ないぞ…」鳥たちが古い言葉で道案内をしてくれる。[知力-6]判定に成功すれば、クリア時の財宝ランク+1。失敗すると次のイベントは必ず「森林」のエンカウントイベントになる。このイベントが4ラウンド目だった場合、道に迷ってクリア時の財宝ランク-1。有効:「自然と生きる」【賢人の知恵】",
912
- "時計をもった兎が忙しそうに走っている。追いかけていくと木の根本に落っこちて妙な場所についてしまった!4ラウンド目が終了するまで「迷宮オプション」を新たに1つ追加する。このイベントが4ラウンド目だった場合、近道になりクリア時の財宝ランク+1。",
913
- "毒草の群生地だ!突っ切れば近道になりそうだが…気にせず直進すればシナリオ終了まで〔HP〕の最大値と現在値が#{[10, 15, 20, 25, 40][difficulty]}点減少するが、クリア時の財宝ランク+1。迂回すると悪い効果は受けないがクリア時の財宝ランク-1。",
914
- "「花の香りのする方においで」と看板がある。[感覚-#{[6, 9, 12, 15, 20][difficulty]}]判定に失敗すると遠回りになりクリア時の財宝ランク-1。有利な特徴「犬の鼻」が#{['あれば判定不要。', 'あれば判定不要。', '二段階あれば判定不要。一段階はボーナスのみ。', '二段階あれば判定不要。一段階はボーナスのみ。', '二段階あれば判定不要。一段階はボーナスのみ。'][difficulty]}",
915
- "おや、進行方向から動物たちが逃げてくるぞ?…大変だ、森林火災だ!引き返して火災から逃げるとクリア時の財宝ランク-2。構わず突っ切るなら4ラウンド目が終了するまで、ターン開始時に「#{['3D6+10', '3D6+15', '3D6+20', '3D6+30', '100'][difficulty]}」の「火炎」属性ダメージを受ける。",
916
- ]
917
-
918
- when 4
919
- table = [
920
- "森の盗賊団がこちらの懐を狙ってきた!エネミーとエンカウント。このエネミーからダメージを受けるたびに所持品のうち最も価格の安いものを奪われてしまう。4ラウンド目までに倒せば奪い返すことができる。",
921
- "動物狩りを楽しんでいた魔族と偶然遭遇してしまう。エネミーとエンカウント。「分類:魔物」「分類:魔獣」のエネミーが登場していた場合、魔族たちにに狩られると思い逃亡する。",
922
- "魔族の偵察隊と遭遇する。報告される前に倒さなくては!指定のエネミーを1ラウンド以内に倒せなかった場合、次のエンカウントが発生した際、新たに登場するエネミーは準備万端で待ち構えているため〔先制〕に+10、あらゆる致傷力に+#{[10, 20, 30, 40, 100][difficulty]}のボーナス。",
923
- "森を支配する木の魔族の王に遭遇してしまった!エネミーとエンカウント。#{['エネミーは〔HP〕に+100のボーナス。', 'エネミーは〔HP〕に+150のボーナス。', 'エネミーは〔HP〕に+200のボーナス。', '', 'エネミーは〔HP〕に+200、あらゆる致傷力+200、分類「ネームド」と【始原の力】を追加。'][difficulty]}4ラウンド終了までに討伐に成功すると財宝ランク#{[3, 5, 7, 9, 11][difficulty]}のアイテムを入手できる。",
924
- "フラウとその尖兵が道案内をしてくれる…と思ったらカラーコンタクトをつけてフラウのふりをした魔族とその尖兵だった!エネミーとエンカウント。尖兵は「PC配置ヘクス」に配置すること。PCはラウンド終了まで〔回避〕に-6のペナルティ。有利な特異点「背中の目」があれば〔回避〕へのペナルティは受けない。",
925
- "迷彩服を着て軍事訓練中の第三師団精鋭コンバット部隊だ!エネミーとエンカウント。エネミーは〔先制〕に+4のボーナス。",
926
- ]
927
-
928
- when 5
929
- table = [
930
- "良い香りが周囲に満ちていく。戦闘中だった場合、闘争心を失わせるキノコの香りで敵味方ともに剣を収め強制的に戦闘終了となる。戦闘中ではなかった場合は[知力-6]判定に失敗すると香りをまともにかいで闘争心を失ってしまい、シナリオ終了まであらゆる致傷力に-5のペナルティ。有効:「犬の鼻」「自然と生きる」【賢人の知恵】",
931
- "突然上から木の蔓が誰かを吊り上げて首を絞めようとする!ランダムなPC1人は[感覚-#{[3, 4, 5, 7, 10][difficulty]}]判定を行い、失敗すると「#{['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300'][difficulty]}」点の防護点無視ダメージを受け、そのラウンド中は行動も〔回避〕も行えない。有利な特異点「自然と生きる」をもつPCが対象になった場合は何も起きない。有効:【野伏の歩み】",
932
- "巧妙なベアトラップが仕掛けてある。ランダムなキャラクター1人(エネミーも含む)に「#{['3D6+10', '3D6+20', '3D6+30', '3D6+50', '200'][difficulty]}」点の「斬撃」属性ダメージを与え、〔移動〕〔回避〕を0にする。このトラップにかかったキャラクターか隣接したキャラクターが行動を消費して[感覚-#{[6, 8, 10, 12, 20][difficulty]}]判定に成功すれば解除可能。有効:【盗賊の心得】【ロックスミス】",
933
- "突然前も見えないほどのスコールに見舞われる!敵味方全員の攻撃や【特技】の射程が全て1になってしまう。森林「3-6」の山火事が起きていた場合、鎮火する。",
934
- "ランダムなPC1人が巨大な食虫植物に喰われてしまう!幸いすぐに助け出すことができたのだが、鎧も服もボロボロにされてしまう(イヤーン)喰われたPCが装備していた鎧はシナリオ終了まで使用不可能になる。",
935
- "すさまじい悪臭を放つ巨大な花だ!あまりの悪臭にPCの装備していた「ペット」は全て気絶してシナリオ終了まで使用不可能になる。なぜかギア製のペットももれなく気絶する。有利な得意点「犬の鼻」をもつPCがいれば近寄る前に回避可能。",
936
- ]
937
-
938
- when 6
939
- table = [
940
- "魔族の狩りで傷ついた狼を発見する。ラウンド終了までに〔HP〕を1点でも回復してやればふらふらと歩きだし、木の根元でここを掘れというように吠える。埋まっていたものは1D6を振って決定する。
941
- ----------
942
- 1:犬の糞(ゴミ)
943
- 2:10GP
944
- 3:財宝ランク#{[0, 2, 4, 6, 8][difficulty]}のアイテム
945
- 4:財宝ランク#{[1, 3, 5, 7, 9][difficulty]}のアイテム
946
- 5:財宝ランク#{[2, 4, 6, 8, 10][difficulty]}のアイテム
947
- 6:うぃっしゅすたー(大事なもの)",
948
- "少し開けた原っぱでフラウのダンスパーティーに誘われる。このイベントが発生するとエネミーは消滅する。行動を消費して[敏捷-#{[6, 8, 10, 12, 16][difficulty]}]判定に成功してダンスを踊ると原っぱの中心からすくすくと大きなキノコが育ち、キノコの馬車でダンジョンのゴール付近まで一気にすっとばしてくれる。第4ラウンドが終了したものと扱い、クリア時の財宝ランク+2。",
949
- "フラウたちが「森ガールファッションコンテスト」を開催しており、その助っ人を依頼される。このイベントが発生するとエネミーは消滅する。[意思-#{[6, 8, 10, 12, 20][difficulty]}]判定に成功すれば的確なアドバイスで助っ人を依頼したフラウを優勝に導くことができ、その謝礼として#{['狩人の羽根帽子(装飾品)', '緊急召喚の宝珠(装飾品)', '毒の香水瓶(装飾品)', '女王の花冠(装飾品)', '魔将樹のドレス(鎧)'][difficulty]}を入手できる。",
950
- "霊樹の花にたまった水が神秘的な魔力を帯びている。[知力-6]判定に成功するとそれにポーションとしての効果があることがわかり、奇跡のポーション(消耗品)を入手する。【ポーションナレッジ】を習得したPCがいれば判定不要。有効:【賢人の知恵】",
951
- "迷子のフラウを見つける。4ラウンド目が終了するまでに他のフラウに出会うイベントが発生した場合、偶然にもそのフラウと知り合いで、お礼に財宝ランク#{[3, 5, 7, 9, 11][difficulty]}のアイテムを渡してくれる。フラウに出会えずシナリオをクリアした場合も、迷宮からひとまず出ることができたお礼に財宝ランク#{[1, 3, 5, 7, 9][difficulty]}のアイテムを渡してくれる。",
952
- "ランダムに選んだPC1人が、うっかり泉に武器を落としてしまう。すると泉から女神が出現して、落とした武器と同じ種類の超高級品の武器(魔将ドロップ品など)を落としたかどうかを聞いてくる。[意思#{['', '-2', '-4', '-6', '-8'][difficulty]}]判定に成功すれば正直に答え、武器に#{[5000, 10000, 30000, 50000, 100_000][difficulty]}GPまでの任意のアタッチメントを追加してくれる。失敗すると嘘をついて女神を怒らせてしまい、装備していた武器を失ってしまう。",
953
- ]
954
-
955
- else
956
- return nil
957
- end
958
-
959
- when 6
960
- areaText = "墓場"
961
- case type
962
- when 1
963
- table = [
964
- "回復の泉。PC全員の〔HP〕〔FP〕が完全に回復する。「★死亡」以外のあらゆるBSも回復する。",
965
- "「彼らは生前の思いが強すぎ成仏できません。語りかけて鎮めてやるとよいでしょう…」アズマ風の墓石が佇んでいる。[知力-#{[3, 6, 9, 12, 16][difficulty]}]判定か[意思-#{[3, 6, 9, 12, 16][difficulty]}]判定に成功するとアズマ式お祈りや語りかけにより霊に感謝され、〔HP〕〔FP〕とFtが全回復する。失敗すると霊を怒らせて呪われ、全員のFtが1点減少する。有効:【賢人の知恵】(知力)【詩人の交渉術】(意思)",
966
- "墓守の休憩所を見つける。心の落ち着くお線香の香りがする…。〔HP〕〔FP〕#{[10, 15, 20, 25, 30][difficulty]}点とBSを回復する。更にシナリオ終了まで〔抵抗〕に+2のボーナス。",
967
- "「人間か。キミたちはここの亡者のようにならないようにね…」ヒガンバナの世話をするフラウと出会い、「ヒガンバナの毒」を武器に塗ってもらうことができる。物理攻撃の致傷力に+5のボーナス。",
968
- "シルヴァテイルのネクロマンサー達が集まって、何やら怪しい儀式をしている。道中で「★死亡」した、もしくは保険を適用して強制送還されたキャラクターがいれば、〔HP〕〔FP〕とBSが全回復した状態で復活させてもらうことができる。それ以外の場合は不気味な儀式に不安を感じ、FPを1点失う。",
969
- "回復の泉があるのだが…?PCのうち1人でも〔HP〕〔FP〕のいずれかが減少している場合このイベントは拒否できない。PC全員の〔HP〕〔FP〕が完全に回復する。「★死亡」以外のあらゆるBSも回復する。黄泉の国の水を飲んだことでシナリオ終了まで「分類:アンデッド」となり、【死者に鞭】【アマテラスの光】などの、一部の【特技】の効果を受ける。",
970
- ]
971
-
972
- when 2
973
- table = [
974
- "財宝ランク#{[0, 2, 4, 6, 8][difficulty]}の宝箱を発見する。カギやトラップはかかっていない。行動を消費することで開けることができる。",
975
- "財宝ランク#{[1, 3, 5, 7, 9][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12, 20][difficulty]}のカギがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12, 20][difficulty]}]判定でカギを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
976
- "財宝ランク#{[1, 3, 5, 7, 9][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12, 20][difficulty]}のトラップがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12, 20][difficulty]}]判定でトラップを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
977
- "骸が何かを大事そうに握りしめている(抱きかかえている)。行動を消費して[体力-#{[2, 4, 6, 10, 15][difficulty]}]判定に成功すれば、財宝ランク#{[2, 4, 6, 8, 10][difficulty]}のアイテムを入手できるが、Ftが1点減少する。",
978
- "ミミックの罠。ランダムなキャラクターに「3D+#{[30, 50, 70, 100, 300][difficulty]}」の「斬撃」属性ダメージを与える。[知力-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すればこの罠を見抜いて無効化でき、なおかつ#{[1000, 2000, 5000, 10000, 30000][difficulty]}GPを入手可能。有効:【盗賊の心得】【ロックスミス】",
979
- "トレジャーイーターの罠。冒険中に入手したアイテム(消耗品・GP以外)を全て失う。[知力-#{[3, 6, 9, 12, 20][difficulty]}]判定に成功すればこの罠を見抜いて無効化することができ、なおかつ#{[1000, 2000, 5000, 10000, 30000][difficulty]}GP入手可能。",
980
- ]
981
-
982
- when 3
983
- table = [
984
- "ちょっとなにか出そうな、柳の木でできたトンネルを発見する。PC全員が[意思]判定を行い、全員成功した場合はクリア時の財宝ランク+1。最も成功度の低かった(失敗度の大きかった)PCは揺れる柳を幽霊と思い込み、4ラウンド終了まであらゆる判定に-2のペナルティ。",
985
- "石畳の道を歩いている途中で朽ちた祠を発見する。何かお供え物をしたほうが良いだろうか?アイテム欄の消耗品1つをお供えすると祠が動いて地下通路が出現する!この通路を通ることで近道できて、クリア時の財宝ランク+1。",
986
- "道が途切れ、草が伸び放題の荒れ地に出る。方向もわからず、進むには骨が折れそうだ…[体力-#{[2, 4, 6, 8, 12][difficulty]}]判定を行い、成功すればクリア時の財宝ランク+1。失敗するとクリア時の財宝ランク-1。",
987
- "どこまでも卒塔婆とススキしかない…同じ景色が続き、進んでいるか怪しくなる。1D6を振って1~3が出れば何もないが、4~6が出るとクリア時の財宝ランク-1。有利な特異点「天体時計」があればペナルティは受けない。",
988
- "地面から突如骨の手が伸びて足を掴んでくる!PC全員が[移動#{['+4', '+2', '', '-2', '-5'][difficulty]}]判定を行い、クリア時の財宝ランクが「失敗した人数」分減少する。【死者に鞭】を持つPCがいれば骨は威圧されて引っ込み、この効果は無視できる。",
989
- "先へ進む道には纏わりつくような死者の呪いが満ちている。直進するとシナリオ終了まであらゆる判定に-2のペナルティ。遠回りをすると悪影響は受けないがクリア時の財宝ランク-2。【死者に鞭】か【鎮魂の盾】を持つPCがいれば呪いをはねつけ、直進してもペナルティを受けない。",
990
- ]
991
-
992
- when 4
993
- table = [
994
- "墓場に浮かんでいた人魂が突如魔物になって襲いかかってきた!エネミーとエンカウント。エネミーが使用する【狐の送り火】のデータを「疲労:なし」に変更。",
995
- "朽ちていた骨が突如起き上がり襲いかかってきた!エネミーとエンカウント。このエネミーは業物の武器を持っており、物理攻撃の致傷力に+#{[5, 10, 15, 20, 200][difficulty]}のボーナス。",
996
- "不吉な歌を口ずさみ、ステップを踏みながらかわいらしい少女が近づいてくる。エネミーとエンカウント。エネミーの【華劇】はは最初から使用された状態になっており、【華劇】の効果に応じた強化がエネミー全員に適用される。",
997
- "遠くから不吉な進軍の音を聞く。PC全員が[感覚-#{[2, 4, 6, 8, 10][difficulty]}]判定を行い、誰か1人でも成功すれば、第二魔将グレヴディガーの軍勢が迫っているのを知る。全員判定に失敗してしまうとPCは第二魔将グレイヴディガーとその配下である無数の亡霊騎士団と相対することになる。#{['「保険」に入っていなければPCたちは死亡して、グレイヴディガーの配下にさせられてしまう。君たちの冒険はここで終了だ。', '「保険」に入っていなければPCたちは死亡して、グレイヴディガーの配下にさせられてしまう。君たちの冒険はここで終了だ。', '「保険」に入っていなければPCたちは死亡して、グレイヴディガーの配下にさせられてしまう。君たちの冒険はここで終了だ。', 'エネミーとエンカウント。', 'エネミーとエンカウント(魔将オリジン実装後)。オリジン未実装の場合はイベントの振り直しを行う。'][difficulty]}有効:「狐の耳」「虫の知らせ」",
998
- "「我らの眠りを妨げるものは誰だ…!」貴族の棺とそれを守る人形だ。墓荒らしには容赦なく襲い掛かる!エネミーとエンカウント。棺の中には貴金属が入っており、一部エネミーの通常ドロップの金額が増加する。",
999
- "壁に埋まった10mはあろうかという巨大な蛇の骨が動き出し襲い掛かってくる!エネミーとエンカウント。",
1000
- ]
1001
-
1002
- when 5
1003
- table = [
1004
- "PC全員に墓から突然幻影が襲いかかる。幻影なので実害はないのだが、本当の攻撃と思って「パリイ」か「シールド」を1回消費してしまう。どちらも行えない場合、腰を抜かして「☆転倒」を受ける。【トゥルービジョン】などがかかっているPCには無効。",
1005
- "「ひひっ、かかったなボケが!」理不尽にもギロチンが突如ランダムなPC1人に落ちてくる!「ドッジ-#{[4, 6, 8, 10, 20][difficulty]}」判定を行い、失敗すると「#{['3D6+40', '3D6+60', '3D6+80', '3D6+120', '400'][difficulty]}」点の「斬撃」属性ダメージを受ける。",
1006
- "「すいっちおーん。私達の仲間にしてやるよ!」用途不明の建物に迷い込んでしまったが…なんてこった、ここは火葬場だ!早く脱出しないと灰になるまで焼かれてしまうぞ!PC全員が「#{['3D6+30', '3D6+40', '3D6+50', '3D6+70', '300'][difficulty]}」点の「火炎」属性ダメージを受ける。〔移動〕が#{[8, 9, 10, 12, 16][difficulty]}以上のPCは何とか逃げ出しダメージを受けず、さらに自分より[体力]の低いキャラクター1人を連れて脱出可能。有効:【盗賊の心得】【ロックスミス】",
1007
- "墓石が動き出し中から何かが出てこようとしている![体力-#{[4, 6, 8, 10, 15][difficulty]}]判定に成功すればなにも起こらないが、失敗すると探索中に倒されたエネミーの中で最もCLが高いエネミーが再度出現する。該当モンスターが存在しなかった場合は、昼寝をしていたフラウが出てくるだけ。",
1008
- "金の亡者のゾンビが群がってくる。金を渡してやるまで満足しそうにない…#{[1000, 2000, 4000, 8000, 20000][difficulty]}GPを支払うと満足して去っていくが、支払いを拒否した場合(もしくはお金が足りなかった場合)はPC全員が「#{['3D6+10', '3D6+20', '3D6+30', '3D6+50', '200'][difficulty]}」の「打撃」属性ダメージを受ける。【死者に鞭】を持つPCがいればひと睨みでそそくさと去っていく。",
1009
- "「おやおや。死者に気に入られましたか…困りましたねえホッホッ」ランダムなPC1人の武器が死者の怨念を吸い取り魔剣となる!魔剣は攻撃力に+5のボーナスを得るが、装備していると〔HP〕の最大値が10点減少する。魔剣となった武器は売却不可能で、不要な場合は捨てるしかない。すでに魔剣となっている武器と、【特技】によって入手した武器は魔剣にならない。",
1010
- ]
1011
-
1012
- when 6
1013
- table = [
1014
- "雷が突然鳴り響く。敵味方全員が3D6を振り、出目が一番高いキャラクターは「#{['3D6+30', '3D6+50', '3D6+70', '3D6+100', '350'][difficulty]}」点の「電撃」属性ダメージを受ける。",
1015
- "「いいところに来たナ。どうだ、お前らも飲んでいくカ?」タルの上に腰かけ、減ることのない酒を口に運び続けるスケルトンがいる。このイベントが発生するとエネミーは消滅する。酒を飲む場合、行動を消費して[意思#{['', '-1', '-2', '-4', '-8'][difficulty]}]判定を4回連続で行う。全て成功すると、「ついに酒が切れたカ、最後の晩酌に付き合ってもらって感謝するゼ」と感謝を述べて消滅し、あとには財宝ランク#{[3, 5, 7, 9, 11][difficulty]}のアイテムが残る。途中で1度でも失敗した場合、酒に悪酔いしてシナリオ終了まであらゆる判定に-2のペナルティ。",
1016
- "怪しい輝きを放つ宝石を発見する。手にとったPCは呪われてシナリオ終了まであらゆる判定に-2のペナルティ。手に取らない場合は全員に[意思#{['', '-1', '-2', '-3', '-6'][difficulty]}]判定が必要で、不利な特異点「金の亡者」「好奇心は猫を殺す」があるとこの[意思]判定に-4のペナルティ。無事持ち帰った場合呪いは解け、#{[2000, 6000, 20000, 60000, 150_000][difficulty]}GPで売却できる。",
1017
- "朽ちたギアの墓場だ。まだ使えるギアがあるかもしれない。【魔導工学のススメ】があれば、SLvに応じたアイテムが1つ入手可能。
1018
- ----------
1019
- SLv1:カラクリバランサー(装飾品)
1020
- SLv2:カラクリお茶キット(装飾品)
1021
- SLv3:ゴーレムアーム(装飾品)
1022
- #{['', 'SLv4:ホイールブースター(装飾品)', 'SLv4:ホイールブースター(装飾品)', 'SLv4:ホイールブースター(装飾品)', 'SLv4:ホイールブースター(装飾品)'][difficulty]}
1023
- #{['', '', 'SLv5:ナグルファル装甲(装飾品)', 'SLv5:ナグルファル装甲(装飾品)', 'SLv5:ナグルファル装甲(装飾品)'][difficulty]}
1024
- #{['', '', '', 'SLv6:死者の止まらない歯車(装飾品)', 'SLv6:死者の止まらない歯車(装飾品)'][difficulty]}
1025
- #{['', '', '', '', 'SLv7:特別アタッチメント券(大事なもの)'][difficulty]}",
1026
- "「ほーらよっといでーよっといでー、地獄の沙汰も金次第…」うすら寒い気配の漂う川辺に出る。川辺には渡し守らしき、ローブをかぶった2人の少女がいる。1人あたり#{[200, 500, 1000, 2000, 5000][difficulty]}GPを支払えばクリア時の財宝ランク+1。支払いを拒否したかお金が足りない場合、エネミーとエンカウント。",
1027
- "『千ノ戦イデ千ノ勝チヲ知ル者、ココニ眠ル』と刻まれた棺を見つける。棺を開けた場合はエネミーとエンカウント。勝利すると#{['キメラパーツ(装飾品)', 'キメラパーツ(装飾品)', 'グレートキメラパーツ(装飾品)', 'ウェポンマスターの証(装飾品)', 'ウェポンマスターの証(装飾品)'][difficulty]}を入手できる。不利な特異点「好奇心は猫を殺す」「脳みそ筋肉」を持つキャラクターは[意思]判定を行い、失敗すると棺を開けてしまう。",
1028
- ]
1029
-
1030
- else
1031
- return nil
1032
- end
246
+ TRAP_TABLE = [
247
+ Row.new("トライディザスター:宝箱から広範囲に火炎・冷気・電撃が放たれる罠。PC全員に「%s」の「火炎」「冷気」「電撃」属性ダメージ。", ['3D6+3', '3D6+50', '3D6+70', '3D6+100', '300']),
248
+ Row.new("ペトロブラスター:広範囲に石化光線を放つ罠。PC全員[抵抗-%s]判定を行い、失敗したPCはBS「石化」を受ける。", [2, 4, 6, 8, 10]),
249
+ Row.new("クロスボウストリーム:宝箱から矢の嵐が放たれる罠。PC全員に「%s」の「刺突」属性ダメージ。「ドッジ-%s」で〔回避〕が可能。", ['3D6+20', '3D6+40', '3D6+60', '3D6+90', '200'], [4, 6, 8, 10, 20]),
250
+ Row.new("フォーチュンイーター:PC全員の幸運を食らい、Ftを%s点減少させる。Ftが0の場合「%s」点の防護点無視ダメージ。", [1, 2, 3, 4, 5], ['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300']),
251
+ Row.new("スロット:解除に失敗しても害はないが、スロットが揃うまで開かない宝箱。スロットを1回まわすには%sGPが必要。行動を消費して[感覚-%s]判定に成功すればスロットは揃う。有利な特異点「ビビット反射」があれば判定に+4のボーナス。", [100, 300, 600, 1000, 10000], [4, 6, 8, 10, 15]),
252
+ Row.new("テレポーター:PC全員(とエンカウントしているエネミー)を転送して道に迷わせる。「財宝ランク」が1段階減少する。"),
253
+ Row.new("アイスコフィン:宝箱を開けようとしたキャラクターを氷漬けにする罠。対象1体に「%s」の「冷気」属性ダメージ。更にFPにも%s点の防護点無視ダメージ。", ['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300'], [5, 10, 15, 20, 30]),
254
+ Row.new("クロスボウ:宝箱を開けようとしたキャラクターに強力な矢が放たれる罠。対象1体に「%s」の「刺突」属性ダメージ。「ドッジ-%s」", ['3D6+20', '3D6+40', '3D6+60', '3D6+90', '200'], [4, 6, 8, 10, 20]),
255
+ Row.new("毒針:宝箱を開けようとしたキャラクターに毒針を突き刺す罠対象1体に%s点の防護点無視ダメージ。更に[抵抗-%s]判定に失敗するとシナリオ終了まであらゆる判定に-2のペナルティ。", [15, 30, 45, 60, 150], [4, 6, 8, 10, 15]),
256
+ Row.new("アラーム:即座にその地形のエンカウント表を振って、それに対応したエネミーが出現する。出現したエネミーはそのターンから行動順に組み込まれる。出現するエネミー以外の記述は無視する。"),
257
+ Row.new("殺人鬼の斧:宝箱を開けようとしたキャラクターに斧が振り下ろされる罠。対象1体に「%s」の「打撃」「斬撃」属性ダメージ。「ドッジ-%s」か「シールド-%s」で〔回避〕が可能。", ['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300'], [4, 6, 8, 10, 20], [4, 6, 8, 10, -20]),
258
+ Row.new("死神:宝箱を開けようとしたキャラクターに死神を取り憑かせる罠。4ラウンド目が終了するまであらゆる判定に-3のペナルティを受け、4ラウンド目の終了と同時に「%s」の防護点無視ダメージ。", ['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300']),
259
+ Row.new("幻の宝:宝箱に偽の財宝を入れ、本物の財宝を入手させない罠。トラップが発動すると価値の無い偽の宝物「幻の宝」を入手してしまう。「幻の宝」はアイテム欄を3つ占有し、シナリオ終了まで捨てられない。アイテム欄に空きがない場合は、何かを捨てて誰かが必ず持たなくてはならない。"),
260
+ Row.new("エクスプロージョン:宝箱が大爆発を起こし、中身を粉々にしてしまう罠。宝箱の中身は消滅する。PC全員に「%s」の「打撃」「火炎」属性ダメージ。", ['3D6+10', '3D6+30', '3D6+50', '3D6+80', '200']),
261
+ Row.new("レインボーポイズン:宝箱から七色の毒ガスが放たれる罠。PC全員に「%s」の防護点無視ダメージ。更にシナリオ終了まであらゆる判定に-2のペナルティ。[抵抗-%s]判定に成功すれば無効。", ['3D6+10', '3D6+30', '3D6+50', '3D6+80', '200'], [4, 6, 8, 10, 15]),
262
+ Row.new("デスクラウド:宝箱から致死性の毒ガスを放つ罠。PC全員を即死させる。[抵抗-%s]判定に成功すれば無効。", [2, 4, 6, 8, 12]),
263
+ ].freeze
1033
264
 
1034
- else
265
+ # 夢幻の迷宮トラップ表
266
+ def roll_trap_table(command)
267
+ m = /^TRAP([ENHLX])$/.match(command)
268
+ unless m
1035
269
  return nil
1036
270
  end
1037
271
 
1038
- result, event = get_table_by_1d6(table)
1039
- number = "#{area}#{type}#{event}"
272
+ difficality = Difficulty.new(m[1])
273
+ number = @randomizer.roll_sum(3, 6)
274
+ chosen = TRAP_TABLE[number - 3]
1040
275
 
1041
- return "#{tableName}(#{number}):#{areaText}<#{difficultyText}>:#{result}"
276
+ return "トラップ表<#{difficality.name}>(#{number}):#{chosen.format(difficality)}"
1042
277
  end
1043
278
 
1044
- # 夢幻の迷宮エネミーデータ表
1045
- def getRandomEnemyDataResult(command)
1046
- if command =~ /RED(E|N|H|L|X)(256|265|465|665|666)/
1047
- dif = Regexp.last_match(1)
1048
- area = 0
1049
- event = Regexp.last_match(2).to_i
1050
- number = event
1051
- elsif command =~ /RED(E|N|H|L|X)([1-6])4([1-6])/
1052
- dif = Regexp.last_match(1)
1053
- area = Regexp.last_match(2).to_i
1054
- event = Regexp.last_match(3).to_i
1055
- number = "#{area}4#{event}"
1056
- else
1057
- return nil
279
+ class D66Table
280
+ def initialize(name, rows)
281
+ @name = name
282
+ @rows = rows
1058
283
  end
1059
284
 
1060
- tableName = "エネミーデータ表"
1061
-
1062
- case dif
1063
- when "E"
1064
- difficultyText = "初級"
1065
- difficulty = 0
285
+ def roll(randomizer, difficality)
286
+ value = randomizer.roll_d66(D66SortType::NO_SORT)
287
+ chosen = @rows[value]
1066
288
 
1067
- when "N"
1068
- difficultyText = "中級"
1069
- difficulty = 1
1070
-
1071
- when "H"
1072
- difficultyText = "上級"
1073
- difficulty = 2
1074
-
1075
- when "L"
1076
- difficultyText = "悪夢"
1077
- difficulty = 3
289
+ "#{@name}<#{difficality.name}>(#{value}):#{chosen.format(difficality)}"
290
+ end
291
+ end
1078
292
 
1079
- when "X"
1080
- difficultyText = "伝説"
1081
- difficulty = 4
293
+ OPTION_TABLE = D66Table.new(
294
+ "迷宮追加オプション表",
295
+ {
296
+ 11 => Row.new("黄金の迷宮(財宝ランク+2):全てが黄金で彩られた迷宮。財宝ランクが大きく上昇する。"),
297
+ 12 => Row.new("密林の迷宮(財宝ランク+1):密林の中にひっそりとたたずむ迷宮。分類が「魔獣」「獣人」「霊獣」のエネミーが行うあらゆる判定に+2のボーナス。"),
298
+ 13 => Row.new("カラクリの迷宮:複雑なカラクリが周囲で絶え間なく動いている迷宮。分類「ギア」のエネミーが行うあらゆる判定に+2のボーナス。クリア時に「アタッチメント割引券」を全員が%s枚獲得。", [1, 2, 3, 5, 10]),
299
+ 14 => Row.new("フラウの舞踏会:あちこちに花畑のある迷宮。フラウが発生するランダムイベントが発生した際、「この迷宮を制覇して、私達が舞踏会を開けるようにしてね」とお願いされ、クリア時の報酬に%sが追加される。", ['「キノコの帽子」(装飾品)', '「猛毒の花」(装飾品)', '「フルブロウン」(鎧)', '「緊急召喚の宝珠」(装飾品)', '魔将樹の大剣(剣)']),
300
+ 15 => Row.new("アズマ風の迷宮:風流なアズマ風の迷宮。武器に「刀」を持つエネミーが行うあらゆる判定に+2のボーナス。クリア時に「アタッチメント割引券」を全員が%s枚獲得。", [1, 2, 3, 5, 10]),
301
+ 16 => Row.new("枯れた泉の迷宮:「全地形1-1」の回復の泉が全て枯れており、回復効果を得ることができない。「山岳1-6」の貴重な水源や、「水辺1-6」の毒の泉などはそのまま存在する。"),
302
+ 21 => Row.new("天空への道(財宝ランク+1):上へ上へと果てしなく登っていく迷宮。空気が薄くなって疲労しやすくなる。【特技】特技などによるFP消費が全て+3。"),
303
+ 22 => Row.new("灼熱焦土の迷宮(財宝ランク+1):とてつもなく暑く、あちこちで炎が燃え盛る迷宮。エネミーが行う「火炎」属性を含む攻撃の致傷力に+%sのボーナス。", [10, 20, 30, 50, 100]),
304
+ 23 => Row.new("灼熱焦土の迷宮(財宝ランク+1):とてつもなく寒く、気温が氷点下の迷宮。エネミーが行う「冷気」属性を含む攻撃の致傷力に+%sのボーナス。", [10, 20, 30, 50, 100]),
305
+ 24 => Row.new("盗賊王の迷宮:迷宮内での罠や鍵を解除する[感覚]判定に-3のペナルティ。4ラウンドまでに出現した宝箱の「財宝ランク」+1。"),
306
+ 25 => Row.new("ミミック狂暴化:「全地形2-5」のミミックの致傷力に+%sのボーナス。ミミックを見破った場合に得られるGPが%sGP増加する。", [20, 30, 50, 80, 150], [500, 1000, 3000, 5000, 20000]),
307
+ 26 => Row.new("トレジャーイーター狂暴化:「全地形2-6」のトレジャーイーターを見破る[知力]判定に-3のペナルティ。4ラウンドまでに出現した宝箱の「財宝ランク」+1。"),
308
+ 31 => Row.new("暗闇の迷宮:どこもかしこも真っ暗な迷宮。「猫の目」などがなければ視覚に関する[感覚]判定に-5のペナルティ。"),
309
+ 32 => Row.new("騒音の迷宮:常に大音量で謎の音楽(BGM)が鳴っている迷宮。聴覚に関する[感覚]判定に-5のペナルティ。"),
310
+ 33 => Row.new("未知の怪物の迷宮(財宝ランク+1):エネミーの姿がシルエットのみになる迷宮。エネミーのデータがいかなる手段でも判明させられなくなる。(通常通り〔HP〕〔FP〕〔先制〕は判明する)"),
311
+ 34 => Row.new("氾濫中の迷宮:大雨が降っており、川などが氾濫している迷宮。水泳を行う際の[敏捷]判定に-5のペナルティ。「森林3-6」の山火事イベントの効果は無視できる。"),
312
+ 35 => Row.new("間抜けの迷宮(財宝ランク+1):頭がおかしくなりそうな極彩色の迷宮。[知力][意志]判定に-2のペナルティ。[知力]や[意志]そのものが下がるわけではない。"),
313
+ 36 => Row.new("瘴気の迷宮(財宝ランク+1):生命力を奪う紫の霧で満ちた迷宮。〔HP〕の最大値に-%sのペナルティ。", [10, 20, 30, 40, 50]),
314
+ 41 => Row.new("加速する迷宮:狂ったように針の動く時計が多数された迷宮。「CT:安息の日」以外の【特技】が「CT:なし」になる。"),
315
+ 42 => Row.new("停滞する迷宮(財宝ランク+1):動かない時計が多数設置された迷宮。「CT:安息の日」以外のCTの存在する【特技】が「CT:シナリオ終了」になる。この効果はシナリオ終了まで持続する。"),
316
+ 43 => Row.new("猛毒の迷宮(財宝ランク+1):見るからに毒々しい紫色の沼があちこちにある迷宮。エネミーが行う、名称に「毒」もしくは「ポイズン」が入る【特技】や、名称に「毒」もしくは「ポイズン」が入るトラップの致傷力に+%sのボーナス。", [10, 20, 40, 50, 100]),
317
+ 44 => Row.new("死の迷宮(財宝ランク+2):死の運命から逃れることのできない、血まみれの迷宮。「生命保険証」の効果が適用されない。"),
318
+ 45 => Row.new("幸運の迷宮:何者かの加護を感じる迷宮。PC全員のFtの最大値と現在値に+1のボーナス。この効果はシナリオ終了まで持続する。"),
319
+ 46 => Row.new("不運の迷宮:PC全員のFt最大値と現在値に-1のペナルティ。この効果はシナリオ終了まで持続する。"),
320
+ 51 => Row.new("レアメタルの迷宮:非常にレアなエネミー「レアメタルキャンディー」「レアメタルクラウン」が生息している迷宮。キャンディークラウン(CL40)、ゴールデンクラウン(CL177)から獲得できる通常ドロップのGPが5倍になる。"),
321
+ 52 => Row.new("魔力の泉:PCとエネミーの双方が、〔FP〕を消費せずに【魔法】を使用できるようになる。最終的な消費〔FP〕が最大〔FP〕より大きい【魔法】は使用できない。"),
322
+ 53 => Row.new("ブルーの迷宮:陰鬱な気分になり、他のキャラクターと関わる気力を失う。PC全員が不利な特異点「嫌な奴」を1段階得る。"),
323
+ 54 => Row.new("レッドの迷宮:なぜか興奮して非常に好戦的になる。PC全員が不利な特異点「脳みそ筋肉」を得る。交戦中に「1:回復系」のイベントが発生しても戦闘を終了させることができない。"),
324
+ 55 => Row.new("ピンクの迷宮:なんだか身近な異性(同性も?)が気になって仕方なくなる。PC全員が不利な特異点「英雄色を好む」を得る。魔族も戦闘意欲を失い、「分類:魔族」のエネミーが出現するイベントは無視する。"),
325
+ 56 => Row.new("ハズレの迷宮(財宝ランク-1):ツギハギだらけの壁などでできた、ハリボテのような貧相な迷宮。宝箱の中身もなんだか貧相になる。"),
326
+ 61 => Row.new("ラダマンティスの迷宮(財宝ランク+2):第一魔将ラダマンティスの像が入口に設置された迷宮。全てのエネミーが行うあらゆる判定に+2のボーナス。また、「遺跡6-6」のイベントのダメージ+%s。", [20, 40, 60, 80, 150]),
327
+ 62 => Row.new("グレイヴディガーの迷宮(財宝ランク+2):第二魔将グレイヴディガーの像が入口に設置された迷宮。「分類:アンデッド」のエネミーが行うあらゆる判定に+5のボーナス。"),
328
+ 63 => Row.new("ハイペリオンの迷宮(財宝ランク+2):第三魔将ハイペリオンの像が入口に設置された迷宮。全てのエネミーが「ターン開始」時に〔HP〕を全回復する。"),
329
+ 64 => Row.new("ムスペルニヴルの迷宮(財宝ランク+2):勇ましくも美しい女性の像が設置された迷宮。エネミーが行う「火炎」もしくは「冷気」属性を含む攻撃の致傷力に+%sのボーナス。", [20, 40, 60, 80, 150]),
330
+ 65 => Row.new("ウェルスの迷宮:人懐っこそうなアズマ風の青年が設置された迷宮。シナリオ上で第五魔将の正体が明らかに鳴っている場合のみ、PC全員のFtの最大値と現在値に+5のボーナス。この効果はシナリオ終了まで持続する。"),
331
+ 66 => Row.new("バロールの迷宮(財宝ランク+2):第六魔将バロールの像が入口に設置された迷宮。「分類:ギア」のエネミーが行うあらゆる判定に+5のボーナス。"),
332
+ }
333
+ )
1082
334
 
1083
- else
335
+ # 夢幻の迷宮追加オプション表
336
+ def roll_random_option_table(command)
337
+ m = /^ROP([ENHLX])$/.match(command)
338
+ unless m
1084
339
  return nil
1085
340
  end
1086
341
 
1087
- case area
1088
- when 1
1089
- areaText = "洞窟"
1090
- table = [
1091
- [1, [
1092
- 'キャンディークラウン(CL40)1匹',
1093
- 'キャンディクラウン(CL40)「1D-3」匹(最低1匹)',
1094
- 'キャンディークラウン「1D-2」匹(最低1匹)出目が6だった場合ゴールデンクラウン(CL177)1匹',
1095
- 'ゴールデンクラウン(CL177)とエンカウント',
1096
- 'キャンディークラウン(CL40/オリジン)1匹'
1097
- ]],
1098
- [2, [
1099
- 'ベルセルク(CL7)3匹',
1100
- 'ベルセルク(CL7)3匹(〔命中〕+4、〔HP〕+30、〔FP〕+10、あらゆる致傷力+20)',
1101
- 'ベルセルク(CL7)3匹(〔命中〕+8、〔HP〕+60、〔FP〕+20、あらゆる致傷力+40)',
1102
- 'ベルセルク(CL7)3匹(〔命中〕+16、〔HP〕+120、〔FP〕+40、あらゆる致傷力+80)',
1103
- 'ベルセルク(CL7/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)'
1104
- ]],
1105
- [3, [
1106
- 'ガーゴイル(CL10)2匹',
1107
- 'ガーゴイル(CL10)2匹(〔命中〕+4、〔HP〕+20、〔FP〕+10、あらゆる致傷力と防護点+20)',
1108
- 'ガーゴイル(CL10)2匹(〔命中〕+8、〔HP〕+40、〔FP〕+20、あらゆる致傷力と防護点+40)',
1109
- 'ザッハーク(CL39)3匹',
1110
- 'ガーゴイル(CL10/オリジン)2匹(〔HP〕+500、あらゆる致傷力と防護点+100)'
1111
- ]],
1112
- [4, [
1113
- 'デビルホイール(CL18)1匹',
1114
- 'デビルホイール(CL18)1匹、あらゆる致傷力+20',
1115
- 'デビルホイール(CL18)1匹、あらゆる致傷力+40',
1116
- 'ムスペルヘイムの獣(CL65)、あらゆる防護点+20',
1117
- 'デビルホイール(CL18/オリジン)1匹(〔HP〕+1000、あらゆる致傷力+100)'
1118
- ]],
1119
- [5, [
1120
- 'ヘルハウンド(CL12)1匹、インプ(CL3)2匹',
1121
- 'フェニックス(CL25)2匹',
1122
- '火龍ヘルブレイザー(CL50)1匹、ケルベロス(CL33)1匹',
1123
- '煉獄龍バーガトリ(CL100)1匹',
1124
- 'ヘルハウンド(CL12/オリジン)1匹、インプ(CL3/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)'
1125
- ]],
1126
- [6, [
1127
- 'アイスメイデン(CL10)1匹、アイスリザード(CL7)2匹',
1128
- 'クリスタルビースト(CL25)2匹',
1129
- '氷河龍グレイシャル(CL65)1匹',
1130
- '冥界龍コキュートス(CL110)1匹',
1131
- 'アイスメイデン(CL10/オリジン)1匹、アイスリザード(CL7/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)'
1132
- ]],
1133
- ]
1134
-
1135
- when 2
1136
- areaText = "遺跡"
1137
- table = [
1138
- [1, [
1139
- 'スケルトン(CL3)、アルテミス(CL8)、スターゲイザー(CL10)、ヤシャ(CL10)、ヘルハウンド(CL12)、ゴーレム(CL13)',
1140
- 'ナイトスケルトン(CL12)、カラクリフラウ弐式(CL16)、コスモロジスト(CL20)、クリスタルビースト(CL25)、ミスリルゴーレム(CL27)',
1141
- 'コガラシ(CL27)、アダマンゴーレム(CL45)、アシュラ(CL48)、火龍ヘルブレイザー(CL50)、氷龍グレイシャル(CL65)',
1142
- 'ロックダンサー(CL39)、デスサジタリー(CL45)、コンゴウ(CL60)、カラクリヒメショーグン(CL75)、フェンリル(CL85)、ゴールデンクラウン(CL177)
1143
- ゴールデンクラウンが最後に残り【逃走】した場合ドロップ品は入手できない',
1144
- 'スケルトン(CL3/オリジン)、アルテミス(CL8/オリジン)、スターゲイザー(CL10/オリジン)、ヤシャ(CL10/オリジン)、ヘルハウンド(CL12/オリジン)、ゴーレム(CL13/オリジン)(〔HP〕+500、あらゆる致傷力+100)'
1145
- ]],
1146
- [2, [
1147
- 'アルテミス(CL8)3匹',
1148
- 'アルテミス(CL8)3匹(〔命中〕+4、〔HP〕+30、〔FP〕+20、あらゆる致傷力+20)',
1149
- 'アルテミス(CL8)3匹(〔命中〕+8、〔HP〕+60、〔FP〕+30、あらゆる致傷力+40)',
1150
- 'アルテミス(CL8)3匹(〔命中〕+16、〔HP〕+120、〔FP〕+40、あらゆる致傷力+80)',
1151
- 'アルテミス(CL8/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)'
1152
- ]],
1153
- [3, [
1154
- 'スターゲイザー(CL10)2匹',
1155
- 'コスモロジスト(CL20)2匹',
1156
- 'コスモロジスト(CL20)4匹',
1157
- 'デスサジタリー(CL45)2匹',
1158
- 'スターゲイザー(CL10/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)'
1159
- ]],
1160
- [4, [
1161
- 'ヤシャ(CL10)1匹、スケルトン(CL3)3匹',
1162
- 'ヤシャ(CL10)3匹(〔命中〕+4、〔HP〕+30、〔FP〕+10、あらゆる致傷力+15)',
1163
- 'アシュラ(CL48)2匹',
1164
- 'コンゴウ(CL60)2匹',
1165
- 'ヤシャ(CL10/オリジン)1匹、スケルトン(CL3/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)'
1166
- ]],
1167
- [5, [
1168
- 'ヘルハウンド(CL12)2匹',
1169
- 'クリスタルビースト(CL25)2匹',
1170
- '火龍ヘルブレイザー(CL50)1匹、氷河龍グレイシャル(CL65)',
1171
- '『単眼の巨神』アイングロース(CL100/ネームド)',
1172
- 'ヘルハウンド(CL12/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)'
1173
- ]],
1174
- [6, [
1175
- 'ゴーレム(CL13)1匹',
1176
- 'ミスリルゴーレム(CL27)1匹',
1177
- 'アダマンゴーレム(CL45)1匹',
1178
- 'カラクリヒメショーグン(CL75)1匹',
1179
- 'ゴーレム(CL13/オリジン)1匹(〔HP〕+1000、あらゆる致傷力+100)'
1180
- ]],
1181
- ]
1182
-
1183
- when 3
1184
- areaText = "山岳"
1185
- table = [
1186
- [1, [
1187
- 'アイアンプリチン(CL5)5匹',
1188
- 'アイアンプリチン(CL5)5匹(〔命中〕+4、〔HP〕+30、〔FP〕+10)',
1189
- 'アイアンプリチン(CL5)5匹(〔命中〕+8、〔HP〕+60、〔FP〕+20)',
1190
- 'アイアンプリチン(CL5)5匹(〔命中〕+16、〔HP〕+120、〔FP〕+40)',
1191
- 'アイアンプリチン(CL5/オリジン)5匹(〔HP〕+300、あらゆる致傷力+100)'
1192
- ]],
1193
- [2, [
1194
- 'ウイングスレイブ(CL4)5匹',
1195
- 'ウイングスレイブ(CL4)5匹(〔命中〕+4、〔HP〕+30、〔FP〕+10、あらゆる致傷力+20)',
1196
- 'ガルーダ(CL40)2匹',
1197
- '栄光の天使(CL60)2匹',
1198
- 'ウイングスレイブ(CL4/オリジン)5匹(〔HP〕+300、あらゆる致傷力+100)'
1199
- ]],
1200
- [3, [
1201
- 'ブラックナイト(CL10)1匹、ソルジャー(CL4)3匹',
1202
- 'デュラハン(CL22)1匹、ブラックナイト(CL10)2匹',
1203
- 'サーバントマスター(CL35)1匹、デュラハン(CL22)2匹',
1204
- 'ジェネラル(CL55)1匹、サーバントマスター(CL35)2匹',
1205
- 'ブラックナイト(CL10/オリジン)1匹、ソルジャー(CL4/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)'
1206
- ]],
1207
- [4, [
1208
- 'ソルジャーアント(CL8)2匹',
1209
- 'ソルジャーアント(CL8)2匹(〔命中〕+4、〔HP〕+30、〔FP〕+10、あらゆる致傷力+20)',
1210
- 'インペリアルアント(CL30)2匹',
1211
- '『女王キノコ』アカシックツリー(CL50/ネームド)1匹、インペリアルアント(CL30)2匹',
1212
- 'ソルジャーアント(CL8/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)'
1213
- ]],
1214
- [5, [
1215
- 'カボチャの魔女(CL8)2匹',
1216
- 'カボチャの魔女(CL8)2匹(〔命中〕+4、〔HP〕+30、〔FP〕+10、あらゆる致傷力+20)',
1217
- 'カボチャの大魔女(CL35)2匹',
1218
- '堕落の黒天使(CL60)2匹',
1219
- 'カボチャの魔女(CL8/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)'
1220
- ]],
1221
- [6, [
1222
- 'フェニックス(CL25)2匹',
1223
- 'フェニックス(CL25)2匹(〔命中〕+4、〔HP〕+40、〔FP〕+10、あらゆる致傷力+30)',
1224
- 'フェニックス(CL25)2匹(〔命中〕+8、〔HP〕+80、〔FP〕+20、あらゆる致傷力+60)',
1225
- '煉獄フェニックス(CL85)2匹',
1226
- 'フェニックス(CL25/オリジン)2匹(〔HP〕+1000、あらゆる致傷力+200)'
1227
- ]],
1228
- ]
1229
-
1230
- when 4
1231
- areaText = "水辺"
1232
- table = [
1233
- [1, [
1234
- 'フロストクラブ(CL6)2匹',
1235
- 'フロストクラブ(CL6)3匹',
1236
- '『氷海の主』ギガントキャンサー(CL20/ネームド)',
1237
- '『氷海の主』ギガントキャンサー(CL20/ネームド)、フロストクラブ(CL6)3匹',
1238
- 'フロストクラブ(CL6/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)'
1239
- ]],
1240
- [2, [
1241
- 'アシガル(CL4)3匹',
1242
- 'ハタモト(CL10)3匹',
1243
- 'ヒトキリ(CL33)2匹',
1244
- 'スカーレス(CL38)3匹',
1245
- 'アシガル(CL4/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)'
1246
- ]],
1247
- [3, [
1248
- 'アンブッシュマン(CL5)3匹',
1249
- 'アンブッシュマン(CL5)3匹(〔命中〕+4、〔HP〕+20、〔FP〕+10、あらゆる致傷力+10)',
1250
- 'シャドウストーカー(CL35)2匹',
1251
- 'シャドウストーカー(CL35)3匹',
1252
- 'アンブッシュマン(CL5/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)'
1253
- ]],
1254
- [4, [
1255
- 'アップルドール(CL12)2匹',
1256
- 'アップルドール(CL12)2匹、ポイズンリリー(CL7)2匹',
1257
- 'テラードール(CL30)2匹',
1258
- 'テラードール(CL30)2匹、バリアリーフ(CL27)2匹',
1259
- 'アップルドール(CL12/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)'
1260
- ]],
1261
- [5, [
1262
- 'ナイトライダー(CL15)1匹',
1263
- 'ナイトライダー(CL15)2匹',
1264
- 'ジェネラル(CL55)1匹',
1265
- 'ジェネラル(CL55)2匹',
1266
- 'ナイトライダー(CL15/オリジン)1匹(〔HP〕+800、あらゆる致傷力+100)'
1267
- ]],
1268
- [6, [
1269
- 'ジェルスケルトン(CL10)1匹',
1270
- 'ジェルスケルトン(CL10)1匹(〔命中〕+4、〔FP〕+10、あらゆる致傷力+20)',
1271
- 'ジェルスケルトン(CL10)1匹(〔命中〕+8、〔FP〕+20、あらゆる致傷力+40)',
1272
- 'ジェルスケルトン(CL10)1匹(〔命中〕+12、〔FP〕+40、あらゆる致傷力+80)',
1273
- 'ジェルスケルトン(CL10/オリジン)1匹(〔HP〕+1500、あらゆる致傷力+200)'
1274
- ]],
1275
- ]
1276
-
1277
- when 5
1278
- areaText = "森林"
1279
- table = [
1280
- [1, [
1281
- 'スナッチャー(CL4)3匹',
1282
- 'ゴールデンビースト(CL10)3匹',
1283
- 'ヨウコ(CL30)2匹',
1284
- 'イビルオーメン(CL42)2匹',
1285
- 'スナッチャー(CL4/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)'
1286
- ]],
1287
- [2, [
1288
- 'スターゲイザー(CL10)1匹、オーク(CL3)3匹',
1289
- 'スターゲイザー(CL10)1匹、ヘルハウンド(CL12)2匹',
1290
- 'コスモロジスト(CL20)1匹、ケルベロス(CL33)1匹',
1291
- 'サーバントマスター(CL35)1匹、ケルベロス(CL33)2匹',
1292
- 'スターゲイザー(CL10/オリジン)1匹、オーク(CL3/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)'
1293
- ]],
1294
- [3, [
1295
- 'オウルセージ(CL5)1匹、インプ(CL3)3匹。指定エネミー:オウルセージ',
1296
- 'オウルセージ(CL5)3匹。指定エネミー:オウルセージ',
1297
- 'オウルコマンダー(CL18)1匹、キメラ(CL15)2匹。指定エネミー:オウルコマンダー',
1298
- 'オウルコマンダー(CL18)2匹、キメラグレート(CL60)1匹。指定エネミー:オウルコマンダー',
1299
- 'オウルセージ(CL/オリジン5)1匹、インプ(CL3/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)。指定エネミー:オウルセージ'
1300
- ]],
1301
- [4, [
1302
- 'グリーンアクトレス(CL22)1匹',
1303
- '魔将樹の騎士(CL40)1匹',
1304
- '魔将樹の番人(CL80)1匹',
1305
- '『魔将樹の剣姫』ロジエモール(CL120/ネームド)1匹',
1306
- 'グリーンアクトレス(CL22/オリジン)1匹(〔HP〕+200、あらゆる致傷力+200、分類「ネームド」と【始原の力】を追加)'
1307
- ]],
1308
- [5, [
1309
- 'ポイズンリリー(CL7)1匹、リリーの尖兵(CL5)1匹',
1310
- 'ポイズンリリー(CL7)1匹、リリーの尖兵(CL5)1匹(〔命中〕+4、〔HP〕+30、〔FP〕+10、あらゆる致傷力+20)',
1311
- 'バリアリーフ(CL27)1匹、リリーの尖兵(CL5)1匹(〔命中〕+8、〔HP〕+60、〔FP〕+20、あらゆる致傷力+40)',
1312
- '『密林の女王』クイーンリリー(CL70/ネームド)1匹、リリーの尖兵(CL5)1匹(〔命中〕+16、〔HP〕+120、〔FP〕+40、あらゆる致傷力+80)',
1313
- 'ポイズンリリー(CL7/オリジン)1匹、リリーの尖兵(CL5/オリジン)1匹(〔HP〕+800、あらゆる致傷力+100)'
1314
- ]],
1315
- [6, [
1316
- 'ブラックナイト(CL10)1匹、ソルジャー(CL4)3匹',
1317
- 'ヴァルキリー(CL20)1匹、ブラックナイト(CL10)2匹',
1318
- 'フレイヤ(CL45)1匹、ヴァルキリー(CL20)2匹',
1319
- 'ジェネラル(CL55)1匹、フレイヤ(CL45)2匹',
1320
- 'ブラックナイト(CL10/オリジン)1匹、ソルジャー(CL4/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)'
1321
- ]],
1322
- ]
1323
-
1324
- when 6
1325
- areaText = "墓場"
1326
- table = [
1327
- [1, [
1328
- 'ヤコ(CL6)3匹(【狐の送り火】のデータを「疲労:なし」に変更)',
1329
- 'ヨウコ(CL30)1匹(【狐の送り火】のデータを「疲労:なし」に変更)',
1330
- 'ヨウコ(CL30)3匹(【狐の送り火】のデータを「疲労:なし」に変更)',
1331
- 'タタリドラゴン(CL60/ネームド)1匹(【狐の送り火】のデータを「疲労:なし」に変更)',
1332
- 'ヤコ(CL6/オリジン)3匹((〔HP〕+500、あらゆる致傷力+100、【狐の送り火】のデータを「疲労:なし」に変更)'
1333
- ]],
1334
- [2, [
1335
- 'スケルトン(CL3)4匹',
1336
- 'ナイトスケルトン(CL12)3匹',
1337
- 'ヒトキリ(CL33)2匹(「分類:アンデッド」を追加)',
1338
- '堕ちた黒龍(CL48)2匹',
1339
- 'スケルトン(CL3/オリジン)4匹(〔HP〕+500、あらゆる致傷力+200)'
1340
- ]],
1341
- [3, [
1342
- 'ポイズンリリー(CL7)1匹(【華劇:リリーオブザバレー】使用済み)、ファントム(CL5)2匹',
1343
- 'ポイズンリリー(CL7)1匹(【華劇:リリーオブザバレー】使用済み)、ゴースト(CL10)3匹',
1344
- 'グリーンアクトレス(CL22)1匹(【華劇:フォレストステップ】使用済み)、デュラハン(CL22)2匹',
1345
- 'グリーンアクトレス(CL22)1匹(【華劇:フォレストステップ】使用済み)、カラクリヒメショーグン(CL75)1匹',
1346
- 'ポイズンリリー(CL7/オリジン)1匹(【華劇:リリーオブザバレー】使用済み)、ファントム(CL5)2匹(〔HP〕+500、あらゆる致傷力+100)'
1347
- ]],
1348
- [4, [
1349
- '君たちの冒険はここで終了だ。',
1350
- '君たちの冒険はここで終了だ。',
1351
- '君たちの冒険はここで終了だ。',
1352
- '第二魔将『葬送者』グレイヴディガー(CL200/魔将)1匹、『ディガー様親衛隊長』フュネライユ(CL66/ネームド)1匹、『トラップマスター』アンテルモン(CL65/ネームド)1匹',
1353
- '[現在エネミー未実装の為振り直ししてください]',
1354
- ]],
1355
- [5, [
1356
- 'ゴースト(CL10)1匹(通常ドロップ「1000GP」)、ソルジャー(CL4)2匹',
1357
- 'ゴースト(CL10)1匹(通常ドロップ「2000GP」)、ハタモト(CL10)3匹',
1358
- 'リッチ(CL44)1匹(通常ドロップ「4000GP」)、ミスリルゴーレム(CL27)1匹',
1359
- 'エルダーリッチ(CL55)1匹(通常ドロップ「8000GP」)、アダマンゴーレム(CL45)1匹',
1360
- 'ゴースト(CL10/オリジン)1匹(通常ドロップ「1000GP」)、ソルジャー(CL4/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)'
1361
- ]],
1362
- [6, [
1363
- 'ボーンスネーク(CL20)1匹',
1364
- 'ボーンスネーク(CL20)2匹',
1365
- 'ラダマンティスの蛇(CL50)1匹',
1366
- 'ラダマンティスの蛇(CL50)1匹(ネームド仕様[HP4倍、【ネームドエネミー】習得])',
1367
- 'ボーンスネーク(CL20/オリジン)1匹(〔HP〕+1500、あらゆる致傷力+200)'
1368
- ]],
1369
- ]
1370
-
1371
- when 0
1372
- table = [
1373
- [256, [
1374
- 'ボーンスネーク(CL50)1匹',
1375
- 'ラダマンティスの蛇(CL50)1匹',
1376
- '銀河龍ラクテア/ドラゴン形態(CL90)1匹',
1377
- '『三つ首の災厄』トライディザスター(CL100/ネームド)1匹',
1378
- 'ボーンスネーク(CL50/オリジン)1匹(〔HP〕+2000、あらゆる致傷力+200)'
1379
- ]],
1380
- [265, [
1381
- 'キャンディークラウン(CL40)「1D6」匹',
1382
- 'キャンディークラウン(CL40)「1D6+1」匹',
1383
- 'キャンディークラウン(CL40)「1D6」匹、ゴールデンクラウン(CL177)1匹',
1384
- 'キャンディークラウン(CL40)「1D6」匹、ゴールデンクラウン(CL177)2匹',
1385
- 'キャンディークラウン(CL40/オリジン)「1D6」匹',
1386
- ]],
1387
- [465, [
1388
- 'リビングデッド(CL5)3匹',
1389
- 'ゴースト(CL10)3匹',
1390
- 'デュラハン(CL22)3匹',
1391
- 'リッチ(CL44)3匹',
1392
- 'リビングデッド(CL5/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)'
1393
- ]],
1394
- [665, [
1395
- 'カロン(CL12)2匹',
1396
- 'カロンキャプテン(CL25)2匹',
1397
- 'リッチ(CL44)2匹',
1398
- 'エルダーリッチ(CL55)2匹(〔HP〕+10)',
1399
- 'カロンキャプテン(CL25/オリジン)2匹'
1400
- ]],
1401
- [666, [
1402
- '『漆黒の戦鬼』ブラックナイト(CL10/ネームド)1匹',
1403
- '『漆黒の戦鬼』ブラックナイト(CL10/ネームド)1匹(〔命中〕+4、あらゆる致傷力+20、〔HP〕+200)',
1404
- '『白銀の猛将』ジェネラル(CL55/ネームド)1匹',
1405
- '『白銀の猛将』ジェネラル(CL55/ネームド)1匹(〔命中〕+4、あらゆる致傷力+20、〔HP〕+500)',
1406
- '[現在エネミー未実装の為振り直ししてください]'
1407
- ]],
1408
- ]
1409
- case event / 100
1410
- when 1
1411
- areaText = "洞窟"
1412
- when 2
1413
- areaText = "遺跡"
1414
- when 3
1415
- areaText = "山岳"
1416
- when 4
1417
- areaText = "水辺"
1418
- when 5
1419
- areaText = "森林"
1420
- when 6
1421
- areaText = "墓場"
1422
- else
1423
- return nil
1424
- end
342
+ difficality = Difficulty.new(m[1])
343
+ return OPTION_TABLE.roll(@randomizer, difficality)
344
+ end
1425
345
 
1426
- else
346
+ # 夢幻の迷宮ランダムイベント表
347
+ def roll_random_event_table(command)
348
+ m = /^(RAND|RENC)([ENHLX])([1-6])?$/.match(command)
349
+ unless m
1427
350
  return nil
1428
351
  end
1429
352
 
1430
- result = get_table_by_number(event, table)
353
+ type = m[1] == "RAND" ? nil : 4
354
+ difficulty = Difficulty.new(m[2])
355
+ area = m[3]&.to_i || @randomizer.roll_once(6)
1431
356
 
1432
- return "#{tableName}(#{number}):#{areaText}<#{difficultyText}>:#{result[difficulty]}"
357
+ table = EVENT_TABLES[area - 1]
358
+ return table.roll(@randomizer, difficulty, type: type)
1433
359
  end
1434
360
  end
1435
361
  end
1436
362
  end
1437
363
 
1438
364
  require "bcdice/game_system/filled_with/lot_tables"
365
+ require "bcdice/game_system/filled_with/enemy_data_tables"
366
+ require "bcdice/game_system/filled_with/event_tables"
1439
367
  require "bcdice/game_system/filled_with/cook_tables"
368
+ require "bcdice/game_system/filled_with/tresure_tables"