Class: BCDice::GameSystem::MeikyuKingdom

Inherits:
Base
  • Object
show all
Defined in:
lib/bcdice/game_system/MeikyuKingdom.rb,
lib/bcdice/game_system/meikyu_kingdom/tables.rb,
lib/bcdice/game_system/meikyu_kingdom/item_table.rb,
lib/bcdice/game_system/meikyu_kingdom/word_table.rb,
lib/bcdice/game_system/meikyu_kingdom/name_tables.rb,
lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb,
lib/bcdice/game_system/meikyu_kingdom/placename_table.rb,
lib/bcdice/game_system/meikyu_kingdom/kingdom_name_table.rb

Direct Known Subclasses

MeikyuKingdomBasic

Constant Summary collapse

ID =

ゲームシステムの識別子

'MeikyuKingdom'
NAME =

ゲームシステム名

'迷宮キングダム'
SORT_KEY =

ゲームシステム名の読みがな

'めいきゆうきんくたむ'
HELP_MESSAGE =

ダイスボットの使い方

<<~INFO_MESSAGE_TEXT
  ・判定 (nMK+m)
   n個のD6を振って大きい物二つだけみて達成値を算出します。修正mも可能です。
   絶対成功と絶対失敗も自動判定します。
  ・各種表
   ・散策表(〜RT):生活散策表 LRT/治安散策表 ORT/文化散策表 CRT/軍事散策表 ART/お祭り表 FRT
   ・休憩表(〜BT):才覚休憩表 TBT/魅力休憩表 CBT/探索休憩表 SBT/武勇休憩表 VBT/お祭り休憩表 FBT/捜索後休憩表 ABT/全体休憩表 WBT/カップル休憩表 LBT
   ・ハプニング表(〜HT):才覚ハプニング表 THT/魅力ハプニング表 CHT/探索ハプニング表 SHT
    /武勇ハプニング表 VHT
   ・王国災厄表 KDT/王国変動表 KCT/王国変動失敗表 KMT
   ・王国名決定表1/2/3/4/5 KNT1/KNT2/KNT3/KNT4
   ・痛打表 CAT/致命傷表 FWT/戦闘ファンブル表 CFT
   ・道中表 TT/交渉表 NT/感情表 ET/相場表 MPT
   ・お宝表1/2/3/4/5 T1T/T2T/T3T/T4T/T5T
   ・名前表 NAMEx (xは個数)
   ・名前表A NAMEA/名前表B NAMEB/エキゾチック名前表 NAMEEX/ファンタジック名前表 NAMEFA
   ・アイテム関連(猟奇戦役不使用の場合をカッコ書きで出力)
    ・デバイスファクトリー  DFT
    ・アイテムカテゴリ決定表 IDT
    ・アイテム表(〜IT):武具 WIT/生活 LIT/回復 RIT/探索 SIT/レア武具 RWIT/レア一般 RUIT
    ・アイテム特性決定表   IFT
   ・ランダムエンカウント表 nRET (nはレベル,1〜6)
   ・地名決定表    PNTx (xは個数)
   ・迷宮風景表    MLTx (xは個数)
   ・単語表1/2/3/4 WORD1/WORD2/WORD3/WORD4
  ・D66ダイスあり
INFO_MESSAGE_TEXT

Instance Attribute Summary

Attributes inherited from Base

#d66_sort_type, #default_cmp_op, #default_target_number, #randomizer, #reroll_dice_reroll_threshold, #round_type, #sides_implicit_d, #upper_dice_reroll_threshold

Instance Method Summary collapse

Methods inherited from Base

#change_text, #check_result, command_pattern, #enable_debug, #enabled_d9?, eval, #eval, #grich_text, prefixes_pattern, register_prefix, register_prefix_from_super_class, #sort_add_dice?, #sort_barabara_dice?

Methods included from Translate

#translate

Constructor Details

#initialize(command) ⇒ MeikyuKingdom

Returns a new instance of MeikyuKingdom.



62
63
64
65
66
67
# File 'lib/bcdice/game_system/MeikyuKingdom.rb', line 62

def initialize(command)
  super(command)

  @sort_add_dice = true
  @d66_sort_type = D66SortType::ASC
end

Instance Method Details

#eval_game_system_specific_command(command) ⇒ Object



190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
# File 'lib/bcdice/game_system/MeikyuKingdom.rb', line 190

def eval_game_system_specific_command(command)
  output = ""
  type = ""
  total_n = ""

  if (result = mayokin_check(command))
    return result
  end

  case command

  when /^NAMEA/i
    debug("namea passed")
    type = '名前A'
    total_n = @randomizer.roll_d66(D66SortType::ASC)
    output = mk_name_a_table(total_n)
  when /^NAMEB/i
    type = '名前B'
    total_n = @randomizer.roll_d66(D66SortType::ASC)
    output = mk_name_b_table(total_n)
  when /^NAMEEX/i
    type = 'エキゾチック名前'
    total_n = @randomizer.roll_d66(D66SortType::ASC)
    output = mk_name_ex_table(total_n)
  when /^NAMEFA/i
    type = 'ファンタジック名前'
    total_n = @randomizer.roll_d66(D66SortType::ASC)
    output = mk_name_fa_table(total_n)

  when /^NAME(\d*)/i
    type = '名前'
    count = getCount(Regexp.last_match(1))
    names = ""
    count.times do |_i|
      name, dice = mk_name_table
      names += "[#{dice}]#{name} "
    end
    output = names.strip
    total_n = count

  when /^PNT(\d*)/i
    type = '地名'
    count = getCount(Regexp.last_match(1))
    output = mk_pn_decide_table(count)
    total_n = count

  when /^MLT(\d*)/i
    type = '地名'
    count = getCount(Regexp.last_match(1))
    output = mk_ls_decide_table(count)
    total_n = count
  when /^DFT/i
    type = 'デバイスファクトリー'
    output = mk_device_factory_table()
    total_n = 1
  when /^LRT/i
    type = '生活散策'
    output, total_n = mk_life_research_table
  when /^ORT/i
    type = '治安散策'
    output, total_n = mk_order_research_table
  when /^CRT/i
    type = '文化散策'
    output, total_n = mk_calture_research_table
  when /^ART/i
    type = '軍事散策'
    output, total_n = mk_army_research_table
  when /^FRT/i
    type = 'お祭り'
    output, total_n = mk_festival_table

    # 休憩表(2D6)
  when /^TBT/i
    type = '才覚休憩'
    output, total_n = mk_talent_break_table
  when /^CBT/i
    type = '魅力休憩'
    output, total_n = mk_charm_break_table
  when /^SBT/i
    type = '探索休憩'
    output, total_n = mk_search_break_table
  when /^VBT/i
    type = '武勇休憩'
    output, total_n = mk_valor_break_table
  when /^FBT/i
    type = 'お祭り休憩'
    output, total_n = mk_festival_break_table
    # ハプニング表(2D6)
  when /^THT/i
    type = '才覚ハプニング'
    output, total_n = mk_talent_happening_table
  when /^CHT/i
    type = '魅力ハプニング'
    output, total_n = mk_charm_happening_table
  when /^SHT/i
    type = '探索ハプニング'
    output, total_n = mk_search_happening_table
  when /^VHT/i
    type = '武勇ハプニング'
    output, total_n = mk_valor_happening_table
    # お宝表
  when /^MPT/i
    type = '相場'
    output, total_n = mk_market_price_table
  when /^T1T/i
    type = 'お宝1'
    output, total_n = mk_treasure1_table
  when /^T2T/i
    type = 'お宝2'
    output, total_n = mk_treasure2_table
  when /^T3T/i
    type = 'お宝3'
    output, total_n = mk_treasure3_table
  when /^T4T/i
    type = 'お宝4'
    output, total_n = mk_treasure4_table
  when /^T5T/i
    type = 'お宝5'
    output, total_n = mk_treasure5_table

    # アイテム表
  when /^RWIT/i
    type = 'レア武具アイテム'
    total_n = @randomizer.roll_d66(D66SortType::NO_SORT)
    output = mk_rare_weapon_item_table(total_n)
  when /^RUIT/i
    type = 'レア一般アイテム'
    total_n = @randomizer.roll_d66(D66SortType::NO_SORT)
    output = mk_rare_item_table(total_n)
  when /^WIT/i
    type = '武具アイテム'
    total_n = @randomizer.roll_d66(D66SortType::ASC)
    output = mk_weapon_item_table(total_n)
  when /^LIT/i
    type = '生活アイテム'
    total_n = @randomizer.roll_d66(D66SortType::ASC)
    output = mk_life_item_table(total_n)
  when /^RIT/i
    type = '回復アイテム'
    total_n = @randomizer.roll_d66(D66SortType::ASC)
    output = mk_rest_item_table(total_n)
  when /^SIT/i
    type = '探索アイテム'
    total_n = @randomizer.roll_d66(D66SortType::ASC)
    output = mk_search_item_table(total_n)
  when /^IFT/i
    type = 'アイテム特性'
    total_n = @randomizer.roll_sum(2, 6)
    output = mk_item_features_table(total_n)
  when /^IDT/i
    type = 'アイテムカテゴリ決定'
    total_n = @randomizer.roll_once(6)
    output = mk_item_decide_table(total_n)

    # ランダムエンカウント表
  when /^1RET/i
    type = '1Lvランダムエンカウント'
    total_n = @randomizer.roll_once(6)
    output = mk_random_encount1_table(total_n)
  when /^2RET/i
    type = '2Lvランダムエンカウント'
    total_n = @randomizer.roll_once(6)
    output = mk_random_encount2_table(total_n)
  when /^3RET/i
    type = '3Lvランダムエンカウント'
    total_n = @randomizer.roll_once(6)
    output = mk_random_encount3_table(total_n)
  when /^4RET/i
    type = '4Lvランダムエンカウント'
    total_n = @randomizer.roll_once(6)
    output = mk_random_encount4_table(total_n)
  when /^5RET/i
    type = '5Lvランダムエンカウント'
    total_n = @randomizer.roll_once(6)
    output = mk_random_encount5_table(total_n)
  when /^6RET/i
    type = '6Lvランダムエンカウント'
    total_n = @randomizer.roll_once(6)
    output = mk_random_encount6_table(total_n)

    # その他表
  when /^KDT/i
    type = '王国災厄'
    output, total_n = mk_kingdom_disaster_table
  when /^KCT/i
    type = '王国変動'
    output, total_n = mk_kingdom_change_table
  when /^KMT/i
    type = '王国変動失敗'
    output, total_n = mk_kingdom_mischange_table
  when /^CAT/i
    type = '痛打'
    output, total_n = mk_critical_attack_table
  when /^FWT/i
    type = '致命傷'
    output, total_n = mk_fatal_wounds_table
  when /^CFT/i
    type = '戦闘ファンブル'
    output, total_n = mk_combat_fumble_table
  when /^TT/i
    type = '道中'
    output, total_n = mk_travel_table
  when /^NT/i
    type = '交渉'
    output, total_n = mk_negotiation_table
  when /^ET/i
    type = '感情'
    output, total_n = mk_emotion_table

  when /^KNT(\d+)/i
    type = '王国名'
    count = getCount(Regexp.last_match(1))
    total_n = @randomizer.roll_d66(D66SortType::ASC)

    case count
    when 1
      output = mk_kingdom_name_1_table(total_n)
    when 2
      output = mk_kingdom_name_2_table(total_n)
    when 3
      output = mk_kingdom_name_3_table(total_n)
    end

  when /^WORD(\d+)/i
    type = '単語'
    count = getCount(Regexp.last_match(1))
    total_n = @randomizer.roll_d66(D66SortType::ASC)

    case count
    when 1
      output = mk_word_1_table(total_n)
    when 2
      output = mk_word_2_table(total_n)
    when 3
      output = mk_word_3_table(total_n)
    when 4
      output = mk_word_4_table(total_n)
    end

  when /^ABT/i
    type = '捜索後休憩'
    output, total_n = getAftersearchBreakTable()
  when /^WBT/i
    type = '全体休憩'
    output, total_n = getWholeBreakTable()
  when /^LBT/i
    type = 'カップル休憩'
    output, total_n = getLoversBreakTable()
  else
    return nil
  end

  if output != '1'
    return "#{type}表(#{total_n}) > #{output}"
  else
    return nil
  end
end

#getAftersearchBreakTableObject



550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 550

def getAftersearchBreakTable()
  get_table_by_2d6([
    "「おつとめ、ご苦労様です」同行する民たちが感謝の言葉をかける。《民の声》が1点回復する。",
    "「おい、サボるな」と仲間から怒られた。いやいや、こっちは今までマジメにやってましたよ。宮廷の中から好きなキャラクター1人を選ぶ。自分のそのキャラクターに対する《敵意》が1点上昇する。",
    "大漁大漁! 色々な素材が見つかる。肉、牙、革、木、鉄の素材(キャラクターシートの上の段の素材)を1個ずつ獲得する。",
    "そこは、もう、使い魔が探索してくれていたようだ。サンキュー相棒! この捜索の判定に【使い魔】を利用していれば、行動済みにならず、さらにもう1回行動を行うことができる。",
    "危険なトラップを見つけたが、なんとか無力化できた。任務完了。自分の《気力》が1点回復する。",
    "何も見つからなかったか、と思っていたら「いつも、ありがとう」と宮廷の仲間から声をかけられた。まぁ、何もない方がいいか。宮廷の中から好きなキャラクター1人を選ぶ。自分のそのキャラクターに対する《好意》が1点上昇する。",
    "「さすが! 素晴らしいお手並みだ」鮮やかな捜索に、仲間の見る目が変わる。宮廷の中から好きなキャラクター1人を選ぶ。そのキャラクターの自分に対する《好意》が1点上昇する。",
    "よしよし、これはいいものが見つかった。好きな素材を1d6個獲得する。この捜索の判定に【使い魔】を使用していれば、獲得数が1d6個上昇する。",
    "大漁大漁! 色々な素材が見つかる。衣料、魔素、機械、火薬、情報の素材(キャラクターシートの上の段の素材)を1個ずつ獲得する。",
    "うわ! 罠だ。余計なものまで見つけてしまった。宮廷全員は1d6点のダメージを受ける。",
    "「へぇ、こんなヤツだったのか」仲間の意外な一面を見つける。宮廷の中から好きなキャラクター1人を選ぶ。自分のそのキャラクターに対する《好意》か《敵意》を1点上昇させ、その属性を好きなものに変更できる。",
  ])
end

#getCount(countText) ⇒ Object



449
450
451
452
453
454
455
# File 'lib/bcdice/game_system/MeikyuKingdom.rb', line 449

def getCount(countText)
  if countText.empty?
    return 1
  end

  return countText.to_i
end

#getLoversBreakTableObject



582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 582

