Class: BCDice::GameSystem::BattleTech::HitPart

Inherits:
Struct
  • Object
show all
Defined in:
lib/bcdice/game_system/BattleTech.rb,
lib/bcdice/game_system/BattleTech.rb

Overview

命中部位を表す構造体

Constant Summary collapse

LEFT_TORSO =
'左胴'
CENTER_TORSO =
'胴中央'
RIGHT_TORSO =
'右胴'
LEFT_ARM =
'左腕'
RIGHT_ARM =
'右腕'
LEFT_LEG =
'左脚'
RIGHT_LEG =
'右脚'
HEAD =
''
TABLES =

命中部位表

{
  'L' => DiceTable::RangeTable.new(
    '命中部位表(左)',
    '2D6',
    [
      [2,    new(LEFT_TORSO, true)],
      [3,    new(LEFT_LEG, false)],
      [4..5, new(LEFT_ARM, false)],
      [6,    new(LEFT_LEG, false)],
      [7,    new(LEFT_TORSO, false)],
      [8,    new(CENTER_TORSO, false)],
      [9,    new(RIGHT_TORSO, false)],
      [10,   new(RIGHT_ARM, false)],
      [11,   new(RIGHT_LEG, false)],
      [12,   new(HEAD, false)],
    ]
  ),
  'C' => DiceTable::RangeTable.new(
    '命中部位表(正面)',
    '2D6',
    [
      [2,      new(CENTER_TORSO, true)],
      [3..4,   new(RIGHT_ARM, false)],
      [5,      new(RIGHT_LEG, false)],
      [6,      new(RIGHT_TORSO, false)],
      [7,      new(CENTER_TORSO, false)],
      [8,      new(LEFT_TORSO, false)],
      [9,      new(LEFT_LEG, false)],
      [10..11, new(LEFT_ARM, false)],
      [12,     new(HEAD, false)],
    ]
  ),
  'R' => DiceTable::RangeTable.new(
    '命中部位表(右)',
    '2D6',
    [
      [2,    new(RIGHT_TORSO, true)],
      [3,    new(RIGHT_LEG, false)],
      [4..5, new(RIGHT_ARM, false)],
      [6,    new(RIGHT_LEG, false)],
      [7,    new(RIGHT_TORSO, false)],
      [8,    new(CENTER_TORSO, false)],
      [9,    new(LEFT_TORSO, false)],
      [10,   new(LEFT_ARM, false)],
      [11,   new(LEFT_LEG, false)],
      [12,   new(HEAD, false)],
    ]
  ),

  'LU' => DiceTable::RangeTable.new(
    '命中部位表(左上半身)',
    '1D6',
    [
      [1..2, new(LEFT_TORSO, false)],
      [3,    new(CENTER_TORSO, false)],
      [4..5, new(LEFT_ARM, false)],
      [6,    new(HEAD, false)],
    ]
  ),
  # TODO: 普通のTableで書く
  'CU' => DiceTable::RangeTable.new(
    '命中部位表(正面上半身)',
    '1D6',
    [
      [1, new(LEFT_ARM, false)],
      [2, new(LEFT_TORSO, false)],
      [3, new(CENTER_TORSO, false)],
      [4, new(RIGHT_TORSO, false)],
      [5, new(RIGHT_ARM, false)],
      [6, new(HEAD, false)],
    ]
  ),
  'RU' => DiceTable::RangeTable.new(
    '命中部位表(右上半身)',
    '1D6',
    [
      [1..2, new(RIGHT_TORSO, false)],
      [3,    new(CENTER_TORSO, false)],
      [4..5, new(RIGHT_ARM, false)],
      [6,    new(HEAD, false)],
    ]
  ),

  'LL' => DiceTable::RangeTable.new(
    '命中部位表(左下半身)',
    '1D6',
    [
      [1..6, new(LEFT_LEG, false)],
    ]
  ),
  'CL' => DiceTable::RangeTable.new(
    '命中部位表(右下半身)',
    '1D6',
    [
      [1..3, new(RIGHT_LEG, false)],
      [4..6, new(LEFT_LEG, false)],
    ]
  ),
  'RL' => DiceTable::RangeTable.new(
    '命中部位表(右下半身)',
    '1D6',
    [
      [1..6, new(RIGHT_LEG, false)],
    ]
  ),
}.freeze

Instance Attribute Summary collapse

Instance Attribute Details

#critical_hit_may_occurBoolean

Returns 致命的命中が発生し得るか.

Returns:

  • (Boolean)

    致命的命中が発生し得るか



409
# File 'lib/bcdice/game_system/BattleTech.rb', line 409

HitPart = Struct.new(:name, :critical_hit_may_occur)

#nameString

Returns 部位名.

Returns:

  • (String)

    部位名



409
# File 'lib/bcdice/game_system/BattleTech.rb', line 409

HitPart = Struct.new(:name, :critical_hit_may_occur)