Class: BCDice::GameSystem::MeikyuKingdomBasic::ItemFeaturesTable

Inherits:
Object
  • Object
show all
Defined in:
lib/bcdice/game_system/meikyu_kingdom_basic/item_table.rb

Instance Method Summary collapse

Constructor Details

#initializeItemFeaturesTable

Returns a new instance of ItemFeaturesTable.



329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
# File 'lib/bcdice/game_system/meikyu_kingdom_basic/item_table.rb', line 329

def initialize
  @items = [
    ["そのアイテムは「", ITEM_POWER_TABLE, "」の神力を宿す。"],
    ["そのアイテムは寿命を持つ。寿命の値を決定する。\nさらに、", self],
    ["そのアイテムは境界障壁を持つ。《HP》の値を決定する。"],
    ["そのアイテムは銘を持つ。銘を決定する。"],
    ["そのアイテムは合成具である。もう1つの機能は「", ITEM_RANDOM_TABLE, "」である。"],
    ["そのアイテムにレベルがあれば、レベルを1点上昇する。\nレベルが設定されていなければ、", self],
    ["そのアイテムは「", ITEM_JYUMON_TABLE, "」の呪紋を持つ。"],
    ["そのアイテムは「", ITEM_JYUKA_TABLE, "」の呪禍を持つ。\nさらに、", self],
    ["そのアイテムは高価だ。価格を設定する。"],
    ["そのアイテムは「条件:", ITEM_APTITUDE_TABLE, "」の適正を持つ。\nさらに、", self],
    ["そのアイテムは「", ITEM_ATTRIBUTE_TABLE, "」の属性を持つ。"],
  ].freeze
end

Instance Method Details

#roll(randomizer) ⇒ Object



345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
# File 'lib/bcdice/game_system/meikyu_kingdom_basic/item_table.rb', line 345

def roll(randomizer)
  dice = randomizer.roll_sum(2, 6)
  index = dice - 2
  chosen_row = @items[index]

  string_list = chosen_row.map do |s|
    case s
    when String
      s
    when ItemFeature
      s.choice(randomizer)
    else
      s.roll(randomizer)
    end
  end

  return "特性[#{dice}]:#{string_list.join('')}"
end