def getLoversBreakTable()
  table = [
    [11, "「あーもう、最悪!」仲良く休憩するつもりが、ひどい喧嘩になってしまう。この表の使用者のお互いに対する《好意》が0になり、その値の分だけお互いに対する《敵意》が上昇する。"],
    [12, "「何もかもがお前が悪かったのかッ!!」大きな誤解が生まれる。受け身キャラの攻め気キャラ以外に対する《敵意》がすべて0になり、その値の分だけ攻め気キャラに対する《敵意》が上昇する。"],
    [13, "「でさぁ、あの人のことなんだけど……」せっかく2人きりなのに、他人の話で盛り上がる。この表の使用者は、宮廷の中からこの表の使用者以外のキャラクター1人を選び、そのキャラクターに対する《好意》が1点上昇する。"],
    [14, "「へぇ、そんなのあるんだ」互いの好きなものについて語り合う。受け身キャラは、攻め気キャラの「好きなもの」1つを選ぶ。受け身キャラは、自分の「好きなもの」1つをそれに変更し、攻め気キャラへの《好意》が1点上昇する。"],
    [15, "「なぁ、オレのことどう思う?」思い切った質問! 受け身キャラは、攻め気キャラに対する《好意》か《敵意》を1点上昇させ、その属性を好きなものに変更できる。"],
    [16, "「だいじょうぶ? 無茶するんだから」少し前の失敗について色々と言われてしまう。ありがたいんだけど、少しムカつく。受け身キャラは、攻め気キャラに対する《好意》と《敵意》が1点ずつ上昇する。"],
    [22, "「え、もうこんな時間!?」一休みするつもりが、気がつくとかなり時間がたっている。宮廷の未行動キャラクターが全員行動済みになったら、通常の時間の経過に加え、さらに1クォーターが経過する。この表の使用者のお互いに対する《好意》が1点上昇する。また、宮廷のこの表の使用者2人に対する《敵意》が1点上昇する。"],
    [23, "「ねぇねぇ、これわかる?」何気ない質問だが、これは難しい。変な答えは出来ないぞ。攻め気キャラは、〔才覚〕で難易度9の判定を行う。成功すると、この表の使用者のお互いに対する《好意》が1点上昇する。失敗すると、なんとか危機を切り抜けることができるが、受け身キャラの攻め気キャラに対する《敵意》が1点上昇する。"],
    [24, "「おいおい、まずは落ち着け」配下同士が喧嘩を始めた。うまく仲裁しないと……。攻め気キャラは、〔魅力〕で難易度9の判定を行う。成功すると、この表の使用者のお互いに対する《好意》が1点上昇する。失敗すると、なんとか危機を切り抜けることができるが、受け身キャラの攻め気キャラに帯する《敵意》が1点上昇する。"],
    [25, "「オレが解除するからちょっと待ってろ」2人で休憩するつもりが、一緒にトラップにひっかかってしまった。互いの体が密着してしまう。攻め気キャラは、〔探索〕で難易度9の判定を行う。成功すると、この表の使用者のお互いに対する《好意》が1点上昇する。失敗すると、なんとか危機を切り抜けることができるが、受け身キャラの攻め気キャラに対する《敵意》が1点上昇する。"],
    [26, "「お前は後ろに下がってろ!」休憩中に怪物に襲われる。攻め気キャラは、〔武勇〕で難易度9の判定を行う。成功すると、この表の使用者のお互いに対する《好意》が1点上昇する。失敗すると、なんとか危機を切り抜けることができるが、受け身キャラの攻め気キャラに対する《敵意》が1点上昇する。"],
    [33, "「なぁ、さっきは悪かったな」誤解が解ける。この表の使用者のお互いに対する《敵意》が0になり、その値のぶんだけお互いに対する《好意》が上昇する。"],
    [34, "「これを言ったのはあなただけです。誰にも言わないでくださいね」受け身キャラが隠している夢や秘密を攻め気キャラが知ってしまう。受け身キャラの攻め気キャラに対する《好意》が1点上昇する。攻め気キャラの受け身キャラに対する《好意》の属性が「忠誠」に変わる。"],
    [35, "「これからも、よろしく頼むぜ。相棒」攻め気キャラが快活に微笑む。受け身キャラの攻め気キャラに対する《好意》が1点上昇する。攻め気キャラの受け身キャラに対する《好意》の属性が「友情」に変わる。"],
    [36, "「わ、わたしは、あなたのことが……」受け身キャラの思わぬ告白! 受け身キャラの攻め気キャラに対する《好意》が1点上昇する。攻め気キャラの受け身キャラに対する《好意》の属性が「愛情」に変わる。"],
    [44, "「大丈夫? 痛くないか?」互いに傷を治療しあう。この表の使用者は、お互いの自分に対する《好意》の分だけ、自分の《HP》を回復することができる。どちらかが《HP》が1点以上回復したら、この表の使用者のお互いに対する《好意》が1点上昇する。"],
    [45, "「この冒険が終わったら、伝えたいことが……あるんだ」攻め気キャラの真剣な言葉。え、それって……? 受け身キャラの攻め気キャラに対する《好意》が1点上昇する。エピローグに攻め気キャラが生きていれば、この表の使用者のお互いに対する《好意》が2点上昇する。ただし、以後このゲームの間、攻め気キャラが「致命傷表」を使用することになった場合、余分に1個サイコロを振り、その中からもっとも低い目2つを選んで、その結果を適用する。"],
    [46, "「蝕ッ!? ……って、どこ触ってるんですかッ!?」あたりが不意に暗くなり、思わず変なところを触ってしまう。攻め気キャラの受け身キャラに対する《好意》が2点上昇し、受け身キャラの攻め気キャラに対する《敵意》が2点上昇する。この表の使用者が持っている【星の欠片】1個を破壊すれば、このイベントをなかったことにできる。"],
    [55, "「これ、はんぶんこしない?」2人仲良く、アイテムを分け合う。この表の使用者が、使用するとなくなる回復アイテムを持っていれば、それを1個使用出来る。ただし、その効果の大賞は、この表を使用した2人に変更される。この表の使用者のお互いに対する《好意》が1点上昇する。"],
    [56, "「え? え? えぇぇぇぇッ!?」ふとした拍子に唇がふれあう。受け身キャラの攻め気キャラ以外に対する《好意》がすべて0になり、その値のぶんだけ攻め気キャラに対する《好意》が上昇する。"],
    [66, "「…………」気がつくとお互い、目をそらせなくなってしまう。そのまま顔を寄せ合い……。この表の使用者のお互いに対する《好意》が2点上昇し、その属性を「愛情」にする。"],
  ]

  value = @randomizer.roll_d66(D66SortType::ASC)
  return get_table_by_number(value, table), value
end

#getWholeBreakTableObject



566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 566

def getWholeBreakTable()
  get_table_by_2d6([
    "部屋の中から使えそうな装備をみつくろう。宮廷全員は、それぞれ好きなコモンアイテムのカテゴリを選び、そのランダムにコモンアイテムを1つ獲得する。そのアイテムにレベルがあれば、それは1レベルのものとなる。",
    "みんなで今後の作戦を練る。宮廷全員は、そのターンの間、あらゆる判定の達成値が1上昇する。",
    "手分けして物資の調達を行う。各キャラクターは、好きな素材を1d6個獲得できる。このとき、素材が揃っていれば、各キャラクターにつき1個までアイテムを作成することができる。",
    "体を休めながら他愛もない世間話に花が咲く。宮廷全員は、それぞれ宮廷の中から好きなキャラクター1人を選び、そのキャラクターに対する《好意》が1点上昇する。",
    "宮廷メンバーで交代で見張りを行い、疲労した配下たちを休ませる。《民の声》が宮廷の人数と同じ値だけ回復する。",
    "一行はしっかりと休息を取り、鋭気を養う。宮廷全員の《気力》が1点回復する。",
    "配下たちと一緒に体を休める。《民の声》が1d6点回復する。",
    "配下たちに見張りを任せ、体を休める。宮廷全員の《HP》がすべて回復する。",
    "緊急ミーティング! 国家運営に関してみんなで知恵を出し合う。《予算》を[宮廷の人数*1]MG獲得する。",
    "負傷した配下たちの治療を行う。宮廷全員の《配下》が1d6人回復する。",
    "宮廷の前に光り輝くアイテムが降臨する。レア武具アイテムかレア一般アイテムのどちらかを選ぶ。ランダムにそのアイテムを1つ選び、それを獲得する。",
  ])
end

#kiryoku_result(total_n, dice_list, diff) ⇒ Object



111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/bcdice/game_system/MeikyuKingdom.rb', line 111

def kiryoku_result(total_n, dice_list, diff)
  num_6 = dice_list.count(6)

  if num_6 == 0
    return ""
  elsif num_6 >= 2
    return " & 《気力》#{num_6}点獲得"
  end

  none6_list = dice_list.reject { |i| i == 6 }.sort

  maxDice1 = none6_list.pop.to_i
  maxDice2 = none6_list.pop.to_i
  debug("maxDice1", maxDice1)
  debug("maxDice2", maxDice2)

  debug("total_n", total_n)
  none6Total_n = total_n - 6 + maxDice2
  debug("none6Total_n", none6Total_n)

  none6Dice_n = maxDice1 + maxDice2
  debug("none6Dice_n", none6Dice_n)
  debug("diff", diff)
  none6DiceReuslt = (none6Total_n >= diff ? " > 成功" : " > 失敗")

  return " (もしくは) #{none6Total_n}#{none6DiceReuslt} & 《気力》1点獲得"
end

#mayokin_check(string) ⇒ Object



139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# File 'lib/bcdice/game_system/MeikyuKingdom.rb', line 139

def mayokin_check(string)
  debug("mayokin_check string", string)

  string = replace_text(string)

  m = /^S?((\d+)R6([+\-\d]*)(([>=]+)(\d+))?)/i.match(string)
  unless m
    return nil
  end

  string = m[1]
  diceCount = m[2].to_i
  modifyText = m[3]
  signOfInequality = m[5] || ""
  diff = m[6].to_i

  bonus = modifyText ? ArithmeticEvaluator.eval(modifyText) : 0

  dice_list = @randomizer.roll_barabara(diceCount, 6).sort
  dice_str = dice_list.join(",")

  dice1 = diceCount >= 2 ? dice_list[diceCount - 2] : 0
  dice2 = diceCount >= 1 ? dice_list[diceCount - 1] : 0
  dice_now = dice1 + dice2
  debug("dice1, dice2, dice_now", dice1, dice2, dice_now)

  total_n = dice_now + bonus
  dice_str = "[#{dice_str}]"

  output = "#{dice_now}#{dice_str}"
  if bonus > 0
    output += "+#{bonus}"
  elsif bonus < 0
    output += bonus.to_s
  end

  if output =~ /[^\d\[\]]+/
    output = "(#{string}) > #{output}#{total_n}"
  else
    output = "(#{string}) > #{total_n}"
  end

  if signOfInequality != "" # 成功度判定処理
    cmp_op = Normalize.comparison_operator(signOfInequality)
    output += result_2d6_text(total_n, dice_now, cmp_op, diff)
    output += kiryoku_result(total_n, dice_list, diff)
  end

  return output
end

#mk_army_research_tableObject

軍事散策表(2d6)



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 58

def mk_army_research_table
  get_table_by_2d6([
    "ダイナマイト帝国から使者が現れる。受け入れる場合、[軍事レベル/9]に成功すると(1d6)MG獲得、失敗すると維持費+(1d6)MG。この判定の難易度は、ダイナマイトとの関係が険悪なら+2、敵対なら+4される。使者を受け入れない場合、ダイナマイトとの関係が1段階悪化する。すでに関係が敵対なら、領土1つを失う",
    "長老から迷宮の昔話を聞く。このゲーム中、自分のレベル以下のモンスターを倒すと、そのモンスターをモンスターの《民》にすることができる。この効果は、そのゲーム中に1度だけ使用できる",
    "冒険に向かう君に期待の声がかかる。民たちの期待に、気持ちが引き締まる。このゲーム中、《器》が1点上昇する",
    "くだらないことで口論になる。宮廷の中から1人を選び、互いに対する《敵意》+1",
    "兵士たちの訓練の様子を見るが、武装がやや乏しい。ゲーム中に「牙」5個を獲得するたびに《民の声》+1。終了フェイズの収支報告までに1個も「牙」を獲得出来ないと、維持費+1MG",
    "旅人から隣国が軍備を拡張していると言う噂を聞く。ゲーム中に「鉄」5個を獲得するたびに《民の声》+1。終了フェイズの収支報告までに1個も「鉄」を獲得出来ないと、維持費+1MG",
    "近隣で凶悪なモンスターたちが大量発生していると言う。ゲーム中に「火薬」5個を獲得するたびに《民の声》+1。終了フェイズの収支報告までに1個も「火薬」を獲得出来ないと、維持費+1MG",
    "周辺諸国で戦争が勃発する。王国シートの既知の土地欄から2つの国を選び、両国間で戦争を行う。それぞれ「領土数+(1d6)」が戦力。大きい方が勝利して領土1つを獲得し、負けた方の国は領土を1つ失う。どちらかに援軍を送ることができる。[軍事レベル/9+戦う相手の領土数]の判定に成功すると戦力+(1d6)。勝敗に関係なく援軍を送った国との関係が1段階友好になり、戦った相手の国との関係が1段階悪化する",
    "隣国からの貢物が届く。[軍事レベル/11]の判定に成功すると、収支報告の時に価格の()内の数字が[領土の数×1]以下のレアアイテム1個を獲得する",
    "「こんなものを用意してみました」 [軍事レベル/11]の判定に成功すると、価格が自国の[生活レベル]以下の武具アイテム1個を1Lvで獲得できる",
    "あなたが他の出発を察知して、何者かが国を襲う![軍事レベル/11]の判定に成功するとあなたが他の武勇に歓声が上がり宮廷全員の気力+(1d6)。失敗すると、宮廷全員の《HP》と《配下》が(1d6)減少する",
  ])
end

#mk_artifact_landscape_table(num) ⇒ Object

人工風景表(D66)



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb', line 30

def mk_artifact_landscape_table(num)
  table = [
    [11, "石組みの部屋"],
    [12, "巨大な縦穴に刻まれた螺旋階段"],
    [13, "埃だらけの古い図書館"],
    [14, "古びた、素朴な祭壇"],
    [15, "歯車やピストンがやかましい動力室"],
    [16, "石組みの巨大な階段"],
    [22, "太い丸太で組まれた部屋"],
    [23, "作りかけの製品が放置された工房"],
    [24, "錆びた武器や骨が散らばる古戦場"],
    [25, "石組みのトイレ"],
    [26, "高い天井の厨房"],
    [33, "レンガで組まれた部屋"],
    [34, "静まりかえった劇場"],
    [35, "がらくたが散らばっているゴミ捨て場"],
    [36, "切り出し途中で放棄された巨大な石像"],
    [44, "壁画やタペストリーが残る大広間"],
    [45, "メトロ汗国の線路"],
    [46, "絵画や彫刻が展示してあるギャラリー"],
    [55, "石棺が並ぶ墓"],
    [56, "錆びついた扉が残る巨大な門"],
    [66, "放置された牢獄"],
  ]
  return get_table_by_number(num, table)
end

#mk_artifact_placename_table(num) ⇒ Object

人工系地名表(D66)



188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
# File 'lib/bcdice/game_system/meikyu_kingdom/placename_table.rb', line 188

def mk_artifact_placename_table(num)
  table = [
    [11, "城(キャッスル)"],
    [12, "壁(ウォール)"],
    [13, "砦(フォート)"],
    [14, "地帯(ゾーン)"],
    [15, "室(ルーム)"],
    [16, "の間(チャンバー)"],
    [22, "浴室(バス)"],
    [23, "畑(ファーム)"],
    [24, "館(ハウス)"],
    [25, "座(コンスティレィション)"],
    [26, "遺跡(ルイン)"],
    [33, "ヶ浜(ビーチ)"],
    [34, "塔(タワー)"],
    [35, "墓場(グレイブ)"],
    [36, "洞(ケイヴ)"],
    [44, "堂(バジリカ)"],
    [45, "野(フィールド)"],
    [46, "書院(スタディ)"],
    [55, "駅前(ステイション)"],
    [56, "房(クラスター)"],
    [66, "腐海(ケイオスシー)"],
  ]
  return get_table_by_number(num, table)
end

#mk_basic_decoration_table(num) ⇒ Object

基本表(D66)



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/bcdice/game_system/meikyu_kingdom/placename_table.rb', line 48

def mk_basic_decoration_table(num)
  table = [
    [11, "欲望(よくぼう)"],
    [12, "漂流(ひょうりゅう)"],
    [13, "黄金(おうごん)"],
    [14, "火達磨(ひだるま)"],
    [15, "災厄(さいやく)"],
    [16, "三日月(みかづき)"],
    [22, "絡繰り(からくり)"],
    [23, "流星(りゅうせい)"],
    [24, "棘々(とげとげ)"],
    [25, "鏡(かがみ)"],
    [26, "銀鱗(ぎんりん)"],
    [33, "螺旋(らせん)"],
    [34, "七色(なないろ)"],
    [35, "殉教(じゅんきょう)"],
    [36, "水晶(すいしょう)"],
    [44, "氷結(ひょうけつ)"],
    [45, "忘却(ぼうきゃく)"],
    [46, "幸福(こうふく)"],
    [55, "妖精(ようせい)"],
    [56, "霧雨(きりさめ)"],
    [66, "夕暮れ(ゆうぐれ)"],
  ]
  return get_table_by_number(num, table)
end

#mk_calture_research_tableObject

文化散策表(2d6)



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 41

