class CoopAl::RandomEncounterGenerator

RandomEncounterGenerator

Public Class Methods

new(name, parent, bestiary) click to toggle source
# File lib/coop_al/random_encounter_generator.rb, line 6
def initialize(name, parent, bestiary)
  @name = name
  @parent = parent
  @bestiary = bestiary
  @encounter = RandomEncounter.new(name, parent)
end

Public Instance Methods

f(*args, &blk)
Alias for: fixed
fixed(*args, &blk) click to toggle source
# File lib/coop_al/random_encounter_generator.rb, line 18
def fixed(*args, &blk)
  generator = EncounterGenerator.new(@name, @parent, @bestiary)
  entry = generator.generate_encounter(&blk)
  if args.empty?
    @encounter.add_entry(entry)
  else
    roll = args.shift
    if roll.is_a?(Integer)
      @encounter.set_entry(roll, entry)
    elsif roll.is_a?(Range)
      @encounter.set_range(roll, entry)
    else
      raise "Inappropriate roll descriptor (#{roll})"
    end
  end
end
Also aliased as: f
generate_encounter(&blk) click to toggle source
# File lib/coop_al/random_encounter_generator.rb, line 13
def generate_encounter(&blk)
  instance_eval(&blk)
  @encounter
end