class Gemwarrior::Monster

Constants

ITEM_POOL

Attributes

battlecry[RW]
is_boss[RW]
is_dead[RW]

Public Class Methods

new() click to toggle source
Calls superclass method Gemwarrior::Creature::new
# File lib/gemwarrior/entities/monster.rb, line 16
def initialize
  super

  self.inventory  = Inventory.new
  self.useable    = true
  self.talkable   = true
  self.is_dead    = false
  3.times do
    if [true, false].sample
      self.inventory.add_item(ITEM_POOL[rand(0..ITEM_POOL.length-1)])
    end
  end  
end

Public Instance Methods

describe_detailed() click to toggle source
# File lib/gemwarrior/entities/monster.rb, line 30
def describe_detailed
  desc_text =  "\"#{name_display}\"".colorize(:yellow)
  desc_text << '(BOSS)'.ljust(13).colorize(:yellow) if is_boss
  desc_text << "\n"
  desc_text << "(#{name})\n".colorize(:green)
  desc_text << "#{description}\n".colorize(:white)
  desc_text << "FACE : #{face}\n".colorize(:white)
  desc_text << "HANDS: #{hands}\n".colorize(:white)
  desc_text << "MOOD : #{mood}\n".colorize(:white)
  desc_text << "LVL  : #{level}\n".colorize(:white)
  desc_text << "HP   : #{hp_cur}/#{hp_max}\n".colorize(:white)
  desc_text << "ATK  : #{atk_lo}-#{atk_hi}\n".colorize(:white)
  desc_text << "DEF  : #{defense}\n".colorize(:white)
  desc_text << "DEX  : #{dexterity}\n".colorize(:white)
  desc_text << "ROX  : #{rox}\n".colorize(:white)
  desc_text << "XP   : #{xp}\n".colorize(:white)
  desc_text << "INV  : #{inventory.contents}\n".colorize(:white)
  desc_text << "DEAD?  #{is_dead}\n".colorize(:white)
  desc_text << "TALK?  #{talkable}\n".colorize(:white)
  desc_text << "USE?   #{useable}\n".colorize(:white)
  desc_text
end