def mk_calture_research_table
  get_table_by_2d6([
    "千年王朝から使者が現れる。受け入れる場合、[文化レベル/9]に成功すると《民の声》+(1d6)、失敗するとすると《民の声》-(1d6)。この判定の難易度は、千年王朝との関係が険悪なら+2、敵対なら+4される。使者を受け入れない場合、千年王朝との関係が1段階悪化する。すでに関係が敵対なら、領土1つを失う",
    "民が祭りの準備を進めている。シナリオの目的を果たしていれば、収支報告の時に[収支報告時の《民の声》-ゲーム開始時の《民の声》]MGを獲得できる。ただし、数値がマイナスになった場合は、その分維持費が上昇する",
    "都会に出て行った幼馴染から手紙がくる。王国の様子を知りたがっているようだ。シナリオの目的を果たしたら、終了フェイズにランダムなジョブの逸材1人を獲得する",
    "他のランドおメイカーの噂を聞く。宮廷から好きなキャラクター1人を選び、そのキャラクターに対する《好意》+1",
    "若者たちの有志が、街を発展させるため諸外国のことを勉強したいと言い出した。ゲーム中に「情報」5個を獲得するたびに《民の声》+1。終了フェイズの収支報告までに1個も「情報」を獲得出来ないと、維持費+1MG",
    "若い娘たちが、流行の衣装について楽しそうに話している。ゲーム中に「衣料」5個を獲得するたびに《民の声》+1。終了フェイズの収支報告までに1個も「衣料」を獲得出来ないと、維持費+1MG",
    "民たちが、君のうわさ話をしている。ゲーム中にあなたにたいして「恋人」「忠義」「親友」の人間関係が成立するたびに《民の声》+2。終了フェイズの収支報告までに1回も人間関係が成立できないと、維持費+1MG",
    "あなたに熱い視線が注がれているのを感じる。宮廷から好きなキャラクター1人を選び、そのキャラクターの自分に対する《好意》+1",
    "王国内を訪れる旅人たちを見かける。[文化レベル/9]の判定に成功すると、[憩いの施設の数×1]MGを獲得する",
    "「ご無事をお祈りしております……」 [文化レベル/11]の判定に成功すると、価格が自国の[生活レベル]以下の回復アイテム1個を1Lvで獲得できる",
    "王国の中の民たちの表情に制裁がない。暗い迷宮生活に倦んでいるようだ。[文化レベル/11]の判定に成功すると民を盛り上げる祭りを開き、《民の声》+(1d6)。失敗すると維持費+(1d6)",
  ])
end

#mk_cave_landscape_table(num) ⇒ Object

洞窟風景表(D66)



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb', line 58

def mk_cave_landscape_table(num)
  table = [
    [11, "岩肌がむき出しの洞穴"],
    [12, "コウモリや羽蟲が飛び交う洞穴"],
    [13, "放置された坑道"],
    [14, "誰かのキャンプ跡"],
    [15, "岩だらけで見通しのきかない空洞"],
    [16, "煙が吹きぬける洞穴"],
    [22, "どこからか水音が響く鍾乳洞"],
    [23, "光の衰えた星がまたたく幻想的な空洞"],
    [24, "流砂が流れる洞穴"],
    [25, "生物が掘った、つるつるした洞穴"],
    [26, "冷えきった氷の洞穴"],
    [33, "巨大な岩の隙間"],
    [34, "動物や狩を描いた素朴な壁画が続く洞穴"],
    [35, "巨大な空洞にかけられた自然の橋"],
    [36, "埋まりかけで天井すれすれの洞穴"],
    [44, "奈落と断崖絶壁"],
    [45, "壁がうごめく蟲でおおわれた洞穴"],
    [46, "無数の化石が埋まっている洞穴"],
    [55, "熱気を放つ溶岩が流れる空洞"],
    [56, "水晶でできた洞穴"],
    [66, "骨が散らばるなにものかの住処"],
  ]
  return get_table_by_number(num, table)
end

#mk_charm_break_tableObject

魅力休憩表(2d6)



92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 92

def mk_charm_break_table
  get_table_by_2d6([
    "妖精のワイン倉を発見し、酒盛りが始まる。宮廷全員の《気力》+1。[魅力/9]の判定に失敗すると、あなたは脱ぎ出す。(1d6)を振り、奇数なら宮廷全員のあなたに対する《好意》+1、偶数なら《敵意》+1",
    "休憩中、意外な寝言を言ってしまう。自分を除く宮廷全員は自分に対する《好意》と《敵意》を入れ替えることが出来る。また、その属性を自由に変更することができる",
    "床の冷たさから、ぬくもりを求めて身体を寄せ合う。あなたに《好意》を持っているキャラの数だけ《気力》と《HP》が回復する",
    "こっそり二人で抜け出して良い雰囲気に。その部屋の中に、好きなものが同じキャラが居ればそのキャラ1体を選び、互いに対する《好意》+1",
    "星の灯りがあなたの顔をロマンチックに照らし出す。その部屋にいる好きなキャラ1体を選び、[魅力/そのキャラのあなたに対する《好意》+9]の判定に成功すると、そのキャラのあなたに対する《好意》+1",
    "あいつと目が合う。[魅力/9]の判定に成功したら、宮廷内からランダムに1体選び、そのキャラから自分への《好意》か、または自分のそのキャラへの《好意》いづれかが+1される",
    "うたた寝をしていると誰かが毛布を掛けてくれた。ランダムにキャラを選び、自分のそのキャラへの《好意》+1",
    "たき火を囲みながら会話を楽しむ。GMの左隣にいるプレイヤーから順番に、自分のPCが《好意》を持っているキャラ1体を選ぶ。選ばれたキャラは《気力》+1。誰からも選ばれなかったキャラは《気力》-1、ランダムに選んだ宮廷内のキャラへの《敵意》+1",
    "着替えを覗かれる。宮廷内からランダムに1体選び、(1d6)を振る。奇数なら大声をだしてしまい宮廷全員のそのキャラに対する《敵意》+1、偶数ならそのキャラとあなたの互いの《好意》+1",
    "食べ物の匂いにつられたモンスターと遭遇する。ランダムエンカウント表でモンスターを決定する。[魅力/モンスターの中で最も高いレベル+3]の判定に成功した場合、そのモンスターたちと取引できる。失敗した場合戦闘に突入する",
    "ふとした拍子に唇が触れあう。好きなキャラ1体を選ぶ。そのキャラの自分以外への《好意》の合計を全て自分に対する《好意》に加える。その後、自分以外への《好意》を0にする",
  ])
end

#mk_charm_happening_tableObject

魅力ハプニング表(2d6)



211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 211

def mk_charm_happening_table
  get_table_by_2d6([
    "民同士の諍いに心を痛め、頭髪にもダメージが!【お酒】を消費することができなければ、このゲーム中[魅力]-1",
    "何気ない一言が不和の種に…。好きなキャラ1人を選び、宮廷全員のそのキャラに対する《敵意》+1",
    "あなたの美しさに嫉妬した迷宮が、あなたの姿を変える。「呪い」のバッドステータスを受ける",
    "かわいさ余って憎さ百倍。あなたに対する《好意》が最も高いキャラを1人選ぶ。そのキャラに対する《好意》の分だけそのキャラへの《敵意》を上昇させ、その後《好意》を0にする",
    "あなたを巡って不穏な空気が。宮廷全員のあなたに対する「愛情」の《好意》を比べ、高い順に2人選ぶ。その2人の互いに対する《敵意》+1",
    "いがみ合う宮廷を見て民の士気が減少する。宮廷全員のあなたに対する《敵意》の中で最も高い値と同じだけ《配下》が減少する",
    "宮廷に嫉妬の嵐が巻き起こる。宮廷の中で、あなたに対して愛情を持つキャラクターの数を数える。このゲームの間、行為判定を行うとき、ダイス目の合計がこの値以下なら絶対失敗となる(最低2)",
    "愛想を尽かされる。宮廷全員のあなたに対する《好意》-1(最低0)",
    "あなたの指揮に疑問の声が。[魅力/自分の《配下》の数]の判定に失敗すると[難易度-達成値]人だけ《配下》が減少する",
    "あなたの恋人だという異性が現れる。宮廷全員のあなたに対する《好意》を比べ、最も高いキャラ1人を選ぶ。あなたはそのキャラの[武勇]と同じだけ《HP》を減少させる",
    "他人が信用できなくなる。このゲームの間、協調行動を行えなくなり、人間関係のルールも使用できなくなる",
  ])
end

#mk_combat_fumble_tableObject

戦闘ファンブル表(2d6)



364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 364

def mk_combat_fumble_table
  get_table_by_2d6([
    "敵に援軍が現れる。敵軍の中で最もレベルの低いモンスターが(1d6)体増える。モンスター側がこの結果になった場合、好きなPCの《配下》+(1d6)",
    "敵の士気が大いに揺らぐ。自軍のキャラは全員1マス後退する",
    "勢い余って仲間を攻撃!自分の居るエリアからランダムに自軍のキャラを1体選び、そのキャラに使用している武器と同じ威力のダメージを与える",
    "つい仲間と口論になる。自軍の未行動キャラの中からランダムに1体選び、行動済みにする",
    "魔法の効果が消える。自軍のキャラが使用したスキルやアイテムの効果で、戦闘中持続するものが全て無効になる",
    "自分を傷つけてしまう。自分に(1d6)ダメージ",
    "攻撃の勢いを逆に利用される。自分の《HP》を現在値の半分にする",
    "アイテムを落とした。自分が装備しているアイテムからランダムに1個選び、破壊する。モンスター側の場合、自分に(1d6)ダメージ",
    "カーネルが活性化する。戦闘系とラップからランダムに1種類選び、それがその場に配置される",
    "空を切った攻撃に絶望する。自分と、自分に対して1点以上《好意》を持ったキャラ全員の《気力》-1。モンスター側の場合、自分に(1d6)ダメージ",
    "武器がすっぽ抜ける。攻撃に使用していたアイテムが破壊される。モンスター側の場合、自分に(1d6)ダメージ。その後、バトルフィールドにいるキャラの中からランダムに1体選び、そのキャラの《HP》を1点にする",
  ])
end

#mk_critical_attack_tableObject

痛打表(2d6)



296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 296

def mk_critical_attack_table
  get_table_by_2d6([
    "攻撃の手応えが武器に刻まれる。その攻撃に使用した武具アイテムにレベルがあれば、そのレベルが1点上昇する",
    "電光石火の一撃。攻撃の処理が終了したあと、もう一度行動できる",
    "相手の姿形を変えるほどの一撃。攻撃目標に「呪い」のバッドステータスを与える",
    "乾坤一擲!攻撃の威力が2倍になる",
    "相手を吹き飛ばす一撃。攻撃目標を好きなエリアに移動させる",
    "会心の一撃!攻撃の威力+(1d6)",
    "相手の勢いを利用した一撃。攻撃の威力が攻撃目標のレベルと同じだけ上昇する",
    "あと1歩まで追いつめる。ダメージを与える代わりに、攻撃目標の残り《HP》を(1d6)点にすることができる",
    "敵の技を封じる。攻撃目標のスキルを1種選び、その戦闘の間、そのスキルを未修得の状態にする",
    "怒りの一撃!攻撃の威力+(2d6)",
    "急所をとらえ一撃で切り伏せる。攻撃目標の《HP》を0にする",
  ])
end

#mk_decoration_table(num) ⇒ Object

修飾決定表(1D6)



26
27
28
29
30
31
32
33
34
35
# File 'lib/bcdice/game_system/meikyu_kingdom/placename_table.rb', line 26

def mk_decoration_table(num)
  debug("mk_decoration_table num", num)

  table = [
    [1, lambda { mk_basic_decoration_table(@randomizer.roll_d66(D66SortType::ASC)) }],
    [2, lambda { mk_spooky_decoration_table(@randomizer.roll_d66(D66SortType::ASC)) }],
    [3, lambda { mk_katakana_decoration_table(@randomizer.roll_d66(D66SortType::ASC)) }],
  ]
  return get_table_by_number(num, table)
end

#mk_device_factory_tableObject

デバイスファクトリー(1D6)



7
8
9
10
11
12
13
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 7

def mk_device_factory_table()
  output = mk_item_decide_table(@randomizer.roll_once(6))

  dice = @randomizer.roll_sum(2, 6)
  output = output + " / " + mk_item_features_table(dice)
  return output
end

#mk_emotion_tableObject

感情表(1d6)



381
382
383
384
385
386
387
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 381

def mk_emotion_table
  get_table_by_1d3([
    "忠誠/怒り",
    "友情/不信",
    "愛情/侮蔑",
  ])
end

#mk_family_business_table(num) ⇒ Object

生まれ表(D66)



356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 356

def mk_family_business_table(num)
  table = [
    [11, "星術師"],
    [12, "魔道師"],
    [13, "召喚師"],
    [14, "博士"],
    [15, "医者"],
    [16, "貴族"],
    [22, "宦官"],
    [23, "武人"],
    [24, "処刑人"],
    [25, "衛視"],
    [26, "商人"],
    [33, "迷宮職人"],
    [34, "亭主"],
    [35, "料理人"],
    [36, "寿ぎ屋"],
    [44, "働きもの"],
    [45, "狩人"],
    [46, "冒険者"],
    [55, "怠け者"],
    [56, "盗賊"],
    [66, "生まれ表の中から、好きなジョブ1つを選ぶ"],
  ]

  return "[#{num}]" + get_table_by_number(num, table)
end

#mk_fatal_wounds_tableObject

致命傷表(2d6)



313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 313

def mk_fatal_wounds_table
  get_table_by_2d6([
    "圧倒的一撃で急所を貫かれた。死亡する",
    "致命的な一撃が頭をかすめる。[探索/受けたダメージ+5]の判定に失敗すると死亡する",
    "出血多量で昏睡する。行動不能になる。この戦闘が終了するまでに《HP》を1以上にしないと死亡する",
    "頭を打ちつけ昏睡する。行動不能になる。このクォーターが終了するまでに《HP》を1以上にしないと死亡する",
    "重傷を負い昏睡する。行動不能になる。(1d6)クォーターが経過するまでに《HP》を1以上にしないと死亡する",
    "意識を失う。行動不能になる",
    "偶然アイテムに身を守られる。ランダムにアイテムを選び、そのアイテムを破壊してダメージを無効化する。破壊できるアイテムを1個も装備していない場合、行動不能になる",
    "《民》たちが身を挺して庇う。自分の《配下》を(2d6)人減少させ、ダメージを無効化する。《配下》が1人も居ない場合行動不能になる",
    "根性で跳ね返す。[探索/9-現在の《HP》]の判定に成功すると《HP》が1になる。失敗すると行動不能になる",
    "精神力だけで耐える。[武勇/9-現在の《HP》]の判定に成功すると《HP》が1になる。失敗すると行動不能になる",
    "幸運にもダメージを免れる。ダメージを無効化するが、代わりにランダムにバッドステータス1種を受ける",
  ])
end

#mk_festival_break_tableObject

お祭り休憩表(2D6)



143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 143

def mk_festival_break_table
  get_table_by_2d6([
    "お祭りに向かう旅人たちとすれ違う。1D6MGが手に入る【宿屋】か【夜店】があれば、さらにもう1D6MGが手に入る",
    "なんでこんなときに、ダンジョンに行かなきゃいけないんだ! 「あ、電報でーす」このマップの支配者から、お祭りによせて祝辞の電報がやってくる。そうか、おまえのせいかッ!! マップの支配者の名前が分かり、そのキャラクターへの《敵意》が1D6点上がる",
    "「そういえば、国のみんなが何かいってたなぁ……」回想シーン。好きな散策表を1つ選び、2D6を振る。表に照らし合わせた結果を処理する",
    "あー。早く帰って、お祭りを楽しみたーい! この時点でキャンプを終了し、すぐに次の部屋へ移動すれば、このクォーターは、時間の経過が起こらない",
    "どこからか美味しそうな匂いが漂ってくる。「あ、うまそう」死んだふりをしていた民が起き上がる。今回の冒険で消費していた《配下》が1D6人回復する",
    "雰囲気がいつもと違うせいかな。なんかあの人がステキに見える。好きなキャラクター1人を選ぶ。そのキャラクターへの《好意》を1点上げる",
    "あ、こんなところにまで屋台が! あてくじ屋さんだ。1MG減らして、好きなアイテムカテゴリを選び、さらにそのカテゴリの中からランダムにアイテム1個を選ぶ。そのアイテムをもらえる(レアアイテムは飾ってあるが、絶対当たらない)",
    "お祭りを目指す交易商人と出会う。「あ、王様。これから王国行くんすよ」宮廷の持つ好きな素材を何個でも、同じ数の別の素材と交換してくれる",
    "せっかくお祭りなんだし、肩肘はってないで、ノリノリでGO!! このゲーム中は食事をするたびに《民の声》が1点回復する",
    "「あ、この歌は……」祭囃子がキミの封印されていたモンスターにまつわる過去の記憶を呼び戻す。好きなモンスター1種類を選ぶ。そのモンスター全般への《敵意》が1点上がる",
    "みんなのワクワクがアイテムに乗り移った? ランダムに自分のアイテムスロット1つを選ぶ。そこにレベルのあるアイテムがあった場合、そのレベルが1上がる",
  ])
