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