class BCDice::GameSystem::PulpCthulhu

Constants

FAILED_CASTING_EFFECTS_TABLE

キャスティング・ロールのプッシュに失敗した場合

HELP_MESSAGE

ダイスボットの使い方

ID

ゲームシステムの識別子

INSANE_TALENTS_TABLE

狂気のタレント表

MADNESS_REAL_TIME_TABLE
MADNESS_SUMMARY_TABLE
NAME

ゲームシステム名

SORT_KEY

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

Public Instance Methods

eval_game_system_specific_command(command) click to toggle source
# File lib/bcdice/game_system/PulpCthulhu.rb, line 52
def eval_game_system_specific_command(command)
  case command
  when /^CC/i
    return skill_roll(command)
  when /^CBR/i
    return combine_roll(command)
  when /^FAR/i
    return getFullAutoResult(command)
  when /^BMR/i # 狂気の発作(リアルタイム)
    return roll_bmr_table()
  when /^BMS/i # 狂気の発作(サマリー)
    return roll_bms_table()
  when /^FCE/i # キャスティング・ロールのプッシュに失敗した場合
    return roll_1d20_table("キャスティング・ロール失敗表", FAILED_CASTING_EFFECTS_TABLE)
  when /^PH/i # 恐怖症表
    return roll_1d100_table("恐怖症表", PHOBIAS_TABLE)
  when /^MA/i # マニア表
    return roll_1d100_table("マニア表", MANIAS_TABLE)
  when /^IT/i # 狂気のタレント表
    return roll_1d20_table("狂気のタレント表", INSANE_TALENTS_TABLE)
  else
    return nil
  end
end

Private Instance Methods

roll_1d20_table(table_name, table) click to toggle source
# File lib/bcdice/game_system/PulpCthulhu.rb, line 79
def roll_1d20_table(table_name, table)
  total_n = @randomizer.roll_once(20)
  index = total_n - 1

  text = table[index]

  return "#{table_name}(#{total_n}) > #{text}"
end
roll_bmr_table() click to toggle source

表一式 即時の恐怖症表

# File lib/bcdice/game_system/PulpCthulhu.rb, line 90
def roll_bmr_table()
  total_n = @randomizer.roll_once(10)
  text = MADNESS_REAL_TIME_TABLE[total_n - 1]

  time_n = @randomizer.roll_once(10)

  return "狂気の発作(リアルタイム)(#{total_n}) > #{text}(1D10>#{time_n}ラウンド)"
end
roll_bms_table() click to toggle source

略式の恐怖表

# File lib/bcdice/game_system/PulpCthulhu.rb, line 113
def roll_bms_table()
  total_n = @randomizer.roll_once(10)
  text = MADNESS_SUMMARY_TABLE[total_n - 1]

  time_n = @randomizer.roll_once(10)

  return "狂気の発作(サマリー)(#{total_n}) > #{text}(1D10>#{time_n}時間)"
end