end

#mk_festival_tableObject

お祭り表(2D6)



160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 160

def mk_festival_table
  get_table_by_2d6([
    "祈願祭。国や重要人物の無病息災を祈ったり、戦いの勝利などを祈る祭り。災害や飢饉、流行り病が起こった付近で行われる。シナリオの目的をクリアしていれば、《民》が1D6人上昇する",
    "血祭り。戦いに向け、士気を向上させる祭り。戦争だけでなく、迷宮探索に向けて行われることも多い。生贄の血を軍神に捧げたりする。このゲームの間、戦闘に勝利すると《民の声》を1点獲得し、逃走すると《民の声》が1点失われる",
    "記念日。建国記念日や領土獲得などの記念日のお祝い。簡単につくることができるが、気がつくと記念日だらけで、何の記念だったかを忘れてしまう。ほどほどに。このゲームの間、行為判定の目で3でも絶対失敗、11でも絶対成功になる(「呪い」のバッドステータスを受けたものは4でも絶対失敗、【必殺】を使った命中判定なら10でも絶対成功)",
    "星祭。季節のお祭り。冬至や夏至などの祭りや、七夕、お花見、雪祭りなどが含まれる。季節感の少ない迷宮では、殊更にその風情を楽しもうとやたら盛り上がる。宮廷全員、好きなキャラクター1人を選び、そのキャラクターに対する《好意》を1点上げる",
    "民衆の宴。民が自発的に開くお祭り、イベント。アキハバラ電気祭りに餃子祭り、コミックマーケットなど、文化や地域の活性化と結びつくものが多い。このゲームの間、好きな施設1つを選んで、その施設の施設レベルを1上げる",
    "誕生日。ランドメイカーや逸材、国の重要人物の誕生日。聖誕祭や花祭りなど、国教の聖人などを祝う国も多い。現王の誕生日を「父の日」、后の誕生日を「母の日」とする国も多い。そのゲームの間、ケーキやおにぎり、缶ジュースなど、1人分が明確な食べ物を食べきったとき、自分のPCが《気力》1点を獲得する",
    "冠婚葬祭。国の重要人物の元服(成人)、婚礼、葬儀、祖先の慰霊などの儀式。格式の高い王国では、もっとも重要な祭礼である。このゲームの間、国力を使った判定の達成値を1上昇させる",
    "感謝祭。豊漁や豊作などがあったときに自然(迷宮)や精霊、信仰対象など、偉大なるものへの感謝を捧げるお祭り。獲物の毛の一部を切りとって迷宮に感謝する毛祭りや瀬祭り、豊饒を祝う新嘗祭などがある。終了フェイズに「木」や「革」、「肉」のいずれかを1つ消費すると、王国変動表の結果を±1の範囲でずらすことができる",
    "鬼祭り。お正月に旧年の悪を正す修正会、豆をまいて福を呼び込む追儺の儀式、怪物に仮装した子供たちが夜の王国をねり歩くハロウィーンなど、悪魔や悪霊を払うお祭り。モンスター除けに行われる。このゲームの間、ランダムエンカウントの戦闘後に使用するお宝表が1段階、高いレベルのものを使用する",
    "舞踏会。最高の音楽と芸術的な食事、そしてとびきりの衣装で臨む社交界の華。身分や素性を隠してパートナーを探す仮面舞踏会も人気は高い。ちなみに仮面舞踏会では、女性の側から男性をダンスに誘うのが礼儀だぞ。宮廷全員、ランダムにキャラクター1人を選び、そのキャラクターに対する《好意》を1点上げる",
    "競技会。国をあげて、スポーツや芸術、ゲームなど、さまざまなジャンルの一番を決めるお祭り、大会。オリンピックや料理勝負、歌合戦などがある。ランダムに能力値1つを選び、宮廷全員で難易度15の判定を行う。このとき成功した中で、もっとも達成値が高かったキャラクターは、シナリオ終了後、終了フェイズの探索会議で決定されるキャラクターとは別に、勲章を得る",
  ])
end

#mk_gender_table(num) ⇒ Object



343
344
345
346
347
348
349
350
351
352
353
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 343

def mk_gender_table(num)
  output = "1"

  if num.odd?
    output = ""
  else
    output = ""
  end

  return output
end

#mk_item_aptitude_table(num) ⇒ Object

適正表(1D6)



316
317
318
319
320
321
322
323
324
325
326
327
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 316

def mk_item_aptitude_table(num)
  table = [
    [1, "ランダムなクラス1種"],
    [2, lambda { mk_family_business_table(@randomizer.roll_d66(D66SortType::ASC)) }],
    [3, lambda { mk_gender_table(@randomizer.roll_once(6)) + "" }],
    [4, "上級ジョブ"],
    [5, "モンスタースキルを修得"],
    [6, "童貞、もしくは処女"],
  ]

  return "[#{num}]" + get_table_by_number(num, table)
end

#mk_item_attribute_table(num) ⇒ Object

属性表(1D6)



330
331
332
333
334
335
336
337
338
339
340
341
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 330

def mk_item_attribute_table(num)
  table = [
    [1, "自然の力"],
    [2, "幻夢の力"],
    [3, "星炎の力"],
    [4, "暗黒の力"],
    [5, "聖なるの力"],
    [6, "災厄の力"],
  ]

  return "[#{num}]" + get_table_by_number(num, table)
end

#mk_item_decide_table(num) ⇒ Object

アイテムカテゴリ決定表(1D6)



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 16

def mk_item_decide_table(num)
  functionTable = [
    [1, lambda { mk_weapon_item_table(@randomizer.roll_d66(D66SortType::ASC)) }],
    [2, lambda { mk_life_item_table(@randomizer.roll_d66(D66SortType::ASC)) }],
    [3, lambda { mk_rest_item_table(@randomizer.roll_d66(D66SortType::ASC)) }],
    [4, lambda { mk_search_item_table(@randomizer.roll_d66(D66SortType::ASC)) }],
    [5, lambda { mk_rare_weapon_item_table(@randomizer.roll_d66(D66SortType::NO_SORT)) }],
    [6, lambda { mk_rare_item_table(@randomizer.roll_d66(D66SortType::NO_SORT)) }],
  ]
  return get_table_by_number(num, functionTable)
end

#mk_item_features_table(num) ⇒ Object

アイテムの特性決定表(2D6)



233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 233

def mk_item_features_table(num)
  output = ""
  dice = @randomizer.roll_sum(2, 6)

  if num <= 2
    output = "" + mk_item_power_table(@randomizer.roll_once(6)) + "」の神力を宿す"
  elsif num <= 3
    output = "寿命を持つ。寿命の値を決定する。" + "\n"
    output += "さらに、" + mk_item_features_table(dice)
  elsif num <= 4
    output = "境界障壁を持つ。《HP》の値を決定する。"
  elsif num <= 5
    output = "銘を持つ。銘を決定する。"
  elsif num <= 6
    output = "合成具である。もう1つの機能は「" + mk_item_decide_table(@randomizer.roll_once(6)) + "」である。"
  elsif num <= 7
    output = "そのアイテムにレベルがあれば、レベルを1点上昇する。" + "\n"
    output += "レベルが設定されていなければ、" + mk_item_features_table(dice)
  elsif num <= 8
    output = "" + mk_item_jyumon_table(dice) + "」の呪紋を持つ。"
  elsif num <= 9
    output = "" + mk_item_jyuka_table(@randomizer.roll_once(6)) + "」の呪禍を持つ。" + "\n"
    output += "さらに、" + mk_item_features_table(dice)
  elsif num <= 10
    output = "高価だ。価格を設定する。"
  elsif num <= 11
    output = "「条件:" + mk_item_aptitude_table(@randomizer.roll_once(6)) + "」の適性を持つ。" + "\n"
    output += "さらに、" + mk_item_features_table(dice)
  else
    output = "" + mk_item_attribute_table(@randomizer.roll_once(6)) + "」の属性を持つ。"
  end

  return "特性[" + num.to_s + "]:" + output
end

#mk_item_jyuka_table(num) ⇒ Object

呪禍表(1D6)



302
303
304
305
306
307
308
309
310
311
312
313
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 302

def mk_item_jyuka_table(num)
  table = [
    [1, "「呪い」のバッドステータス"],
    [2, "「肥満」のバッドステータス"],
    [3, "「愚か」のバッドステータス"],
    [4, "サイクルの終了時に《HP》が1点減少する"],
    [5, "条件を満たしても誰とも人間関係を結べない"],
    [6, "〈器〉が1点減少する"],
  ]

  return "[#{num}]" + get_table_by_number(num, table)
end

#mk_item_jyumon_table(num) ⇒ Object

呪紋決定表(2D6)



283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 283

def mk_item_jyumon_table(num)
  table = [
    [2, "モンスタースキル"],
    [3, "便利スキル"],
    [4, "芸能スキル"],
    [5, "迷宮スキル"],
    [6, "星術スキル"],
    [7, "一般スキル"],
    [8, "召喚スキル"],
    [9, "科学スキル"],
    [10, "交渉スキル"],
    [11, "神官のクラススキル"],
    [12, "ジョブスキル"],
  ]

  return "[#{num}]" + get_table_by_number(num, table)
end

#mk_item_power_table(num) ⇒ Object

神力決定表(1D6)



269
270
271
272
273
274
275
276
277
278
279
280
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 269

def mk_item_power_table(num)
  table = [
    [1, "〔才覚〕"],
    [2, "〔魅力〕"],
    [3, "〔探索〕"],
    [4, "〔武勇〕"],
    [5, "〈器〉"],
    [6, "〈回避値〉"],
  ]

  return "[#{num}]" + get_table_by_number(num, table)
end

#mk_katakana_decoration_table(num) ⇒ Object

カタカナ表(D66)



104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/bcdice/game_system/meikyu_kingdom/placename_table.rb', line 104

def mk_katakana_decoration_table(num)
  table = [
    [11, "マヨネーズ"],
    [12, "ダイナマイト"],
    [13, "ドラゴン"],
    [14, "ボヨヨン"],
    [15, "モケモケ"],
    [16, "マヌエル"],
    [22, "ダイス"],
    [23, "ロマン"],
    [24, "ウクレレ"],
    [25, "エップカプ"],
    [26, "カンパネルラ"],
    [33, "マンチキン"],
    [34, "バロック"],
    [35, "ミサイル"],
    [36, "ドッキリ"],
    [44, "ブラック"],
    [45, "好きなモンスターの名前"],
    [46, "好きなトラップの名前"],
    [55, "好きな単語表で"],
    [56, "好きな名前決定表で"],
    [66, "好きな数字の組み合わせ"],
  ]
  return get_table_by_number(num, table)
end

#mk_kingdom_change_tableObject

王国変動表(2d6)



262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 262

def mk_kingdom_change_table
  get_table_by_2d6([
    "列強のプロパガンダが現れる。(1d6)を振り、その目が現在の《民の声》以下で、現在列強の属国になっていたら属国から抜けることができる。上回っていたら、ランダムに列強を1つ選びその属国になる",
    "冒険の成功を祝う民たちが出迎えてくれる。《民の声》+2。この結果を出したプレイヤー(以下、当PL)以外の全員は、今回の冒険を振り返り当PLのPCが《好意》を得るとしたら誰が一番ふさわしいかを協議する。決定したキャラへの当PLのPCの《好意》+1",
    "何者かによる唐突な奇襲攻撃。未知の土地に面している領土からランダムに1つを選ぶ。[軍事レベル/敵対国数×2+険悪国数+9]の判定に成功すると返り討ちにして(1d6)MGを得る。失敗するとその領土は施設ごと失われる",
    "民の労働の結果が明らかに。[生活レベル/敵対国数×2+険悪国数+9]の判定に成功すると《予算》が自国の領土のマップ数と同じだけ増える。失敗したら《予算》が同じだけ減る",
    "民は領土を渇望していた。5MGを支払えば、隣接する未知の土地1つを領土にできる。(1d6)を振り、その数だけ通路を引くことができる。通路でつながっていない部屋は自国の領土として扱わない",
    "王国の子どもたちがあなた方を見て成長する。《民》が[王国に残した《民》の数÷10+治安レベル]人増える",
    "あなたの活躍を耳にした者たちがやってくる。シナリオの目的を満たしている場合、関係が良好・同盟の国の数だけ(1d6)を振り、[合計値+治安レベル]人だけ《民》が増える",
    "街の機能に異変が!?[治安レベル/敵対国数×2+険悪国数+9]の判定に成功すると、自国の好きな施設1軒を選び、その施設の隣でかつ通路がつながっている部屋に同じ種類の施設がもう1軒できる。失敗したら、自国のタイプ:部屋の施設を1軒選び、破壊する",
    "王国同士の交流が行われた。[文化レベル/敵対国数×2+険悪国数+9]の判定に成功すると、生まれ表でランダムにジョブを決めた逸材が1人増え、好きな国1つとの関係を1段階良好にする。失敗すると、自国の逸材1人を選んで失い、ランダムに決めた国1つとの関係が1段階悪化する",
    "ただ、無為に時が過ぎていたわけではない。迷宮フェイズで過ごした1ターンにつき《予算》が1MG増える",
    "民の意識が大きく揺れる。(1d6)を振り、その目が現在の《民の声》以下だったら、好きな国力が1点上昇する。上回っていたら、好きな国力が1点減少する",
  ])
end

#mk_kingdom_disaster_tableObject

王国災厄表(2d6)



177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 177

def mk_kingdom_disaster_table
  get_table_by_2d6([
    "王国の悪い噂が蔓延する。既知の土地にある他国との関係が全て1段階悪化する",
    "自国のモンスターが凶暴化する。自国のモンスターの《民》からランダムに1種類選び、そのレベルと等しいだけ《民》が減少する。その後、その種類のモンスターの《民》は全ていなくなる",
    "疫病が大流行する。《民》-(2d6)",
    "自国の迷宮化が進行する。自国の領土のマップ数と等しい値だけ維持費が上昇する",
    "敵国のテロが横行する。[治安レベル/敵対国数×2+険悪国数+9]の判定に失敗すると、ランダムに施設を1軒失う",
    "敵国襲来![軍事レベル/敵対国数×2+険悪国数+9]の判定に失敗すると、ランダムに自国の領土を1つ失う",
    "敵国の陰謀。[文化レベル/敵対国数×2+険悪国数+9]の判定に失敗すると、ランダムに逸材を1人失う",
    "食糧危機。《民》-(2d6)。王国にある「肉」の素材を1個消費する度に、《民》の減少を1人抑えることができる",
    "住民の不満が爆発する。[生活レベル/敵対国数×2+険悪国数+9]の判定に失敗すると《民の声》-1",
    "局地的な迷宮津波が発生。ランダムに自国の領土1つを選び、既知の土地の中からランダムに選んだ場所と場所を入れ替える",
    "敵国の勢力が強大化する。GMは、関係が敵対の国全てについて、その国の領土に接する土地を1つ選び、その土地をその国の領土にする",
  ])
end

#mk_kingdom_mischange_tableObject

王国変動失敗表(2d6)



279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 279

def mk_kingdom_mischange_table
  get_table_by_2d6([
    "列強のプロパガンダが現れる。(1d6)を振り、その目が現在の《民の声》を上回っていたら、ランダムに列強1つを選びその属国になる",
    "新たな勢力が勃発する。王国シートの基地の土地欄の中から1つ、未知の土地を選ぶ。(1d6)を振り、その結果をその土地に記入する。1:敵対関係の国。2:険悪関係の国。3:凶暴な怪物の巣。4:人間嫌いのダンジョンマスターの庵。5:迷宮化の進んだ大迷宮。6:列強の飛び地",
    "何者かによる唐突な奇襲攻撃。未知の土地に面している領土からランダムに1つを選ぶ。[軍事レベル/敵対国数×2+険悪国数+9]の判定に失敗するとその領土は施設ごと失われる",
    "民の労働の結果が明らかに。[生活レベル/敵対国数×2+険悪国数+9]の判定に失敗したら《予算》が自国の領土のマップ数と同じだけ減る",
    "他国の使者がやってくる。基地の土地欄の中からランダムに自国以外の国を1つ選ぶ。その国の領土のマップ数を等しい《予算》を消費するとその国との関係が1段階よくなる。消費しないと1段階悪くなる",
    "民の声は離れ、この国を去る者たちがいた。《民》が(1d6)人減少する",
    "過ぎゆく時が王政を帰る。基地の土地欄の中から、経過したターン数と等しい数までランダムに他国を選ぶ。GMは、その国に面する未知の土地1つを選び、それをその国の新たな領土とする。(周囲に未知の土地がない場合は増やせない)",
    "街の機能に異変が!?[治安レベル/敵対国数×2+険悪国数+9]の判定に失敗したら、自国のタイプ:部屋の施設を1軒選び、破壊する",
    "王国同士の交流が行われた。[文化レベル/敵対国数×2+険悪国数+9]の判定に失敗すると、自国の逸材1人を選んで失い、ランダムに決めた国1つとの関係が1段階悪化する",
    "ただ、無為に時が過ぎていたわけではない。迷宮フェイズで過ごした1ターンにつき《予算》が1MG増える",
    "民の意識が大きく揺れる。(1d6)を振り、その目が現在の《民の声》を上回っていたら、好きな国力が1点減少する",
  ])
