Sha256: 1c5399952276cfed6b649bdb1c7b0cf3a1d022fdf7919dfb320519283a18257c

Contents?: true

Size: 1.42 KB

Versions: 14

Compression:

Stored size: 1.42 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(26).colorize(:green)
      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 << "FACE: #{face.ljust(12)} ".colorize(:white)
      status_text << "HANDS: #{hands.ljust(12)} ".colorize(:white)
      status_text << "MOOD: #{mood.ljust(12)}".colorize(:white)
      status_text << "INV: #{inventory.list_contents}".colorize(:white)
      status_text << "\n"
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
gemwarrior-0.8.5 lib/gemwarrior/entities/monster.rb
gemwarrior-0.8.3 lib/gemwarrior/entities/monster.rb
gemwarrior-0.8.2 lib/gemwarrior/entities/monster.rb
gemwarrior-0.8.1 lib/gemwarrior/entities/monster.rb
gemwarrior-0.8.0 lib/gemwarrior/entities/monster.rb
gemwarrior-0.7.9 lib/gemwarrior/entities/monster.rb
gemwarrior-0.7.8 lib/gemwarrior/entities/monster.rb
gemwarrior-0.7.7 lib/gemwarrior/entities/monster.rb
gemwarrior-0.7.6 lib/gemwarrior/entities/monster.rb
gemwarrior-0.7.5 lib/gemwarrior/entities/monster.rb
gemwarrior-0.7.4 lib/gemwarrior/entities/monster.rb
gemwarrior-0.7.3 lib/gemwarrior/entities/monster.rb
gemwarrior-0.7.2 lib/gemwarrior/entities/monster.rb
gemwarrior-0.7.1 lib/gemwarrior/entities/monster.rb