class BCDice::GameSystem::OneWayHeroics::BranchByDay

Public Class Methods

new(text, less_than_equal, greater) click to toggle source
# File lib/bcdice/game_system/one_way_heroics/random_event_table.rb, line 39
def initialize(text, less_than_equal, greater)
  @text = text
  @greater = greater
  @less_than_equal = less_than_equal
end

Public Instance Methods

branch_result(value, day) click to toggle source
# File lib/bcdice/game_system/one_way_heroics/random_event_table.rb, line 70
def branch_result(value, day)
  raise NotImplementedError
end
choise(value, day) click to toggle source
# File lib/bcdice/game_system/one_way_heroics/random_event_table.rb, line 66
def choise(value, day)
  raise NotImplementedError
end
roll_with_day(day, randomizer) click to toggle source
# File lib/bcdice/game_system/one_way_heroics/random_event_table.rb, line 45
        def roll_with_day(day, randomizer)
          value = randomizer.roll_once(6)
          chosen = choise(value, day)

          chosen =
            if chosen.respond_to?(:roll_with_day)
              "#{chosen.key}#{day} > #{chosen.roll_with_day(day, randomizer)}"
            elsif chosen.ascii_only?
              [chosen, TABLES[chosen].roll(randomizer)].join(" > ")
            else
              chosen
            end

          result = <<~RESULT.chomp
            #{@text} >
             1D6 > #{value} > #{branch_result(value, day)} >
             #{chosen}
          RESULT
          return result
        end