end

#mk_kingdom_name_1_table(num) ⇒ Object

王国名決定表1(D66)



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/bcdice/game_system/meikyu_kingdom/kingdom_name_table.rb', line 7

def mk_kingdom_name_1_table(num)
  table = [
    [11, "暗黒"],
    [12, "王政"],
    [13, ""],
    [14, "共和制"],
    [15, "古代"],
    [16, "社会主義"],
    [22, "自由"],
    [23, "新(ネオ)"],
    [24, "神聖(セント、聖)"],
    [25, "正統"],
    [26, "絶対主義"],
    [33, ""],
    [34, "天階"],
    [35, "深階"],
    [36, "第三"],
    [44, "中央"],
    [45, "帝政"],
    [46, "統一"],
    [55, "独立"],
    [56, ""],
    [66, "立憲"],
  ]
  return get_table_by_number(num, table)
end

#mk_kingdom_name_2_table(num) ⇒ Object

王国名決定表2(D66)



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/bcdice/game_system/meikyu_kingdom/kingdom_name_table.rb', line 35

def mk_kingdom_name_2_table(num)
  table = [
    [11, "英雄"],
    [12, "連合"],
    [13, "グランドゼロ"],
    [14, "迷宮(ダンジョン)"],
    [15, "災厄"],
    [16, "魔神(デーモン)"],
    [22, "征服"],
    [23, "中華"],
    [24, "ドラゴン(龍)"],
    [25, ""],
    [26, "バナナ"],
    [33, "ファンタジー"],
    [34, "冒険"],
    [35, "魔法(マジカル)"],
    [36, "超人"],
    [44, "無敵"],
    [45, "路地裏"],
    [46, "ローマ"],
    [55, "(好きな単語表で決定)"],
    [56, "(プレイ会場の地名 例:ネリマ)"],
    [66, "(国王の名前。後で決定)"],
  ]
  return get_table_by_number(num, table)
end

#mk_kingdom_name_3_table(num) ⇒ Object

王国名決定表3(D66)



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/bcdice/game_system/meikyu_kingdom/kingdom_name_table.rb', line 63

def mk_kingdom_name_3_table(num)
  table = [
    [11, "王国(キングダム)"],
    [12, "王朝"],
    [13, "会社(公社)"],
    [14, "学園(学校)"],
    [15, "合衆国"],
    [16, "共同体"],
    [22, "共和国"],
    [23, ""],
    [24, "公国"],
    [25, "市(街、シティ、ポリス)"],
    [26, "自治国"],
    [33, "植民地"],
    [34, "帝国"],
    [35, "同盟"],
    [36, "首長国"],
    [44, "幕府"],
    [45, ""],
    [46, ""],
    [55, "横丁(亭)"],
    [56, "ランド"],
    [66, "連邦"],
  ]
  return get_table_by_number(num, table)
end

#mk_landscape_table(num) ⇒ Object

迷宮風景表(1D6)



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb', line 16

def mk_landscape_table(num)
  dice = @randomizer.roll_d66(D66SortType::ASC)
  table = [
    [1, lambda { mk_artifact_landscape_table(dice) }],
    [2, lambda { mk_cave_landscape_table(dice) }],
    [3, lambda { mk_natural_landscape_table(dice) }],
    [4, lambda { mk_waterside_landscape_table(dice) }],
    [5, lambda { mk_skyrealm_landscape_table(dice) }],
    [6, lambda { mk_strange_place_landscape_table(dice) }],
  ]
  return get_table_by_number(num, table)
end

#mk_life_item_table(num) ⇒ Object

生活アイテム表(D66)



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 58

def mk_life_item_table(num)
  table = [
    [11, "バックパック"],
    [12, "バックパック"],
    [13, ""],
    [14, "クラッカー"],
    [15, "がまぐち"],
    [16, "マント"],
    [22, "法衣(バックパック)"],
    [23, "カード"],
    [24, "エプロン"],
    [25, "住民台帳"],
    [26, "携帯電話"],
    [33, "召喚鍵(バックパック)"],
    [34, "肖像画"],
    [35, "衣装"],
    [36, "山吹色のお菓子"],
    [44, "バックパック"],
    [45, "眼鏡"],
    [46, "クレジットカード"],
    [55, "バックパック"],
    [56, "魔道書"],
    [66, "バックパック"],
  ]

  return get_table_by_number(num, table)
end

#mk_life_research_tableObject

生活散策表(2d6)



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 7

def mk_life_research_table
  get_table_by_2d6([
    "ハグルマ資本主義神聖共和国から使者が現れる。受け入れる場合[生活レベル/9]に成功すると(1d6)MG獲得。この判定の難易度は、ハグルマとの関係が険悪なら+2、敵対なら+4される。使者を受け入れない場合、ハグルマとの関係が1段階悪化する。すでに関係が敵対なら、領土1つを失う",
    "王国の活気にやる気がでる。《気力》+1、もう一度王国フェイズに行動できる",
    "この国の評判を聞いて、旅人がやってくる。このゲームのシナリオの目的を果たしたら、終了フェイズに《民》+(2d6)人",
    "旅の商人に出会い、昨今の相場を聞く。(2d6)を振り、メモしておく。終了フェイズの収支報告のタイミングに、2d6を振る代わりにその目が出たことにして相場を決定する",
    "主婦たちの井戸端会議によると、生活用品が不足しているらしい。ゲーム中に「革」5個を獲得するたびに《民の声》+1。終了フェイズの収支報告までに1個も「革」を獲得出来ないと、維持費+1MG",
    "食料に対する不安を漏らす民の姿を見かける。ゲーム中に「肉」5個を獲得するたびに《民の声》+1。終了フェイズの収支報告までに1個も「肉」を獲得出来ないと、維持費+1MG",
    "散策の途中、様々な施設が老朽化しているのを発見する。ゲーム中に「木」5個を獲得するたびに《民の声》+1。終了フェイズの収支報告までに1個も「木」を獲得出来ないと、維持費+1MG",
    "お腹の大きくなった女性が、無事戻ったら赤子の名付け親になって欲しいと言う。このゲームのシナリオの目的を果たしたら、終了フェイズに《民》+(2d6)人",
    "王国内で民とともに汗を流す。[生活レベル/9]の判定に成功すると、(生産施設の数×1)MGを獲得する",
    "「これ、便利だと思うんですけど」 [生活レベル/11]の判定に成功すると、価格が自国の[生活レベル]以下の生活アイテム1個を1Lvで獲得できる",
    "突然王国に旅人が訪れ、王国の食料庫が乏しくなってくる。[生活レベル/11]に成功すると、他国から補給を呼んで《民》+(2d6)人。失敗すると《民》-(2d6)人",
  ])
end

#mk_ls_decide_table(num) ⇒ Object

迷宮風景決定表



7
8
9
10
11
12
13
# File 'lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb', line 7

def mk_ls_decide_table(num)
  output = ""
  num.times do |_i|
    output += "" + mk_landscape_table(@randomizer.roll_once(6)) + ""
  end
  return output
end

#mk_market_price_tableObject

相場表(2d6)



390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 390

def mk_market_price_table
  get_table_by_2d6([
    "無し",
    "",
    "",
    "",
    "魔素",
    "機械",
    "衣料",
    "",
    "火薬",
    "情報",
    "",
  ])
end

#mk_name_a_table(num) ⇒ Object

名前表A(D66)



106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# File 'lib/bcdice/game_system/meikyu_kingdom/name_tables.rb', line 106

def mk_name_a_table(num)
  table = [
    [11, "オレンジ/ジャスミン"],
    [12, "ホオズキ/アサガオ"],
    [13, "クローバー/ダチュラ"],
    [14, "ダフニ/キノコ"],
    [15, "グラナーダ/プリムローズ"],
    [16, "ラディッシュ/マリーゴールド"],
    [22, "サイプレス/マグノリア"],
    [23, "バンブー/オリーブ"],
    [24, "クラウド/クリマ"],
    [25, "タオ/スノウ"],
    [26, "アヴァランチ/エクレール"],
    [33, "ビバシータ/メトロノーム"],
    [34, "カノン/ファゴット"],
    [35, "オーボエ/アルモニカ"],
    [36, "チューバ/オルガノ"],
    [44, "ナン/クッキー"],
    [45, "ウイロウ/カシュカシュ"],
    [46, "スコーン/クスクス"],
    [55, "フラスコ/クリップ"],
    [56, "クラパドーラ/クレヨン"],
    [66, "ソープ/ブルーム"],
  ]

  return get_table_by_number(num, table)
end

#mk_name_b_table(num) ⇒ Object

名前表B(D66)



135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# File 'lib/bcdice/game_system/meikyu_kingdom/name_tables.rb', line 135

def mk_name_b_table(num)
  table = [
    [11, "エイジ/ウェンズデイ"],
    [12, "ジョルノ/ノエル"],
    [13, "タスク/マニャーナ"],
    [14, "ウィンター/ジュノー"],
    [15, "ハイラン/ブランカ"],
    [16, "ウォルナット/ルージュ"],
    [22, "グレイ/スカーレット"],
    [23, "シュバルツ/モエギ"],
    [24, "スロット/キリエ"],
    [25, "ジョーカー/ダイス"],
    [26, "ジグソウ/ドミノ"],
    [33, "バックギャモン/マーブル"],
    [34, "シーガロ/ココア"],
    [35, "スピーチカ/オレンジペコー"],
    [36, "ジッポ/ショコラ"],
    [44, "ナインピンズ/ルチャ"],
    [45, "デカスロン/ラクロス"],
    [46, "カバディ/ピンポン"],
    [55, "ポンド/ヴェルベット"],
    [56, "ルーブル/コットン"],
    [66, "シリング/シルク"],
  ]

  return get_table_by_number(num, table)
end

#mk_name_ex_table(num) ⇒ Object

名前表エキゾチック(D66)



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# File 'lib/bcdice/game_system/meikyu_kingdom/name_tables.rb', line 164

def mk_name_ex_table(num)
  table = [
    [11, "モアイ/スイショウドクロ"],
    [12, "チュパカブラ/ムベンベ"],
    [13, "カンフー/インヤン"],
    [14, "ブシドー/ミヤコ"],
    [15, "チャンピオン/バービー"],
    [16, "ウパニシャッド/ゾルゲ"],
    [22, "デスマーチ/インテル"],
    [23, "ゴッホ/ヴィクトリア"],
    [24, "ゾンビ/オニャンコポン"],
    [25, "ゲロッパ/カルメン"],
    [26, "オーバーキル/サシミ"],
    [33, "ブッチャー/デヴィ"],
    [34, "ブロンソン/マドンナ"],
    [35, "ガイギャックス/エロイカ"],
    [36, "好きな星の名前(スピカ,オリオン)"],
    [44, "好きな武器の名前(エペ,フランベルジュ)"],
    [45, "好きな動物の名前(イタチ,パグ)"],
    [46, "好きな鉱物の名前(ルビィ,ヒスイ)"],
    [55, "好きな言葉+ドラゴン"],
    [56, "好きな単語表で決定する"],
    [66, "プレイヤーと同じ名前"],
  ]
  return get_table_by_number(num, table)
end

#mk_name_fa_table(num) ⇒ Object

名前表ファンタジー(D66)



192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
# File 'lib/bcdice/game_system/meikyu_kingdom/name_tables.rb', line 192

def mk_name_fa_table(num)
  table = [
    [11, "アダム/イヴ"],
    [12, "ジャック/モモ"],
    [13, "オズ/アリス"],
    [14, "コナン/レダ"],
    [15, "アーサー/イシス"],
    [16, "エルリック/グローリアーナ"],
    [22, "ギルガメッシュ/アマテラス"],
    [23, "マハラジャ/クリシュナ"],
    [24, "カゲオトコ/クロトカゲ"],
    [25, "オルフェウス/ヴィーナス"],
    [26, "ソロモン/サロメ"],
    [33, "ワタリガラス/ディードリット"],
    [34, "ニャルラトホテプ/バースト"],
    [35, "アンナタール/フォルトゥナ"],
    [36, "ザナドゥ/ヨミ"],
    [44, "アルビオン/ラピュタ"],
    [45, "ゼンダ/ゴーメンガースト"],
    [46, "インスマウス/イース"],
    [55, "フウヌイム/ヤプー"],
    [56, "ザンス/ナルニア"],
    [66, "カレワラ/イーハトーブ"],
  ]

  return get_table_by_number(num, table)
end

#mk_name_tableObject

名前表



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/bcdice/game_system/meikyu_kingdom/name_tables.rb', line 7

def mk_name_table
  debug("mk_name_table begin")
  output = "1"
  # 名前表
  name_n = @randomizer.roll_once(6)
  debug("name_n", name_n)

  d1 = @randomizer.roll_d66(D66SortType::ASC)
  d2 = @randomizer.roll_d66(D66SortType::ASC)
  debug("d1, d2", d1, d2)

  debug("name_n", name_n)
  if name_n <= 1
    # 名前表A+二つ名表A
    output = mk_nick_a_table(mk_name_a_table(d1), d2)
  elsif name_n <= 2
    # 名前表B+二つ名表A
    output = mk_nick_a_table(mk_name_b_table(d1), d2)
  elsif name_n <= 3
    # 名前表エキゾチック+二つ名表A
    output = mk_nick_a_table(mk_name_ex_table(d1), d2)
  elsif name_n <= 4
    # 名前表A+二つ名表B
    output = mk_nick_b_table(mk_name_a_table(d1), d2)
  elsif name_n <= 5
    # 名前表B+二つ名表B
    output = mk_nick_b_table(mk_name_b_table(d1), d2)
  else
    # 名前表ファンタジー+二つ名表B
    output = mk_nick_b_table(mk_name_fa_table(d1), d2)
  end

  dice = "#{name_n},#{d1},#{d2}"

  return output, dice
end

#mk_natural_landscape_table(num) ⇒ Object

自然風景表(D66)



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb', line 86

def mk_natural_landscape_table(num)
  table = [
    [11, "苔むした部屋"],
    [12, "動物の声が響き渡る密林"],
    [13, "つる草でできた通路"],
    [14, "空洞いっぱいのお花畑"],
    [15, "壁から木の根が突き出している部屋"],
    [16, "空洞に広がる耕作地"],
    [22, "折り重なって繁茂する森林"],
    [23, "垂直の空洞にえんえんと伸びる大木の幹"],
    [24, "空洞中に広がるアザラシの営巣地"],
    [25, "カビで壁がねとつく部屋"],
    [26, "サボテンが点在する部屋"],
    [33, "巨大キノコの群生地"],
    [34, "真ん中に大木が一本そびえ立っている空洞"],
    [35, "通路いっぱいに進む野生ウマトカゲの大群"],
    [36, "落ち葉がうずたかく積もった部屋"],
    [44, "植え込みで作られた迷宮庭園"],
    [45, "生い茂る竹林"],
    [46, "松ぼっくりが転がる部屋"],
    [55, "丈の長い草が生い茂る部屋"],
    [56, "枯れた森林"],
    [66, "大木の空洞内のような通路や部屋"],
  ]
  return get_table_by_number(num, table)
end

#mk_natural_placename_table(num) ⇒ Object

自然系地名表(D66)



160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# File 'lib/bcdice/game_system/meikyu_kingdom/placename_table.rb', line 160

