Sha256: 0a26c7c5e7dd4f26cfa5b44b6e8fa72b10e024da97a12a27ddbbc0b9c01a1fef

Contents?: true

Size: 1.61 KB

Versions: 45

Compression:

Stored size: 1.61 KB

Contents

# lib/gemwarrior/entities/monster.rb
# Monster creature

require_relative 'creature'
require_relative 'items/herb'

module Gemwarrior
  class Monster < Creature
    INVENTORY_ITEMS_DEFAULT = [Herb.new]

    attr_accessor :inventory, :battlecry, :is_boss

    def initialize
      if [true, false].sample
        self.inventory = Inventory.new([INVENTORY_ITEMS_DEFAULT[rand(0..INVENTORY_ITEMS_DEFAULT.length-1)]])
      else
        self.inventory = Inventory.new
      end
    end

    def describe
      status_text =  name.upcase.ljust(13).colorize(:green)
      status_text << "#{description}\n".colorize(:white)
      if is_boss
        status_text << '(BOSS)'.ljust(13).colorize(:yellow)
      else
        status_text << ''.ljust(13)
      end
      status_text << "LEVEL: #{level.to_s.rjust(2)}, ".colorize(:white)
      status_text << "HP: #{hp_cur.to_s.rjust(3)}/#{hp_max.to_s.rjust(3)} ".colorize(:white)
      status_text << "ATK: #{atk_lo.to_s.rjust(2)}-#{atk_hi.to_s.rjust(2)} ".colorize(:white)
      status_text << "DEF: #{defense.to_s.rjust(2)} ".colorize(:white)
      status_text << "DEX: #{dexterity.to_s.rjust(2)} ".colorize(:white)
      status_text << "ROX: #{rox.to_s.rjust(3)} ".colorize(:white)
      status_text << "XP: #{xp.to_s.rjust(3)} ".colorize(:white)
      status_text << "\n".ljust(14)
      status_text << "FACE: #{face} ".colorize(:white)
      status_text << "HANDS: #{hands} ".colorize(:white)
      status_text << "MOOD: #{mood} ".colorize(:white)
      status_text << "INV: #{inventory.list_contents}".colorize(:white)
      status_text << "\n"
    end
  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
gemwarrior-0.10.7 lib/gemwarrior/entities/monster.rb
gemwarrior-0.10.6 lib/gemwarrior/entities/monster.rb
gemwarrior-0.10.5 lib/gemwarrior/entities/monster.rb
gemwarrior-0.10.4 lib/gemwarrior/entities/monster.rb
gemwarrior-0.10.2 lib/gemwarrior/entities/monster.rb
gemwarrior-0.10.1 lib/gemwarrior/entities/monster.rb
gemwarrior-0.10.0 lib/gemwarrior/entities/monster.rb
gemwarrior-0.9.39 lib/gemwarrior/entities/monster.rb
gemwarrior-0.9.37 lib/gemwarrior/entities/monster.rb
gemwarrior-0.9.36 lib/gemwarrior/entities/monster.rb
gemwarrior-0.9.35 lib/gemwarrior/entities/monster.rb
gemwarrior-0.9.34 lib/gemwarrior/entities/monster.rb
gemwarrior-0.9.33 lib/gemwarrior/entities/monster.rb
gemwarrior-0.9.32 lib/gemwarrior/entities/monster.rb
gemwarrior-0.9.31 lib/gemwarrior/entities/monster.rb
gemwarrior-0.9.30 lib/gemwarrior/entities/monster.rb
gemwarrior-0.9.28 lib/gemwarrior/entities/monster.rb
gemwarrior-0.9.27 lib/gemwarrior/entities/monster.rb
gemwarrior-0.9.26 lib/gemwarrior/entities/monster.rb
gemwarrior-0.9.24 lib/gemwarrior/entities/monster.rb