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::    exit.rb
# author::  Jon A. Lambert
# version:: 2.10.0
# date::    06/27/2006
#
# 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.
#
$:.unshift "lib" if !$:.include? "lib"
$:.unshift "vendor" if !$:.include? "vendor"

require 'core/gameobject'

# The Exit class is the mother of all exits.
#
class Exit < GameObject
  property :to_room

  # Create a new Exit object
  # [+name+]   The displayed name of the room
  # [+owner+]    The owner id of this room
  # [+return+] A handle to the new Room.
  def initialize(name, owner, location, to_room)
    super(name, owner, location)
    self.to_room=to_room    # The room the exit leads to
                            # location is the room the exit starts in
  end

  # Event :leave
  # [+e+]      The event
  # [+return+] Undefined
  def leave(e)
    ch = get_object(e.from)
    characters(e.from).each do |x|
      add_event(location, x.id,:show, ch.name + " has left #{e.msg}.") if x.account
    end
    # remove character
    get_object(location).delete_contents(ch.id)
    ch.location = nil
    add_event(id, to_room, :arrive, ch.id)
  end


end