def mk_natural_placename_table(num)
  table = [
    [11, "砂漠(デザート)"],
    [12, "丘陵(ヒル)"],
    [13, "海(オーシャン)"],
    [14, "森(フォレスト)"],
    [15, "沼(ポンド)"],
    [16, "海岸(コースト)"],
    [22, "密林(ジャングル)"],
    [23, "湖(レイク)"],
    [24, "山脈(マウンテンズ)"],
    [25, "平原(プレイン)"],
    [26, "ヶ原(ランド)"],
    [33, "荒野(ヒース)"],
    [34, "渓谷(ヴァレー)"],
    [35, "島(アイランド)"],
    [36, "連峰(ピークス)"],
    [44, "火山(ヴォルケイノ)"],
    [45, "湿原(ウェットランド)"],
    [46, "星雲(ネビュラ)"],
    [55, "星(スター)"],
    [56, "ヶ淵(プール)"],
    [66, "雪原(スノウズ)"],
  ]
  return get_table_by_number(num, table)
end

#mk_negotiation_tableObject

交渉表(2d6)



347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 347

def mk_negotiation_table
  get_table_by_2d6([
    "中立的な態度は偽装だった。不意を打たれ、奇襲扱いで戦闘を行う",
    "交渉は決裂した。戦闘を行う",
    "交渉は決裂した。戦闘を行う",
    "生け贄を要求された。モンスターの中で最もレベルが高いもののレベルと同じだけ《配下》を減少させれば友好的になる。ただし、《民の声》-(1d6)。《配下》を減らさなければ戦闘を行う",
    "趣味を聞かれた。好きな単語表1つを選びD66を振る。宮廷の中に、その項目を好きなものに指定しているキャラがいれば友好的になる。居なければ戦闘を行う",
    "物欲しそうにこちらを見ている。「肉」の素材(1d6)個か、【お弁当】または【フルコース】1個を消費すれば友好的になる。しなければ戦闘を行う",
    "値踏みするようにこちらを見ている。維持費を(1d6)MG上昇させれば友好的になる。させなければ戦闘を行う",
    "「何かいいもの」を要求された。モンスターの中で最もレベルが高いもののレベル以上の価格のアイテムを消費すれば友好的になる。レアアイテムは価格を+10して扱う。しなければ戦闘を行う",
    "面白い話を要求された。プレイヤー達はモンスター達が興味を引きそうな話をすること。GMがそれを面白いと判断したら[魅力/9]の判定を行い、成功すれば。友好的になる。さもなければ戦闘を行う",
    "一騎打ちを申し込んできた。宮廷の中から代表を1名選び、モンスターの中で最もレベルの高いものと1対1で戦闘を行う(配置は互いに前列)。勝利すれば友好的になる。敗北すれば、再び交渉するか戦闘するかを決断する。この一騎打ちに外野がスキルやアイテムで干渉すると全員で戦闘になる",
    "運命の出会い。モンスター達の宮廷の代表に対する《好意》+1、友好的になる",
  ])
end

#mk_nick_a_table(output, num) ⇒ Object

二つ名表A(D66)



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/bcdice/game_system/meikyu_kingdom/name_tables.rb', line 45

def mk_nick_a_table(output, num)
  table = [
    [11, "“災い転じて福となす”"],
    [12, "“七転び八起きの”"],
    [13, "“冗談にも程がある”"],
    [14, "“虎の尾を踏む”"],
    [15, "“石橋を叩いて渡る”"],
    [16, "“一を聴いて十を知る”"],
    [22, "“喉から手が出る”"],
    [23, "“据え膳食わぬは男の恥の”"],
    [24, "“天につば吐く”"],
    [25, "“風に柳の”"],
    [26, "“目に入れても痛くない”"],
    [33, "“とかく浮世は色と酒の”"],
    [34, "“当たるも八卦、当たらぬも八卦の”"],
    [35, "“泣く子も黙る”"],
    [36, "“天上天下唯我独尊”"],
    [44, "“虫も殺さぬ”"],
    [45, "“花も恥じらう”"],
    [46, "“触らぬ神に祟り無しの”"],
    [55, "“両手に花の”"],
    [56, "“(ゲーム会場の地名)でも一、二を争う”"],
  ]
  if num < 66
    output = get_table_by_number(num, table) + output
  else
    output = "#{output}#{@randomizer.roll_once(6)}"
  end

  return output
end

#mk_nick_b_table(output, num) ⇒ Object

二つ名表B(D66)



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/bcdice/game_system/meikyu_kingdom/name_tables.rb', line 78

def mk_nick_b_table(output, num)
  table = [
    [11, "“身も蓋もない”"],
    [12, "“七人の敵がいる”"],
    [13, "“ドラゴンも裸足で逃げ出す”"],
    [14, "“われらが”"],
    [15, "“機会攻撃を誘発する”"],
    [16, "“佳人薄命”"],
    [22, "“すねに傷持つ”"],
    [23, "“湯上りは親でも惚れる”"],
    [24, "“叶わぬ時の神頼みの”"],
    [25, "“果報は寝て待つ”"],
    [26, "“清濁併せ呑む”"],
    [33, "“かゆいところに手が届く”"],
    [34, "“酒池肉林の”"],
    [35, "“蛇の道は蛇の”"],
    [36, "“口から先に生まれた”"],
    [44, "“柔よく剛を制す”"],
    [45, "“死人に口なしの”"],
    [46, "“噂をすれば”"],
    [55, "“ミスター/ミス”"],
    [56, "“(好きな名前表)の子”"],
    [66, "“(好きな単語表)の父/母”"],
  ]
  return get_table_by_number(num, table) + output
end

#mk_order_research_tableObject

治安散策表(2d6)



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 24

def mk_order_research_table
  get_table_by_2d6([
    "メトロ汗国から使者が現れる。受け入れる場合、[治安レベル/9]に成功すると《民》+(2d6)人。失敗すると《民》-(2d6)人。この判定の難易度は、汗国との関係が険悪なら+2、敵対なら+4される。使者を受け入れない場合、汗国との関係が1段階悪化する。すでに関係が敵対なら、領土1つを失う",
    "「つまらないものですが、これを冒険に役立ててください……」相場表でランダムに素材1種を選び、それを(1d6)個獲得する",
    "民たちが自分らで、王国を守る相談をしている。この気0無のシナリオの目的を果たしたら、好きなレベルのある施設1軒を選び、その隣の部屋に同じ施設1軒を建設する",
    "毎日の散歩の成果が出て、体の調子が良い。このゲーム中、《HP》の最大値+5し、《HP》5点回復する",
    "王国の民たちが、ランドメイカーの留守を守る人間が少ないことを心配している。ゲーム中に逸材1人を獲得するたびに《民の声》+1。終了フェイズまでに1人も逸材を獲得出来ないと、維持費+1MG",
    "王国周辺の迷宮化が進んでいる。対迷宮化結界を強化せねば…。ゲーム中に「魔素」5個を獲得するたびに《民の声》+1。終了フェイズの収支報告までに1個も「魔素」を獲得出来ないと、維持費+1MG",
    "王国内の施設の稼働率が下がっている。整備が必要そうだ。ゲーム中に「機械」5個を獲得するたびに《民の声》+1。終了フェイズの収支報告までに1個も「機械」を獲得出来ないと、維持費+1MG",
    "周辺諸国の噂を聞く。王国シートの既知の土地欄の中から、関係が同盟・良好・中立の他国があれば、ランダムに国1つを選ぶ、相場表でランダムに素材1種類を選ぶ。その国の相場はその素材となる",
    "王国の平和な光景を見て、手応えを感じる。[治安レベル/9」の判定に成功すると、[公共施設の数×1]MGを獲得する",
    "「迷宮のごかごがありますように……」 [治安レベル/11]の判定に成功すると、価格が自国の[生活レベル]以下の探索アイテム1個を1Lvで獲得できる",
    "王国の中で不満分子たちがなにやら不穏な話をしているのを耳にする。[治安レベル/11]の判定に成功すると、あなたは留守中の準備をしておくことができる。そのゲーム中、一度だけ王国災厄表の結果を無効にすることができる。失敗すると、ランダムに施設1軒を選び、それが破壊される",
  ])
end

#mk_passage_placename_table(num) ⇒ Object

通路系地名表(D66)



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'lib/bcdice/game_system/meikyu_kingdom/placename_table.rb', line 132

def mk_passage_placename_table(num)
  table = [
    [11, "門(ゲート)"],
    [12, "回廊(コリドー)"],
    [13, "通り(ストリート)"],
    [14, "小路(アレイ)"],
    [15, "大路(アベニュー)"],
    [16, "街道(ロード)"],
    [22, "鉄道(ライン)"],
    [23, "迷宮(メイズ)"],
    [24, "坑道(トンネル)"],
    [25, "坂(スロープ)"],
    [26, "峠(パス)"],
    [33, "運河(カナル)"],
    [34, "水路(チャネル)"],
    [35, "河(ストリーム)"],
    [36, "堀(モート)"],
    [44, "溝(ダイク)"],
    [45, "階段(ステア)"],
    [46, "辻(トレイル)"],
    [55, "橋(ブリッジ)"],
    [56, "穴(ホール)"],
    [66, "柱廊(ストア)"],
  ]
  return get_table_by_number(num, table)
end

#mk_placename_table(num) ⇒ Object

地名決定表(1D6)



38
39
40
41
42
43
44
45
# File 'lib/bcdice/game_system/meikyu_kingdom/placename_table.rb', line 38

def mk_placename_table(num)
  table = [
    [1, lambda { mk_passage_placename_table(@randomizer.roll_d66(D66SortType::ASC)) }],
    [2, lambda { mk_natural_placename_table(@randomizer.roll_d66(D66SortType::ASC)) }],
    [3, lambda { mk_artifact_placename_table(@randomizer.roll_d66(D66SortType::ASC)) }],
  ]
  return get_table_by_number(num, table)
end

#mk_pn_decide_table(num) ⇒ Object

地名決定表



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/bcdice/game_system/meikyu_kingdom/placename_table.rb', line 7

def mk_pn_decide_table(num)
  output = ""

  d1 = @randomizer.roll_once(6)
  d2 = @randomizer.roll_once(6)
  debug("d1", d1)
  debug("d2", d2)

  d1 = (d1 / 2.0).ceil.to_i
  d2 = (d2 / 2.0).ceil.to_i

  num.times do |_i|
    output += "" + mk_decoration_table(d1) + mk_placename_table(d2) + ""
  end

  return output
end

#mk_random_encount1_table(num) ⇒ Object

1レベルランダムエンカウント表(1D6)



467
468
469
470
471
472
473
474
475
476
477
478
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 467

def mk_random_encount1_table(num)
  table = [
    [1, "『守って守って突撃ゴー!』 前衛:ごんぎつね×宮廷の人数、後衛:ノコギリ猪×1"],
    [2, "『じわじわ削る、カボチャの舞』 前衛:焔虫×宮廷の人数、本陣:カボチャ頭×宮廷の人数の半分"],
    [3, "『ものすごくジャマな人たち。』 前衛:小人さん×宮廷の人数、取り替え子×宮廷の人数の半分"],
    [4, "『何かやってくれるかも……』 前衛:兵隊エルフ×宮廷の人数"],
    [5, "『【かばう】で延命しつつ【鉄の勇気】』 前衛:キンギョ×宮廷の人数、本陣:イカロス×宮廷の人数の半分"],
    [6, "『英雄で指示してシュシュシュシュ~~~~ト!!』 前衛:小鬼×宮廷の人数、後衛:小鬼×宮廷の人数、本陣:小鬼大砲×1、小鬼英雄×1"],
  ]

  return get_table_by_number(num, table)
end

#mk_random_encount2_table(num) ⇒ Object

2レベルランダムエンカウント表(1D6)



481
482
483
484
485
486
487
488
489
490
491
492
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 481

def mk_random_encount2_table(num)
  table = [
    [1, "『作戦判定に負けてもOK、そして強い』 前衛:ガーゴイル×宮廷の人数"],
    [2, "『吸い殺せ! ドレインしまくれ!』 後衛:塚人×宮廷の人数の半分"],
    [3, "『ゴールデンコンビ結成。指揮と【鉄腕】+【範囲攻撃】で大暴れ』 前衛:牛頭×宮廷の人数の半分、後衛:山羊頭×宮廷の人数の半分"],
    [4, "『クピドは野放しにできないが、ハルキュオネは殺せない。このジレンマが……』 前衛:ハルキュオネ×宮廷の人数、後衛:ハルキュオネ×宮廷の人数、本陣:クピド×宮廷の人数の半分"],
    [5, "『眠りコンボ』 前衛:グレムリン×宮廷の人数、本陣:眠りの精×1"],
    [6, "『回避を減らしてみみずの範囲攻撃』 前衛:みみず×宮廷の人数、本陣:大喰らい×宮廷の人数の半分"],
  ]

  return get_table_by_number(num, table)
end

#mk_random_encount3_table(num) ⇒ Object

3レベルランダムエンカウント表(1D6)



495
496
497
498
499
500
501
502
503
504
505
506
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 495

def mk_random_encount3_table(num)
  table = [
    [1, "『魅了→木霊ハメ』 後衛:淫魔×1、本陣:レーシィ×宮廷の人数"],
    [2, "『素早く【多勢に無勢】をしかけ……たい』 前衛:階賊×宮廷の人数、本陣:抜け忍×1"],
    [3, "『倒しても嬉しくない人柱をどうぞ』 前衛:人柱×宮廷の人数、本陣:恋のぼり×宮廷の人数の半分"],
    [4, "『位置を調整して【抱擁】してみよう』 後衛:霧妾×宮廷の人数、本陣:お化けシーツ×宮廷の人数"],
    [5, "『クリティカルヒットしたい(希望)』 後衛:ヴォーパルバニー×宮廷の人数、本陣:二面人×1"],
    [6, "『なんとか特攻したい(願望)』 前衛:穴人×宮廷の人数、ゴーレム×1"],
  ]

  return get_table_by_number(num, table)
end

#mk_random_encount4_table(num) ⇒ Object

4レベルランダムエンカウント表(1D6)



509
510
511
512
513
514
515
516
517
518
519
520
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 509

def mk_random_encount4_table(num)
  table = [
    [1, "『増やして治す。ド外道タッグが嵐を呼ぶぜ』 前衛:闇双子×1、本陣:坊主子牛×宮廷の人数の半分"],
    [2, "『カリスマ的存在+平和の使者→エセNGOみたいな?』 前衛:ワリアヒラ×宮廷の人数、後衛:妖精騎士×1"],
    [3, "『【星戦】→攻撃、【星界】→【ベアハッグ】』 前衛:洞窟熊×宮廷の人数、本陣:星人×宮廷の人数の半分"],
    [4, "『さりげなく先攻を取りつつ《民》をバイドバイパー作戦』 前衛:大目玉×宮廷の人数、本陣:笛吹き男×宮廷の人数の半分"],
    [5, "『アンデッドチーム、がんばれ!』 前衛:墓暴き×宮廷の人数、本陣:吸血鬼×1"],
    [6, "『まよセレ、このゲームの代名詞(?)。こいつは欠かせない!』 後衛:マヨネーズキング・ピュアセレクト×宮廷の人数、本陣:メイクイーン×1"],
  ]

  return get_table_by_number(num, table)
end

#mk_random_encount5_table(num) ⇒ Object

5レベルランダムエンカウント表(1D6)



523
524
525
526
527
528
529
530
531
532
533
534
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 523

def mk_random_encount5_table(num)
  table = [
    [1, "『「死ぬが良い」最終鬼畜兵器岸降臨』 前衛:暗黒騎士×1"],
    [2, "『割と痛い。さりげなく魔王が分裂する』 前衛:カミツキ魔王×宮廷の人数の半分、本陣:雷鳥×1"],
    [3, "『ハマると死ぬ。5人パーティだと3体出てザマーミロ』 前衛:ヴァララカール×宮廷の人数の半分"],
    [4, "『不意打ちされたらデンジャー。ひそかにワイヴァーンで先手を取る』 前衛:睨み毒蛇×宮廷の人数の半分、後衛:ワイヴァーン×1"],
    [5, "『ゾンビスペシャル……で、がんばりたい』 前衛:死にぞこない×宮廷の人数の半分、後衛:死にぞこない×宮廷の人数の半分、本陣:屍術師×1"],
    [6, "『とにかく殴れ! 単純明快パワーチーム』 前衛:鮫人×宮廷の人数、夜這い海星×1"],
  ]

  return get_table_by_number(num, table)
end

#mk_random_encount6_table(num) ⇒ Object

