Class: BCDice::GameSystem::FutariSousa

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

Direct Known Subclasses

FutariSousa_Korean

Constant Summary collapse

ID =

ゲームシステムの識別子

'FutariSousa'
NAME =

ゲームシステム名

'フタリソウサ'
SORT_KEY =

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

'ふたりそうさ'
HELP_MESSAGE =

ダイスボットの使い方

<<~MESSAGETEXT
  ・判定用コマンド
  探偵用:【DT】…10面ダイスを2つ振って判定します。『有利』なら【3DT】、『不利』なら【1DT】を使います。
  助手用:【AS】…6面ダイスを2つ振って判定します。『有利』なら【3AS】、『不利』なら【1AS】を使います。
  ・各種表
  【調査時】
  異常な癖決定表 SHRD
   口から出る表 SHFM/強引な捜査表    SHBT/すっとぼけ表  SHPI
   事件に夢中表 SHEG/パートナーと……表 SHWP/何かしている表 SHDS
   奇想天外表  SHFT/急なひらめき表   SHIN/喜怒哀楽表   SHEM
  イベント表
   現場にて  EVS/なぜ?  EVW/協力者と共に EVN
   向こうから EVC/VS容疑者 EVV
  調査の障害表 OBT  変調表 ACT  目撃者表 EWT  迷宮入り表 WMT
  【設定時】
  背景表
   探偵 運命の血統 BGDD/天性の才能 BGDG/マニア     BGDM
   助手 正義の人  BGAJ/情熱の人  BGAP/巻き込まれの人 BGAI
  身長表 HT  たまり場表 BT  関係表 GRT  思い出の品決定表 MIT
  職業表A・B  JBT66・JBT10  ファッション特徴表A・B    FST66・FST10
  感情表A/B  FLT66・FLT10  好きなもの/嫌いなもの表A・B LDT66・LDT10
  呼び名表A・B NCT66・NCT10
MESSAGETEXT

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) ⇒ FutariSousa

Returns a new instance of FutariSousa.



40
41
42
43
44
# File 'lib/bcdice/game_system/FutariSousa.rb', line 40

def initialize(command)
  super(command)

  @d66_sort_type = D66SortType::ASC
end

Instance Method Details

#eval_game_system_specific_command(command) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
# File 'lib/bcdice/game_system/FutariSousa.rb', line 48

def eval_game_system_specific_command(command)
  if (m = /^(\d+)?DT$/i.match(command))
    count = m[1]&.to_i || 2
    return roll_dt(command, count)
  elsif (m = /^(\d+)?AS$/i.match(command))
    count = m[1]&.to_i || 2
    return roll_as(command, count)
  end

  return roll_tables(command, self.class::TABLES)
end