class BCDice::GameSystem::ParanoiaRebooted
Constants
- HELP_MESSAGE
ダイスボットの使い方
- ID
ゲームシステムの識別子
- NAME
ゲームシステム名
- SORT_KEY
ゲームシステム名の読みがな
Public Instance Methods
eval_game_system_specific_command(command)
click to toggle source
# File lib/bcdice/game_system/ParanoiaRebooted.rb, line 31 def eval_game_system_specific_command(command) case command when /^ND/i return get_node_dice_roll(command) when /^MP/i return get_mutant_power_roll(command) else return nil end end
Private Instance Methods
generate_roll_results(dices)
click to toggle source
# File lib/bcdice/game_system/ParanoiaRebooted.rb, line 44 def generate_roll_results(dices) computer_dice_message = '' results = dices.dup if results[-1].to_i == 6 results[-1] = 'C' computer_dice_message = '(Computer)' end return results, computer_dice_message end
get_mutant_power_roll(command)
click to toggle source
# File lib/bcdice/game_system/ParanoiaRebooted.rb, line 81 def get_mutant_power_roll(command) debug("eval_game_system_specific_command Begin") m = /^MP(\d+)/i.match(command) unless m return '' end debug("command", command) parameter_num = m[1].to_i dice_count = parameter_num.abs + 1 dices = @randomizer.roll_barabara(dice_count, 6) failure_rate = dices.count(1) message = failure_rate == 0 ? '成功' : "失敗(#{failure_rate})" results, computer_dice_message = generate_roll_results(dices) debug(dices) debug("eval_game_system_specific_command result") return "(#{command}) > [#{results.join(', ')}] > #{message}#{computer_dice_message}" end
get_node_dice_roll(command)
click to toggle source
# File lib/bcdice/game_system/ParanoiaRebooted.rb, line 55 def get_node_dice_roll(command) debug("eval_game_system_specific_command Begin") m = /^ND((-)?\d+)/i.match(command) unless m return '' end debug("command", command) parameter_num = m[1].to_i dice_count = parameter_num.abs + 1 dices = @randomizer.roll_barabara(dice_count, 6) success_rate = dices.count { |dice| dice >= 5 } success_rate -= dices.count { |dice| dice < 5 } if parameter_num < 0 debug(dices) results, computer_dice_message = generate_roll_results(dices) debug("eval_game_system_specific_command result") return "(#{command}) > [#{results.join(', ')}] > 成功度#{success_rate}#{computer_dice_message}" end