tmud-2.10.0/benchmark/
tmud-2.10.0/cmd/
tmud-2.10.0/cmd/objects/
tmud-2.10.0/cmd/tiny/
tmud-2.10.0/doc/classes/Acceptor.src/
tmud-2.10.0/doc/classes/BoolExpParser.src/
tmud-2.10.0/doc/classes/CacheStats.src/
tmud-2.10.0/doc/classes/Character.src/
tmud-2.10.0/doc/classes/Client.src/
tmud-2.10.0/doc/classes/ColorFilter.src/
tmud-2.10.0/doc/classes/Command.src/
tmud-2.10.0/doc/classes/Configuration.src/
tmud-2.10.0/doc/classes/Connector.src/
tmud-2.10.0/doc/classes/ConsoleClient.src/
tmud-2.10.0/doc/classes/CursesClient.src/
tmud-2.10.0/doc/classes/DebugFilter.src/
tmud-2.10.0/doc/classes/Dumper.src/
tmud-2.10.0/doc/classes/Engine.src/
tmud-2.10.0/doc/classes/Event.src/
tmud-2.10.0/doc/classes/EventManager.src/
tmud-2.10.0/doc/classes/Exit.src/
tmud-2.10.0/doc/classes/Farts/AttributeSyntaxNode.src/
tmud-2.10.0/doc/classes/Farts/CallSyntaxNode.src/
tmud-2.10.0/doc/classes/Farts/CommandSyntaxNode.src/
tmud-2.10.0/doc/classes/Farts/CommentSyntaxNode.src/
tmud-2.10.0/doc/classes/Farts/EndSyntaxNode.src/
tmud-2.10.0/doc/classes/Farts/IfSyntaxNode.src/
tmud-2.10.0/doc/classes/Farts/Interpreter.src/
tmud-2.10.0/doc/classes/Farts/Lexer.src/
tmud-2.10.0/doc/classes/Farts/Lib.src/
tmud-2.10.0/doc/classes/Farts/LiteralSyntaxNode.src/
tmud-2.10.0/doc/classes/Farts/LocalVarSyntaxNode.src/
tmud-2.10.0/doc/classes/Farts/Parser.src/
tmud-2.10.0/doc/classes/Farts/ProgramSyntaxNode.src/
tmud-2.10.0/doc/classes/Farts/SyntaxNode.src/
tmud-2.10.0/doc/classes/Filter.src/
tmud-2.10.0/doc/classes/LineIO.src/
tmud-2.10.0/doc/classes/Loader.src/
tmud-2.10.0/doc/classes/Log.src/
tmud-2.10.0/doc/classes/Module.src/
tmud-2.10.0/doc/classes/ObjCmd.src/
tmud-2.10.0/doc/classes/PacketIO.src/
tmud-2.10.0/doc/classes/ProtocolStack.src/
tmud-2.10.0/doc/classes/Publisher.src/
tmud-2.10.0/doc/classes/Reactor.src/
tmud-2.10.0/doc/classes/Room.src/
tmud-2.10.0/doc/classes/SQLite/
tmud-2.10.0/doc/classes/SQLite/Database.src/
tmud-2.10.0/doc/classes/SQLite3/
tmud-2.10.0/doc/classes/SQLite3/Database.src/
tmud-2.10.0/doc/classes/Script.src/
tmud-2.10.0/doc/classes/Session.src/
tmud-2.10.0/doc/classes/SockIO.src/
tmud-2.10.0/doc/classes/String.src/
tmud-2.10.0/doc/classes/TerminalFilter.src/
tmud-2.10.0/doc/classes/TernaryTrie.src/
tmud-2.10.0/doc/classes/TernaryTrie/
tmud-2.10.0/doc/classes/TernaryTrie/TNode.src/
tmud-2.10.0/doc/classes/Timer.src/
tmud-2.10.0/doc/classes/Utility.src/
tmud-2.10.0/doc/classes/XmlStore.src/
tmud-2.10.0/doc/classes/YamlStore.src/
tmud-2.10.0/doc/dot/
tmud-2.10.0/doc/files/cmd/objects/
tmud-2.10.0/doc/files/cmd/tiny/
tmud-2.10.0/doc/files/lib/
tmud-2.10.0/doc/files/lib/engine/
tmud-2.10.0/doc/files/lib/farts/
tmud-2.10.0/doc/files/tclient_rb.src/
tmud-2.10.0/doc/files/tmud_rb.src/
tmud-2.10.0/farts/
tmud-2.10.0/lib/
tmud-2.10.0/lib/core/
tmud-2.10.0/lib/engine/
tmud-2.10.0/lib/farts/
tmud-2.10.0/logs/
#
# file::    cmd_set.rb
# author::  Jon A. Lambert
# version:: 2.8.0
# date::    02/21/2005
#
# This source code copyright (C) 2005, 2006 by Jon A. Lambert
# All rights reserved.
#
# Released under the terms of the TeensyMUD Public License
# See LICENSE file for additional information.
#
module Cmd

  # sets the description or timer for an object
  # Syntax:
  #   @set desc #<id> <description>
  #   @set key #<id> <description>
  #   @set timer #<id> <on|off>
  # (ex. @set desc #1 A beautiful rose.)
  def cmd_set(args)
    case args
    when nil, ""
      sendto("What??")
    when /desc\s+#(\d+)\s+(.*)/
      o = get_object($1.to_i)
      case o
      when nil, 0
        sendto("No object.")
      else
        o.desc = $2
        sendto("Object #" + $1 + " description set.")
      end
    when /key\s+#(\d+)\s+(.*)/
      o = get_object($1.to_i)
      case o
      when nil, 0
        sendto("No object.")
      else
        o.key = $2
        sendto("Object #" + $1 + " key set.")
      end
    when /timer\s+#(\d+)\s+(on|off)\s+(.*)/
      o = get_object($1.to_i)
      case o
      when nil
        sendto("No object.")
      else
        if $2 == 'on'
          if $3 =~ /(\w+)\s+(\d+)/
            world.set_timer(o.id, $1.to_sym, $2.to_i)
            sendto("Object ##{o.id} registered with timer.")
          else
            sendto("Bad symbol or missing time")
          end
        else
          if $3 =~ /(\w+)/
            world.unset_timer(o.id, $1.to_sym)
            sendto("Object ##{o.id} unregistered with timer.")
          else
            sendto("Bad symbol")
          end
        end
      end
    else
      sendto("What??")
    end
  end

end