Class: BCDice::GameSystem::StratoShout

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

Direct Known Subclasses

StratoShout_Korean

Constant Summary collapse

ID =

ゲームシステムの識別子

'StratoShout'
NAME =

ゲームシステム名

'ストラトシャウト'
SORT_KEY =

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

'すとらとしやうと'
HELP_MESSAGE =

ダイスボットの使い方

<<~INFO_MESSAGE_TEXT

  VOT, GUT, BAT, KEYT, DRT: (ボーカル、ギター、ベース、キーボード、ドラム)トラブル表
  EMO: 感情表
  ATn, RTTn: 特技表(n=分野。空:ランダム 1:主義 2:身体 3:モチーフ 4:エモーション 5:行動 6:逆境)
  RCT: 分野ランダム表
  SCENE, MACHI, GAKKO, BAND: (汎用、街角、学校、バンド)シーン表 接近シーンで使用
  TENKAI: シーン展開表 奔走シーン 練習シーンで使用

  D66入れ替えあり
INFO_MESSAGE_TEXT
TABLES =
translate_tables(:ja_jp)
RTT =
translate_rtt(:ja_jp)

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

Methods included from Translate

#translate

Constructor Details

#initialize(command) ⇒ StratoShout

Returns a new instance of StratoShout.



28
29
30
31
32
33
# File 'lib/bcdice/game_system/StratoShout.rb', line 28

def initialize(command)
  super(command)

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

Instance Method Details

#eval_game_system_specific_command(command) ⇒ Object



45
46
47
# 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) ⇒ Object



35
36
37
38
39
40
41
42
43
# 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