6レベルランダムエンカウント表(1D6)



537
538
539
540
541
542
543
544
545
546
547
548
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 537

def mk_random_encount6_table(num)
  table = [
    [1, "『死んでください。【外皮】か【甲冑】がないと相当ヤバい』 本陣:死告天使×宮廷の人数"],
    [2, "『ド迫力。ブレス連発。3体出ちゃったらカーニバル』 本陣:ドラゴン×宮廷の人数の半分"],
    [3, "『死霊のボス。スキル次第でヤバい。GMの悪意が閃くときだ』 本陣:骨龍×1、推奨スキル【不滅の炎】、【困惑】、【ヤバチョンガー】など"],
    [4, "『《好意》を消して【魅了】に持ち込む』 後衛:愛染明王×宮廷の人数"],
    [5, "『真の狙いは【蜘蛛の群れ】』 前衛:アラクネ×宮廷の人数、本陣:蜘蛛の王×1"],
    [6, "『お約束。まあこいつは出るだろうみたいな』 前衛:魔蟹×1、帳魚×1"],
  ]

  return get_table_by_number(num, table)
end

#mk_rare_item_table(num) ⇒ Object

レア一般アイテム表(1D6+1D6)



189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 189

def mk_rare_item_table(num)
  table = [
    [11, "ブルーリボン"],
    [12, "聖痕"],
    [13, "剥製"],
    [14, "愚者の冠"],
    [15, "名刺"],
    [16, "種籾"],
    [21, "香水"],
    [22, "守りの指輪(名刺)"],
    [23, "煙玉"],
    [24, "悪名"],
    [25, "藁人形"],
    [26, "パワー餌"],
    [31, "王妃の鏡"],
    [32, "蓄音機"],
    [33, "無限の心臓(名刺)"],
    [34, "星籠"],
    [35, "水晶球"],
    [36, "転ばぬ先の杖"],
    [41, "悟りの書"],
    [42, "操りロープ"],
    [43, "盗賊の七つ道具"],
    [44, "携帯算術機(名刺)"],
    [45, "棺桶"],
    [46, "カメラ"],
    [51, "不思議なたまご"],
    [52, "ブーケ"],
    [53, "露眼鏡"],
    [54, "災厄王の遺物"],
    [55, "経験値"],
    [56, ""],
    [61, "視肉"],
    [62, "玉璽"],
    [63, "衛星帯"],
    [64, "軍配"],
    [65, "聖杯"],
    [66, ""],
  ]

  return get_table_by_number(num, table)
end

#mk_rare_weapon_item_table(num) ⇒ Object

レア武具アイテム表(1D6+1D6)



145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 145

def mk_rare_weapon_item_table(num)
  table = [
    [11, "虚弾"],
    [12, "怪物毒"],
    [13, "小鬼の襟巻"],
    [14, "喇叭銃"],
    [15, "蛍矢"],
    [16, "大盾"],
    [21, "まわし"],
    [22, "怪物毒"],
    [23, "しゃべる剣"],
    [24, "小麦粉"],
    [25, "王笏"],
    [26, "服従の鞭"],
    [31, "ぬいぐるみ"],
    [32, "魔杖"],
    [33, "怪物毒"],
    [34, "星衣"],
    [35, "聖印"],
    [36, "獣の毛皮"],
    [41, "日傘"],
    [42, "チェインソード"],
    [43, "邪眼"],
    [44, "怪物毒"],
    [45, "徒手空拳"],
    [46, "バカには見えない鎧"],
    [51, "ビキニアーマー"],
    [52, "輝く者"],
    [53, "貪る者"],
    [54, "滅ぼす者"],
    [55, "機械の体"],
    [56, "破城槌"],
    [61, "刈り取る者"],
    [62, "貫く者"],
    [63, "黄金の鶴嘴"],
    [64, "ムラサマ"],
    [65, "蒸気甲冑"],
    [66, "王剣"],
  ]

  return get_table_by_number(num, table)
end

#mk_rest_item_table(num) ⇒ Object

回復アイテム表(D66)



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 87

def mk_rest_item_table(num)
  table = [
    [11, "お弁当"],
    [12, "お弁当"],
    [13, "特効薬"],
    [14, "保存食"],
    [15, "担架"],
    [16, "珈琲"],
    [22, "軟膏(お弁当)"],
    [23, "チョコレート"],
    [24, "お酒"],
    [25, "フルコース"],
    [26, "ポーション"],
    [33, "お弁当"],
    [34, "救急箱"],
    [35, "強壮剤"],
    [36, "迷宮保険"],
    [44, "お弁当"],
    [45, "科学調味料"],
    [46, "惚れ薬"],
    [55, "お弁当"],
    [56, "復活薬"],
    [66, "お弁当"],
  ]

  return get_table_by_number(num, table)
end

#mk_search_break_tableObject

探索休憩表(2d6)



109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 109

def mk_search_break_table
  get_table_by_2d6([
    "一休みの前に道具の手入れ。ランダムに自分のアイテムスロット1つを選ぶ。そのスロットにレベルがあるアイテムがあった場合、そのアイテムのレベルが1上がる",
    "寝床を探していたらアルコープの奥の宝箱を見つける。[探索/11]の判定に成功したら好きな素材1種類を(1d6)個手に入れる",
    "一眠りしたら夢の中で…。[探索/11]の判定に成功したら、好きな部屋のモンスターの名前とトラップの数をGMから教えてもらえる",
    "配下が眠りにつき、静寂が訪れると隣の部屋から妙な物音が聞こえてきた。隣接する好きな部屋を選ぶ。[探索/10]の判定に成功すると、その部屋にモンスターがいるかどうか、いる場合はモンスターの種類と数が分かる",
    "一休みしようと持ったら、モンスターの墓場を発見した。好きな素材を1種類えらび、宮廷全員のあなたにたいする《好意》の合計に等しい個数だけその素材を入手する",
    "この部屋はなぜか落ち着く。もしもその部屋の中にあなたの好きなものがあれば《気力》を(1d6)点回復することができる",
    "壁に書かれた奇妙な壁画が、あなたを見つめている気がする…。[探索/9]の判定に成功したら、【エレベータ】を発見する",
    "白骨化した先客の死体が見つかる。使えそうな装備はありがたく頂戴しておこう。[探索/11]の判定に成功したら、コモンアイテムのカテゴリの中から好きなものを1つ選び、そのカテゴリのアイテムをランダムで1個手に入れる",
    "星の灯りで地図を眺める…部屋の構造からして、この辺りに何かありそうだ。[探索/10]の判定に成功すると、この部屋に仕掛けられたイベント型のトラップを全て発見する",
    "休んでいる間にトイレにいきたくなった。[探索/11]の判定に成功すると、迷宮のほころびを見つける。このゲームの間、この部屋から迷宮の外へ帰還することができる",
    "こ、これは秘密の扉?[探索/11]の判定に成功すると、この部屋に隣接する好きな部屋に通路を延ばすことができる",
  ])
end

#mk_search_happening_tableObject

探索ハプニング表(2d6)



228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 228

def mk_search_happening_table
  get_table_by_2d6([
    "指の震えが止まらない。【お酒】を消費することができなければ、このゲーム中[探索]-1",
    "流れ星に直撃。《HP》-(1d6)",
    "敵の過去を知り、同情してしまう。あなたのこのマップの支配者に対する《好意》+1。このゲームの間、《好意》を持ったキャラに対して攻撃を行い、絶対失敗した場合そのキャラへの《好意》と同じだけ《気力》が減少する",
    "昨日の友は今日の敵。あなたに対する《好意》が最も高いキャラを1人選ぶ。そのキャラに対する《好意》の分だけそのキャラへの《敵意》を上昇させ、その後《好意》を0にする",
    "うっかりアイテムを落として壊す。ランダムにアイテムスロットを1つ選び、そこにアイテムが入っていればそれを全て破壊する",
    "カーネルが活性化しトラップが強化される。このゲームの間、トラップを解除するための難易度+1",
    "友情にヒビが!宮廷全員のあなたに対する《好意》-1(最低0)、《敵意》+1",
    "敵の迷宮化攻撃!宮廷全員は[探索/11]を行い、失敗したキャラは(2d6)点のダメージを受ける",
    "つい出来心から国費に手を出してしまう。GMは好きなコモンアイテム1つを選ぶ。あなたはそのアイテムを手に入れるが、維持費+(1d6)MG、《民の声》-1。同じ部屋のPCは《希望》1点を消費して[探索/9]の判定に成功すれば、それを止めることができる",
    "封印されていたトラップを発動させてしまう。ランダムに災害系トラップから1つを選び、それを発動させる",
    "あなたを憎む迷宮支配者が賞金をかけた。このゲームの間、モンスターの攻撃やトラップの目標をランダムに決める場合、その目標はかならずあなたになる。(この効果を複数人が受けた場合、その中からランダムで決定する)",
  ])
end

#mk_search_item_table(num) ⇒ Object

探索アイテム表(D66)



116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 116

def mk_search_item_table(num)
  table = [
    [11, "星の欠片"],
    [12, "星の欠片"],
    [13, ""],
    [14, "お守り"],
    [15, "拷問具"],
    [16, "パワーリスト"],
    [22, "工具(星の欠片)"],
    [23, "テント"],
    [24, "楽器"],
    [25, "使い魔"],
    [26, "乗騎"],
    [33, "迷宮迷彩(星の欠片)"],
    [34, "罠百科"],
    [35, "迷宮防護服"],
    [36, "地図"],
    [44, "星の欠片"],
    [45, "時計"],
    [46, "もぐら棒"],
    [55, "星の欠片"],
    [56, "カボチャの馬車"],
    [66, "星の欠片"],
  ]

  return get_table_by_number(num, table)
end

#mk_skyrealm_landscape_table(num) ⇒ Object

天空風景表(D66)



142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# File 'lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb', line 142

def mk_skyrealm_landscape_table(num)
  table = [
    [11, "雨が降る部屋"],
    [12, "チーズにうがたれた洞穴"],
    [13, "中空に何層にも重なる空中庭園"],
    [14, "無限に連なる真っ白な洗濯物"],
    [15, "天空に向かって伸びる豆の木"],
    [16, "巨大な縦穴にぶら下がる縄ばしごや鎖"],
    [22, "強風の吹き荒れる部屋"],
    [23, "雲の上。なぜか、その上を歩くことができる"],
    [24, "濃霧に覆われた空洞"],
    [25, "無重量でふわふわ浮く部屋"],
    [26, "雪がしんしんと降り積もる部屋"],
    [33, "時空がねじ曲がった空中回廊"],
    [34, "怪物よけの風車が音を立てる通路"],
    [35, "天井に遺跡が見える空洞"],
    [36, "轟々と音を立てる巨大排気孔"],
    [44, "時折稲妻の走る部屋"],
    [45, "鳥の羽毛が舞い落ちる部屋"],
    [46, "青空が壁面いっぱいに描かれた空洞"],
    [55, "一面、鏡でできた部屋"],
    [56, "オーロラがゆらめく空洞"],
    [66, "重力方向がばらばらの部屋"],
  ]
  return get_table_by_number(num, table)
end

#mk_spooky_decoration_table(num) ⇒ Object

不気味表(D66)



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/bcdice/game_system/meikyu_kingdom/placename_table.rb', line 76

def mk_spooky_decoration_table(num)
  table = [
    [11, "赤錆(あかさび)"],
    [12, "串刺し(くしざし)"],
    [13, "鬼蜘蛛(おにぐも)"],
    [14, "蠍(さそり)"],
    [15, "幽霊(ゆうれい)"],
    [16, "髑髏(どくろ)"],
    [22, "血溜まり(ちだまり)"],
    [23, "臓物(ぞうもつ)"],
    [24, "骸(むくろ)"],
    [25, "鉤爪(かぎづめ)"],
    [26, "犬狼(けんろう)"],
    [33, "奈落(ならく)"],
    [34, "大蛇(おろち)"],
    [35, "地獄(じごく)"],
    [36, "蚯蚓(みみず)"],
    [44, "退廃(たいはい)"],
    [45, "土竜(もぐら)"],
    [46, "絶望(ぜつぼう)"],
    [55, "夜泣き(よなき)"],
    [56, "緑林(りょくりん)"],
    [66, "どん底(どんぞこ)"],
  ]
  return get_table_by_number(num, table)
end

#mk_strange_place_landscape_table(num) ⇒ Object

異界風景表(D66)



170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# File 'lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb', line 170

def mk_strange_place_landscape_table(num)
  table = [
    [11, "古びた六畳間"],
    [12, "せせこましいカラオケボックス"],
    [13, "時の止まった街"],
    [14, "ボールが一個転がっている体育館"],
    [15, "毛が生えている部屋"],
    [16, "なにかの待合室"],
    [22, "生物の粘液したたる体内"],
    [23, "ブランコやすべり台のある小公園"],
    [24, "安っぽいユニットバス"],
    [25, "上の住人がうるさい部屋"],
    [26, "人骨で組まれている部屋"],
    [33, "呼吸している部屋"],
    [34, "斜めに傾いた部屋"],
    [35, "ラブホテルの一室"],
    [36, "ときどきなにかが覗いていく部屋"],
    [44, "がやがやと話し声が聞こえる部屋"],
    [45, "触手が生えている部屋"],
    [46, "机と椅子が置いてある取調室"],
    [55, "静まりかえった教室"],
    [56, "天井に巨大な人の顔がある部屋"],
    [66, "常に揺れている部屋"],
  ]
  return get_table_by_number(num, table)
end

#mk_talent_break_tableObject

才覚休憩表(2d6)



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 75

def mk_talent_break_table
  get_table_by_2d6([
    "民との会話の中、経費節約のアイデアが沸く。[才覚/11]の判定に成功すると、維持費が(1d6)MG減少する",
    "嫌いなものが出てくる夢を見て心寂しくなったところに仲間が来てくれる。好きな宮廷内のキャラクター1人への《好意》+1",
    "好きなものの夢を見る。シチュエーションを表現し、幸せそうだと感じるプレイヤーが居たら《気力》+2",
    "国に残した家族を心配する民を励ます。[才覚/11]の判定に成功すると、《民の声》+2",
    "あらん限りの声を力を込めて檄を飛ばす。[才覚/9]の判定に成功すると、宮廷全員のあなたに対する《好意》の合計だけ、《民の声》が回復する",
    "休憩中も休み無く働いていると、配下がお茶を入れてくれる。《民の声》+1",
    "今後の冒険について口角泡を飛ばして議論する。好きな宮廷内のキャラクター1人を選び、そのキャラの自分に対する《敵意》を好きなだけ上昇させる。上昇した《敵意》と等しい値だけ《民の声》が回復する",
    "たまには料理をしようと思い立つ。【お弁当】か【フルコース】の効果を使用して、食事を取ることが出来る。使用した場合、(1d6)を振る。奇数が出たら料理は美味だった、《民の声》+1。偶数が出たら料理は非道い味になった、宮廷全員のあなたに対する《敵意》+1",
    "年若い配下に冒険譚をせがまれる。[才覚/現在の《民の声》の値+3]の判定に成功すると、《民の声》+(1d6)。失敗すると次の1クォーター行動できない",
    "迷宮に囚われた人々を見つける。助けたいが、食料がやや心配だ。[才覚/9]の判定に成功すると、自分の《配下》+(1d6)",
    "この迷宮は一筋縄ではいかないようだ。今こそ、用意していたアレが役に立つだろう。自分の習得しているスキル1種を未修得にし、同じスキルグループのスキル1種を修得してもよい。この効果は永続する。",
  ])
end

#mk_talent_happening_tableObject

才覚ハプニング表(2d6)



194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 194

def mk_talent_happening_table
  get_table_by_2d6([
    "自分に王国を導くことなどできるのだろうか…。【お酒】を消費することができなければ、このゲーム中[才覚]-1",
    "国王の威信が問われる。(2d6)を振り、その値が[《民の声》+宮廷全員の国王に対する《好意》の合計]以上の場合、《民の声》-(1d6)し、さらに才覚ハプニング表を振る",
    "思考に霧の帳が降りる。「散漫」のバッドステータスを受ける",
    "重大な裏切りを犯してしまう。あなたに対する《好意》が最も高いキャラを1人選ぶ。そのキャラに対する《好意》の分だけそのキャラへの《敵意》を上昇させ、その後《好意》を0にする",
    "この人についていっていいのだろうか…?宮廷全員のあなたに対する《好意》-1(最低0)。その結果、誰かの《好意》が0になると《民の声》-1",
    "宮廷のスキャンダルが暴露される。宮廷全員のあなたに対する《敵意》のうち最も高いものと同じだけ《民の声》が減少する",
    "あなたの失策が噂になる。近隣の国の中からランダムで1つ選ぶ。その国との関係が1段階悪化する",
    "王国の経済に破綻の危機が。[生活レベル/9+現在の経過ターン数]の判定に失敗すると維持費+(1d6)MG",
    "この区画一体の迷宮化が激しくなる。1クォーターが経過する",
    "逸材の賃上げ要求が始まる。終了フェイズの予算会議の時、[今回使用した逸材の数×1]MGだけ維持費が上昇する",
    "今の自分に自信が持てなくなる。生まれ表からランダムにジョブを1つ選び、現在のジョブをそのジョブに変更する",
  ])
