Class: BCDice::GameSystem::DarkDaysDrive

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

Constant Summary collapse

ID =

ゲームシステムの識別子

'DarkDaysDrive'
NAME =

ゲームシステム名

'ダークデイズドライブ'
SORT_KEY =

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

'たあくていすとらいふ'
HELP_MESSAGE =

ダイスボットの使い方

<<~INFO_MESSAGE_TEXT
  ・判定
  スペシャル/ファンブル/成功/失敗を判定
  ・各種表
  RTTn ランダム特技決定表(n:分野番号、省略可能)
  RCT  ランダム分野決定表
  ABRT アビリティ決定表
  DT ダメージ表
  FT 失敗表
  GJT 大成功表
  ITT 移動トラブル表
  NTT 任務トラブル表
  STT 襲撃トラブル表
  HTT 変身トラブル表
  DET ドライブイベント表
  BET ブレイクイベント表
  CT キャンプ表
  KZT 関係属性表
  IA イケメンアクション決定表
   IAA 遠距離 IAB 移動 IAC 近距離 IAD 善人 IAE 悪人
   IAF 幼い IAG バカ IAH 渋い IAI 賢い IAJ 超自然
  IAX イケメンアクション決定表 → IA表
  ■本格的な戦闘
  CAC センターの行動決定
  DDC 対話ダメージ表
  ・D66ダイス昇順
INFO_MESSAGE_TEXT

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

Returns a new instance of DarkDaysDrive.



44
45
46
47
# File 'lib/bcdice/game_system/DarkDaysDrive.rb', line 44

def initialize(command)
  super(command)
  @d66_sort_type = D66SortType::ASC
end

Instance Method Details

#eval_game_system_specific_command(command) ⇒ Object



66
67
68
69
70
# File 'lib/bcdice/game_system/DarkDaysDrive.rb', line 66

def eval_game_system_specific_command(command)
  roll_tables(command, TABLES) ||
    command_iax(command) ||
    RTT.roll_command(randomizer, command)
end

#result_2d6(total, dice_total, _dice_list, cmp_op, target) ⇒ Object

ゲーム別成功度判定(2D6)



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/bcdice/game_system/DarkDaysDrive.rb', line 50

def result_2d6(total, dice_total, _dice_list, cmp_op, target)
  return nil unless cmp_op == :>=

  if dice_total <= 2
    Result.fumble("ファンブル(判定失敗。失敗表(FT)を追加で1回振る)")
  elsif dice_total >= 12
    Result.critical("スペシャル(判定成功。大成功表(GJT)を1回使用可能)")
  elsif target == "?"
    Result.nothing
  elsif total >= target
    Result.success("成功")
  else
    Result.failure("失敗")
  end
end