class BCDice::GameSystem::StratoShout

Constants

HELP_MESSAGE

ダイスボットの使い方

ID

ゲームシステムの識別子

NAME

ゲームシステム名

RTT
SORT_KEY

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

TABLES

Public Class Methods

new(command) click to toggle source
Calls superclass method BCDice::Base::new
# File lib/bcdice/game_system/StratoShout.rb, line 28
def initialize(command)
  super(command)

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

Private Class Methods

translate_rtt(locale) click to toggle source
# File lib/bcdice/game_system/StratoShout.rb, line 68
def translate_rtt(locale)
  DiceTable::SaiFicSkillTable.from_i18n("StratoShout.RTT", locale, rtt: 'AT', rttn: ['AT1', 'AT2', 'AT3', 'AT4', 'AT5', 'AT6'])
end
translate_tables(locale) click to toggle source
# File lib/bcdice/game_system/StratoShout.rb, line 52
def translate_tables(locale)
  {
    "VOT" => DiceTable::Table.from_i18n("StratoShout.table.VOT", locale),
    "GUT" => DiceTable::Table.from_i18n("StratoShout.table.GUT", locale),
    "BAT" => DiceTable::Table.from_i18n("StratoShout.table.BAT", locale),
    "KEYT" => DiceTable::Table.from_i18n("StratoShout.table.KEYT", locale),
    "DRT" => DiceTable::Table.from_i18n("StratoShout.table.DRT", locale),
    "EMO" => DiceTable::Table.from_i18n("StratoShout.table.EMO", locale),
    "SCENE" => DiceTable::Table.from_i18n("StratoShout.table.SCENE", locale),
    "MACHI" => DiceTable::Table.from_i18n("StratoShout.table.MACHI", locale),
    "GAKKO" => DiceTable::Table.from_i18n("StratoShout.table.GAKKO", locale),
    "BAND" => DiceTable::Table.from_i18n("StratoShout.table.BAND", locale),
    "TENKAI" => DiceTable::D66Table.from_i18n("StratoShout.table.TENKAI", locale),
  }
end

Public Instance Methods

eval_game_system_specific_command(command) click to toggle source
# File lib/bcdice/game_system/StratoShout.rb, line 45
def eval_game_system_specific_command(command)
  roll_tables(command, self.class::TABLES) || self.class::RTT.roll_command(@randomizer, command)
end
result_2d6(_total, dice_total, _dice_list, cmp_op, _target) click to toggle source
# File lib/bcdice/game_system/StratoShout.rb, line 35
def result_2d6(_total, dice_total, _dice_list, cmp_op, _target)
  return nil unless cmp_op == :>=

  if dice_total <= 2
    Result.fumble(translate("StratoShout.fumble"))
  elsif dice_total >= 12
    Result.critical(translate("StratoShout.critical"))
  end
end