end

#mk_travel_tableObject

道中表(2d6)



330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 330

def mk_travel_table
  get_table_by_2d6([
    "道中の時間が愛を育む。全員、好きなキャラ1体を選びそのキャラに対する《好意》+1",
    "何かの死体を見つけた。好きな素材1種類を(1d6)手に入れる",
    "辺りが闇に包まれる。宮廷の中からランダムにキャラを選ぶ。そのキャラが【星の欠片】を持っていたら、それが1個破壊される",
    "道に迷いそうになる。全員[才覚/9]の判定を行い、(1d6-成功したキャラ数)クォーター(最低0)、時間が経過する",
    "トラップに引っかかる。全員[探索/9]の判定にを行い、失敗したキャラは《HP》が(1d6)点減少する",
    "未知の土地の場合、何も起こらない。既知の土地の場合、その土地固有のイベントがある場合はそれが起こる",
    "モンスターの襲撃を受けた。全員[武勇/9]の判定を行い、失敗したキャラは《HP》が(1d6)点減少する",
    "恐ろしげな咆哮が響き渡る。全員[魅力/9]の判定を行い、失敗したキャラは《配下》が(1d6)人逃走し、自国へ帰る",
    "周辺の迷宮化が進む。宮廷全員は、既知の土地の中からランダムに選んだ土地へ移動する",
    "何かを拾う。コモンアイテムをランダムに1個選び、それを入手する",
    "1MG拾う",
  ])
end

#mk_treasure1_tableObject

お宝表1(1d6)



407
408
409
410
411
412
413
414
415
416
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 407

def mk_treasure1_table
  get_table_by_1d6([
    "何も無し",
    "何も無し",
    "そのモンスターの素材欄の中から、好きな素材1個",
    "そのモンスターの素材欄の中から、好きな素材2個",
    "そのモンスターの素材欄の中から、好きな素材3個",
    "【お弁当】1個",
  ])
end

#mk_treasure2_tableObject

お宝表2(1d6)



419
420
421
422
423
424
425
426
427
428
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 419

def mk_treasure2_table
  get_table_by_1d6([
    "そのモンスターの素材欄の中から、好きな素材3個",
    "そのモンスターの素材欄の中から、好きな素材4個",
    "そのモンスターの素材欄の中から、好きな素材5個",
    "ランダムに回復アイテム1個",
    "ランダムに武具アイテム1個。レベルがあるアイテムなら1レベルのものが手に入る",
    "ランダムにレア一般アイテム1個",
  ])
end

#mk_treasure3_tableObject

お宝表3(1d6)



431
432
433
434
435
436
437
438
439
440
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 431

def mk_treasure3_table
  get_table_by_1d6([
    "そのモンスターの素材欄の中から、好きな素材5個",
    "そのモンスターの素材欄の中から、好きな素材7個",
    "そのモンスターの素材欄の中から、好きな素材10個",
    "好きなコモンアイテムのカテゴリ1種を選び、そのカテゴリからランダムにアイテム1個。レベルがあるアイテムなら1レベルのものが手に入る",
    "ランダムにレア一般アイテム1個。レベルがあるアイテムなら1レベルのものが手に入る",
    "ランダムにレア武具アイテム1個",
  ])
end

#mk_treasure4_tableObject

お宝表4(1d6)



443
444
445
446
447
448
449
450
451
452
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 443

def mk_treasure4_table
  get_table_by_1d6([
    "そのモンスターの素材欄の中から、好きな素材5個",
    "そのモンスターの素材欄の中から、好きな素材10個",
    "好きなコモンアイテムのカテゴリ1種を選び、そのカテゴリからランダムにアイテム1個。レベルがあるアイテムなら2レベルのものが手に入る",
    "好きなコモンアイテムのカテゴリ1種を選び、そのカテゴリからランダムにアイテム1個。レベルがあるアイテムなら3レベルのものが手に入る",
    "ランダムにレア一般アイテム1個。レベルのあるアイテムなら2レベルのものが手に入る",
    "ランダムにレア武具アイテム1個。レベルのあるアイテムなら1レベルのものが手に入る",
  ])
end

#mk_treasure5_tableObject

お宝表5(1d6)



455
456
457
458
459
460
461
462
463
464
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 455

def mk_treasure5_table
  get_table_by_1d6([
    "そのモンスターの素材欄の中から、好きな素材10個",
    "そのモンスターの素材欄の中から、好きな素材15個",
    "好きなコモンアイテムのカテゴリ1種を選び、そのカテゴリからランダムにアイテム1個。レベルがあるアイテムなら4レベルのものが手に入る",
    "ランダムにレア一般アイテム1個。レベルのあるアイテムなら3レベルのものが手に入る",
    "ランダムにレア武具アイテム1個。レベルのあるアイテムなら2レベルのものが手に入る",
    "好きなレアアイテム1個",
  ])
end

#mk_valor_break_tableObject

武勇休憩表(2d6)



126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 126

def mk_valor_break_table
  get_table_by_2d6([
    "時が満ちるにつれ、闘志が高まる。現在の経過ターン数と等しい数だけ《気力》が回復する",
    "もっと敵と戦いたい、血に飢えた自分を発見する。[武勇/11]の判定に成功すると《気力》が1点、《HP》が(1d6)点回復する",
    "部屋の片隅にうち捨てられた亡骸を発見する。このマップの支配者の名前が分かっていれば、宮廷全員は支配者への《敵意》を1点上昇させることができる",
    "部屋の隅に隠れていた怪物が襲いかかってきた。[武勇/10]の判定に成功すると怪物を追い払い《民の声》+1。失敗すると自分の《配下》-(1d6)、《民の声》-1",
    "あいつの短剣がきみの横をかすめて毒蛇を追い払う。好きなキャラ1体を選び、そのキャラに対する《敵意》の分だけ《好意》を上昇させ、その後《敵意》を0にする",
    "実力を付けてきたアイツへとドス黒い気持ちがわき上がる。好きなキャラ1体を選び、そのキャラへの《敵意》+1",
    "ちょっとした行き違いから軽い口論になる。宮廷内からランダムにキャラ1体を選び、そのキャラとあなたの互いへの《敵意》+1",
    "ライバルの活躍が気になる。宮廷全員の中で、最も高いあなたに対する《敵意》の値と同じ数だけ《気力》を獲得する",
    "休むべきときにしっかり休む。《HP》を(2d6)点回復することができる",
    "怪物のいた痕跡を発見する。[武勇/11]の判定を行い、成功するとGMからこのゲームで遭遇する予定の、まだ種類の分かっていないモンスターを1種類教えてもらえる",
    "殺気に反応し飛び起きた!ランダムエンカウント表でモンスターを決定し戦闘を行う。そのモンスターを倒した後、ランダムにレアアイテム1個を手に入れる",
  ])
end

#mk_valor_happening_tableObject

武勇ハプニング表(2d6)



245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
# File 'lib/bcdice/game_system/meikyu_kingdom/tables.rb', line 245

def mk_valor_happening_table
  get_table_by_2d6([
    "つい幼児退行を起こしそうになる。【お酒】を消費することができなければ、このゲーム中[武勇]-1",
    "不意打ちを食らう。ランダムエンカウントが発生し、奇襲扱いで戦闘を行う",
    "配下の期待が、あなたの重荷となる。[現在の《民の声》-(1d6)]だけ《気力》が減少する",
    "配下があなたをかばう。自分の《配下》が(1d6)人減少する",
    "ムカついたので思わず殴る。自分の《敵意》が最も高いキャラからランダムに1体選び、そのキャラの《HP》が自分の[武勇]と同じだけ減少する",
    "決闘だっ!宮廷全員のあなたに対する《敵意》の中で、最も高い値と同じだけあなたの《HP》が減少する",
    "豚どもめ…。宮廷全員に対する《敵意》+1",
    "古傷が痛み出す。このゲームの間、戦闘で、あなたに対する敵の攻撃が成功すると、常に余分に1点ダメージを受ける",
    "不意に絶望と虚無感が襲い、心が折れる。宮廷全員の《気力》-1",
    "あなたを親の敵と名乗るものたちが現れた。このゲーム中に倒したモンスターからランダムに1種類を選び、そのモンスター(1d6)体と戦闘を行う",
    "自分の失敗が許せない。このゲームの間、《器》が1点減少したものとして扱う",
  ])
end

#mk_waterside_landscape_table(num) ⇒ Object

水域風景表(D66)



114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# File 'lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb', line 114

def mk_waterside_landscape_table(num)
  table = [
    [11, "轟々と流れる川にかかった橋"],
    [12, "色とりどりの珊瑚の中"],
    [13, "腰高まで水に浸かった部屋"],
    [14, "澄んだ水が流れる噴水と水飲み場"],
    [15, "沸騰する湖"],
    [16, "地面が干潟化した部屋"],
    [22, "水をたたえた貯水池"],
    [23, "熱い蒸気がたちこめる部屋"],
    [24, "空洞に広がる沼地"],
    [25, "樽や鎖が放置されている船の中"],
    [26, "水槽が並ぶ水族館"],
    [33, "悪臭を放つ下水道"],
    [34, "底に遺跡が見える水没した空洞"],
    [35, "桟橋と船着き場"],
    [36, "筏やハシケが浮かぶ湖"],
    [44, "巨大な縦穴と滝"],
    [45, "かつて建設された上水道の中"],
    [46, "ペンギンの右往左往する氷結した湖"],
    [55, "湯気を立てる温泉"],
    [56, "奇怪な彫刻が施された古井戸"],
    [66, "壁に貝やフジツボがはりついた部屋"],
  ]
  return get_table_by_number(num, table)
end

#mk_weapon_item_table(num) ⇒ Object

武具アイテム表(D66)



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/bcdice/game_system/meikyu_kingdom/item_table.rb', line 29

def mk_weapon_item_table(num)
  table = [
    [11, "だんびら"],
    [12, "だんびら"],
    [13, "ダガー"],
    [14, "戦斧"],
    [15, ""],
    [16, ""],
    [22, "籠手(だんびら)"],
    [23, "手裏剣"],
    [24, "石弓"],
    [25, "甲冑"],
    [26, "戦鎚"],
    [33, "大弓(だんびら)"],
    [34, "爆弾"],
    [35, "鉄砲"],
    [36, "大剣"],
    [44, "拳銃(だんびら)"],
    [45, "ホウキ"],
    [46, "徹甲弾"],
    [55, "だんびら"],
    [56, "大砲"],
    [66, "だんびら"],
  ]

  return get_table_by_number(num, table)
end

#mk_word_1_table(num) ⇒ Object

単語表1(D66)



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/bcdice/game_system/meikyu_kingdom/word_table.rb', line 7

def mk_word_1_table(num)
  table = [
    [11, "魔法"],
    [12, "おめかし"],
    [13, "狭いところ"],
    [14, "夜更かし"],
    [15, "節約"],
    [16, "会議"],
    [22, "ヒゲ"],
    [23, "孤独"],
    [24, "自慢話"],
    [25, "自分探し"],
    [26, "異性"],
    [33, "ヒラヒラした服"],
    [34, "平穏な生活"],
    [35, "自分語り"],
    [36, "風呂"],
    [44, "古いもの"],
    [45, "頭が悪い人"],
    [46, "暗闇"],
    [55, "許嫁"],
    [56, ""],
    [66, "バカ"],
  ]
  return get_table_by_number(num, table)
end

#mk_word_2_table(num) ⇒ Object

単語表2(D66)



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/bcdice/game_system/meikyu_kingdom/word_table.rb', line 35

def mk_word_2_table(num)
  table = [
    [11, "科学"],
    [12, "読書"],
    [13, "広いところ"],
    [14, "早起き"],
    [15, "ムダ"],
    [16, "仕事"],
    [22, "ハゲ"],
    [23, "みんなで集まること"],
    [24, "ナンパ"],
    [25, "昔話"],
    [26, "同性"],
    [33, "武器の手入れ"],
    [34, "戦争"],
    [35, "人の噂"],
    [36, "散髪"],
    [44, "新しいもの"],
    [45, "頭がよい人"],
    [46, ""],
    [55, ""],
    [56, "王様"],
    [66, "ホラ話"],
  ]
  return get_table_by_number(num, table)
end

#mk_word_3_table(num) ⇒ Object

単語表3(D66)



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/bcdice/game_system/meikyu_kingdom/word_table.rb', line 63

def mk_word_3_table(num)
  table = [
    [11, "子供"],
    [12, "弱い人"],
    [13, "処刑"],
    [14, "叙事詩"],
    [15, "煙草"],
    [16, "病院"],
    [22, "目立つこと"],
    [23, "酒盛り"],
    [24, "料理"],
    [25, "武芸"],
    [26, "田舎"],
    [33, "自分の国"],
    [34, "伝統"],
    [35, "セレモニー"],
    [36, "告げ口"],
    [44, "自分の声"],
    [45, "マヨネーズ"],
    [46, "おせっかい"],
    [55, "外国人"],
    [56, "迷宮"],
    [66, "ねこみみ"],
  ]
  return get_table_by_number(num, table)
end

#mk_word_4_table(num) ⇒ Object

単語表4(D66)



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/bcdice/game_system/meikyu_kingdom/word_table.rb', line 91

def mk_word_4_table(num)
  table = [
    [11, "年寄り"],
    [12, "強い人"],
    [13, "空想"],
    [14, "冗談"],
    [15, "クスリ"],
    [16, "怪物"],
    [22, "一騎打ち"],
    [23, "賭け事"],
    [24, ""],
    [25, "勉強"],
    [26, "都会"],
    [33, "冒険"],
    [34, "ダイナマイト大帝"],
    [35, "悪事"],
    [36, "言い訳"],
    [44, "隣のキャラのジョブ"],
    [45, "小鬼"],
    [46, "謝ること"],
    [55, "異種族"],
    [56, ""],
    [66, ""],
  ]
  return get_table_by_number(num, table)
end

#replace_text(string) ⇒ Object



69
70
71
72
73
74
75
76
77
78
# File 'lib/bcdice/game_system/MeikyuKingdom.rb', line 69

def replace_text(string)
  debug("change_text before string", string)

  string = string.gsub(/(\d+)MK6/i) { "#{Regexp.last_match(1)}R6" }
  string = string.gsub(/(\d+)MK/i) { "#{Regexp.last_match(1)}R6" }

  debug("change_text after string", string)

  return string
end

#result_2d6_text(total, dice_total, cmp_op, target) ⇒ Object



104
105
106
107
108
109
# File 'lib/bcdice/game_system/MeikyuKingdom.rb', line 104

def result_2d6_text(total, dice_total, cmp_op, target)
  text = result_nd6_only(total, dice_total, cmp_op, target)&.text
  return "" if text.nil?

  return "#{text}"
end

#result_nd6(total, dice_total, dice_list, cmp_op, target) ⇒ Object



80
81
82
83
84
85
86
87
88
# File 'lib/bcdice/game_system/MeikyuKingdom.rb', line 80

def result_nd6(total, dice_total, dice_list, cmp_op, target)
  return Result.nothing if target == "?"
  return nil unless cmp_op == :>=

  result = result_nd6_only(total, dice_total, cmp_op, target)
  result.text += kiryoku_result(total, dice_list, target)

  return result
end

#result_nd6_only(total, dice_total, cmp_op, target) ⇒ Object



90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/bcdice/game_system/MeikyuKingdom.rb', line 90

def result_nd6_only(total, dice_total, cmp_op, target)
  return nil unless cmp_op == :>=

  if dice_total <= 2
    Result.fumble("絶対失敗")
  elsif dice_total >= 12
    Result.critical("絶対成功")
  elsif total >= target
    Result.success("成功")
  else
    Result.failure("失敗")
  end
end