Class: BCDice::GameSystem::GhostLive

Inherits:
Base
  • Object
show all
Defined in:
lib/bcdice/game_system/GhostLive.rb

Constant Summary collapse

ID =

ゲームシステムの識別子

'GhostLive'
NAME =

ゲームシステム名

'実況ゴーストライヴ'
SORT_KEY =

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

'しつきようこおすとらいふ'
HELP_MESSAGE =

ダイスボットの使い方

"\u25A0\u8FFD\u52A0\u76EE\u6A19\u8868\uFF08p11\uFF09\nATT, AdditionalTargetTable\n\n\u25A0\u7A2E\u5225\uFF1A\u5730\u7E1B\u970A\uFF08p26\uFF09\n\u25A1\uFF21.\u970A\u969C\u30EA\u30B9\u30C8\nJHA, JibakuHauntA\n\u25A1\uFF22.\u970A\u969C\u52B9\u679C\u30EA\u30B9\u30C8\nJHB, JibakuHauntB\n\n\u25A0\u7A2E\u5225\uFF1A\u30B7\u30E3\u30A4\u306A\u5E7D\u970A\uFF08p27\uFF09\n\u25A1\uFF21.\u970A\u969C\u30EA\u30B9\u30C8\nSHA, ShyHauntA\n\u25A1\uFF22.\u970A\u969C\u52B9\u679C\u30EA\u30B9\u30C8\nSHB, ShyHauntB\n\n\u25A0\u7A2E\u5225\uFF1A\u3050\u3061\u3083\u3050\u3061\u3083\uFF08p28\uFF09\n\u25A1\uFF21.\u970A\u969C\u30EA\u30B9\u30C8\nGHA, GuchaHauntA\n\u25A1\uFF22.\u970A\u969C\u52B9\u679C\u30EA\u30B9\u30C8\nGHB, GuchaHauntB\n"
TABLES =
{
  "AdditionalTargetTable" => DiceTable::Table.new(
    "追加目標表",
    "1D6",
    [
      "オバケを撮影する。(依頼主:専門家/報酬:1L)",
      "誰かひとりが霊障を[サイクル数]回受ける。(依頼主:専門家/報酬:[サイクル数]L)",
      "誰かひとりが[精神力]を10以下の状態で帰る。(依頼主:専門家/報酬:3L)",
      "[精神力]の平均が20以下の状態で帰る。(依頼主:リスナー/報酬:[視聴回数]を10倍)",
      "全員がスマホ以外の[アイテム]を1個だけ持ち込んで生還する。(依頼主:リスナー/報酬:[視聴回数]を10倍)",
      "すべての[回収品]を集める。(依頼主:専門家/報酬:5L)",
    ]
  ),
  "JibakuHauntA" => DiceTable::Table.new(
    "地縛霊:霊障リスト",
    "1D6",
    [
      "隙間――家具の隙間、扉の隙間、そんな暗がりから視線を感じる。",
      "腐臭――吐き気を催すような、下水に似た臭いが漂ってくる。",
      "吐息――「ハァ……」耳元に、やけに湿った吐息が吹きかけられる。",
      "足音――立ち止まる度に、ひとつ多く足音が響く。誰か、いる……?",
      "背後――振り向いても、そこには誰もいない。それなのに、ずっと後ろに気配を感じる。",
      "鏡――鏡に背を向けた瞬間、あり得ない強さでそちらへ引き寄せられた。肩には手の形のアザができている。",
    ]
  ),
  "JibakuHauntB" => DiceTable::Table.new(
    "地縛霊:霊障効果リスト",
    "1D6",
    [
      "[精神力]減少:[1D2+PC人数]点/[視聴回数]増加:とくになし/特殊効果:とくになし",
      "[精神力]減少:[1D4+PC人数]点/[視聴回数]増加:とくになし/特殊効果:とくになし",
      "[精神力]減少:[1D6+PC人数]点/[視聴回数]増加:2倍/特殊効果:とくになし",
      "[精神力]減少:[1D10+PC人数]点/[視聴回数]増加:3倍/特殊効果:シーンに登場しているPCの[アイテム]を1つ破壊する。",
      "[精神力]減少:[1D20+PC人数]点/[視聴回数]増加:5倍/特殊効果:シーンに登場しているPCのスマホを破壊する。",
      "[精神力]減少:[1D100+PC人数]点/[視聴回数]増加:10倍/特殊効果:シーンに登場しているPCのスマホを破壊する。",
    ]
  ),
  "ShyHauntA" => DiceTable::Table.new(
    "シャイな幽霊:霊障リスト",
    "1D6",
    [
      "倦怠感――歩くのも辛いくらいの倦怠感。生きているのも辛い。",
      "ラップ音――弾けるような、叩くような音が連続して聞こえる。",
      "空飛ぶ皿――棚に収まっていた食器が、不意に飛び出し、けたたましい音を立てて砕けていく。",
      "頭痛――頭が、割れそうに痛い。小さな物音ですら頭に響いてくる。",
      "点滅――灯りが明滅する。……あれ、ここ電気通ってたっけ?",
      "血文字――壁に、床に、赤⿊い液体が滲み出す。それは文字を形作った。「か え れ」",
    ]
  ),
  "ShyHauntB" => DiceTable::Table.new(
    "シャイな幽霊:霊障効果リスト",
    "1D6",
    [
      "[精神力]減少:[2+PC人数]点/[視聴回数]増加:とくになし/特殊効果:とくになし",
      "[精神力]減少:[4+PC人数]点/[視聴回数]増加:2倍/特殊効果:シーンに登場しているPCがふたりの場合、追加で[精神力]を2減少させる。",
      "[精神力]減少:[6+PC人数]点/[視聴回数]増加:3倍/特殊効果:シーンに登場しているPCがひとりの場合、追加で[精神力]を4減少させる。",
      "[精神力]減少:[10+PC人数]点/[視聴回数]増加:5倍/特殊効果:シーンに登場しているPCがふたりの場合、追加で[精神力]を6減少させる。",
      "[精神力]減少:[20+PC人数]点/[視聴回数]増加:10倍/特殊効果:シーンに登場しているPCがひとりの場合、追加で[精神力]を2減少させる。",
      "[精神力]減少:[40+PC人数]点/[視聴回数]増加:20倍/特殊効果:シーンに登場しているPCのスマホを破壊する。",
    ]
  ),
  "GuchaHauntA" => DiceTable::Table.new(
    "ぐちゃぐちゃ:霊障リスト",
    "1D6",
    [
      "走る人形――ひび割れた人形が落ちている。一瞬視線をそらした瞬間、それはありえない動きで走り去っていった。",
      "血痕――天井から血が滴ってくる。その量は、おおよそ人一人分……いや、それ以上だ。",
      "着信――スマホの着信音が鳴る。こんな時に誰が――表示されていたのは、死んだはずの知り合いの名前だった。",
      "自分に似た他人――自分にそっくりな人が目の前に立っていた、気がする。",
      "衝撃――誰かに思いっきり押された気がしたのに誰もいない。",
      "記憶がない――数分間のことを何も覚えてない。コメント欄がリスナーの心配する声でいっぱいだ。いったい何が……?",
    ]
  ),
  "GuchaHauntB" => DiceTable::Table.new(
    "ぐちゃぐちゃ:霊障効果リスト",
    "1D6",
    [
      "[精神力]減少:[5+PC人数]点/[視聴回数]増加:2倍/特殊効果:とくになし",
      "[精神力]減少:[10+PC人数]点/[視聴回数]増加:3倍/特殊効果:とくになし",
      "[精神力]減少:[2D10+PC人数]点/[視聴回数]増加:4倍/特殊効果:シーンに登場しているPCがふたりの場合、追加で[精神力]を5減少させる。",
      "[精神力]減少:[3D10+PC人数]点/[視聴回数]増加:5倍/特殊効果:シーンに登場しているPCがひとりの場合、[アイテム]をランダムに1つ壊す。",
      "[精神力]減少:[1D100+PC人数]点/[視聴回数]増加:10倍/特殊効果:シーンに登場しているPCのスマホを破壊する。",
      "[精神力]減少:[1D100+10+PC人数]点/[視聴回数]増加:20倍/特殊効果:すべてのPCのスマホを破壊する。",
    ]
  ),
}.transform_keys(&:upcase).freeze
ALIAS =
{
  "ATT" => "AdditionalTargetTable",
  "JHA" => "JibakuHauntA",
  "JHB" => "JibakuHauntB",
  "SHA" => "ShyHauntA",
  "SHB" => "ShyHauntB",
  "GHA" => "GuchaHauntA",
  "GHB" => "GuchaHauntB",
}.transform_values(&:upcase).freeze

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, #initialize, prefixes_pattern, register_prefix, register_prefix_from_super_class, #sort_add_dice?, #sort_barabara_dice?

Methods included from Translate

#translate

Constructor Details

This class inherits a constructor from BCDice::Base

Instance Method Details

#eval_game_system_specific_command(command) ⇒ Object



39
40
41
42
# File 'lib/bcdice/game_system/GhostLive.rb', line 39

def eval_game_system_specific_command(command)
  command = ALIAS[command] || command
  roll_tables(command, TABLES)
end