Class: BCDice::GameSystem::SkynautsBouken

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

Constant Summary collapse

ID =

ゲームシステムの識別子

'SkynautsBouken'
NAME =

ゲームシステム名

'歯車の塔の探空士(冒険企画局)'
SORT_KEY =

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

'はくるまのとうのすかいのおつ2'
HELP_MESSAGE =

ダイスボットの使い方

<<~MESSAGETEXT
  ・行為判定(nSNt#f) n:ダイス数(省略時2)、t:目標値(省略時7)、f:ファンブル値(省略時1)
      例)SN6#2 3SN
  ・ダメージチェック (Dx/y@m) x:ダメージ範囲、y:攻撃回数
    m:《弾道学》(省略可)上:8、下:2、左:4、右:6
    例) D/4 D19/2 D/3@8 D[大揺れ]/2
  ・回避(AVO@mダメージ)
    m:回避方向(上:8、下:2、左:4、右:6)、ダメージ:ダメージチェック結果
    例)AVO@8[1,4],[2,6],[3,8] AVO@2[6,4],[2,6]
  ・FT ファンブル表(p76)
  ・NV 航行表

  ■ 判定セット
  ・《回避運動》判定+回避(nSNt#f/AVO@ダメージ)
    nSNt#f → 成功なら AVO@m
    例)SN/AVO@8[1,4],[2,6],[3,8] 3SN#2/AVO@2[6,4],[2,6]
  ・砲撃判定+ダメージチェック (nSNt#f/Dx/y@m)
    行為判定の出目変更タイミングを逃すので要GMの許可
    nSNt#f → 成功なら Dx/y@m
    例)SN/D/4 3SN#2/D[大揺れ]/2
MESSAGETEXT
TABLES =
{
  'FT' => DiceTable::Table.new(
    'ファンブル表',
    '1D6', [
      "なんとか大事にはいたらなかった。通常の失敗と同様の処理を行うこと。",
      "転んでしまった。キミは[転倒](p107)する。",
      "失敗にイライラしてしまった。キミは獲得している【キズナ】1つの「支援チェック」にチェックを入れる。",
      "自身のいるマスを[破損](p104)させる。この[破損]によって、キミの【生命点】は減少しない。",
      "頭をぶつけてしまった。キミの【生命点】を「1d6点」減少する。",
      "奇跡的な結果。 この行為判定は成功となる。",
    ]
  ),
  'NV' => DiceTable::Table.new(
    '航海表',
    '1d6',
    [
      'スポット1つ分進む',
      'スポット1つ分進む',
      'スポット1つ分進む',
      'スポット2つ分進む',
      'スポット2つ分進む',
      'スポット3つ分進む',
    ]
  )
}.freeze

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

Returns a new instance of SkynautsBouken.



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

def initialize(command)
  super(command)
  @round_type = RoundType::FLOOR # 端数切り捨て
end

Instance Method Details

#eval_game_system_specific_command(command) ⇒ Object



71
72
73
74
# File 'lib/bcdice/game_system/SkynautsBouken.rb', line 71

def eval_game_system_specific_command(command)
  command_sn(command) || command_d(command) || command_avo(command) || command_snavo(command) ||
    command_snd(command) || roll_tables(command, TABLES)
end