znmud-0.0.1/benchmark/
znmud-0.0.1/cmd/
znmud-0.0.1/cmd/emotes/
znmud-0.0.1/cmd/objects/
znmud-0.0.1/cmd/tiny/
znmud-0.0.1/doc/
znmud-0.0.1/farts/
znmud-0.0.1/lib/
znmud-0.0.1/lib/combat/
znmud-0.0.1/lib/core/bodytypes/
znmud-0.0.1/lib/engine/
znmud-0.0.1/lib/farts/
znmud-0.0.1/logs/
#
# file::    cmd_empty.rb
#

# This source code copyright (C) 2009 Craig Smith
# All rights reserved.
#
# Released under the terms of the TeensyMUD Public License
# See LICENSE file for additional information.
#

module Cmd
  bindtextdomain("cmd")

  # Empties out a container object onto the floor
  def cmd_empty(args)
    case args
    when nil, ""
        sendto(_("Empty what?"))
    when /(.+)/
    	what = $1
	fromobj = nil
	objs = find_inv(what)
	case objs.size
	when 0
		sendto(_("Couldn't find %{what}." % {:what => what}))
	when 1
		fromobj = objs[0]
	else
		sendto(_("Which one?"))
	end
	if fromobj
		if fromobj.kind_of? Container
			if fromobj.contents.size == 0
				sendto(_("It is already empty."))
			else
				if fromobj.liq_amt > 0
					liq = get_object(fromobj.contents[0])
					if liq
						sendto(_("You pour the %{liq} on to the floor." % {:liq => liq.name}))
						msg = Msg.new _("^p1 pours %{liq} from ^o1 on to the floor." % {:liq => liq.name})
						msg.p1 = name
						msg.o1 = fromobj.shortname
						sendroom(msg)
						fromobj.liq_amt = 0
						fromobj.contents.clear
					else
						sendto(_("It is already empty."))
					end
				else
					room = get_object(location)
					fromobj.contents.each do |oid|
						o = get_object(oid)
						fromobj.delete_contents(oid)
						o.location = location
						room.add_contents(oid)
					end
					sendto(_("You empty out your %{what} on to the floor." % {:what => fromobj.name}))
					msg = Msg.new _("^p1 empties out ^o1 on to the floor.")
					msg.p1 = name
					msg.o1 = fromobj.shortname
					sendroom(msg)
				end
			end
		else
			sendto(_("You can not empty that."))
		end
	end
     else
	sendto(_("Empty what?"))
     end
  end

end