class BCDice::GameSystem::Warhammer4::CriticalTable

Public Class Methods

new(name, items) click to toggle source
# File lib/bcdice/game_system/Warhammer4.rb, line 126
def initialize(name, items)
  @name = name
  @items = items
end

Public Instance Methods

roll(randomizer, under_ganken_bonus) click to toggle source
# File lib/bcdice/game_system/Warhammer4.rb, line 131
def roll(randomizer, under_ganken_bonus)
  dice = randomizer.roll_once(100)
  if under_ganken_bonus
    dice = (dice - 20).clamp(1, 100)
  end

  chosen = @items.find { |key, _| key >= dice }[1]

  "#{@name}(#{dice}) > #{chosen}"
end