#
# file:: cmd_room.rb
# author:: Jon A. Lambert
# version:: 2.10.0
# date:: 06/25/2006
#
# Additional Contributor: Craig Smith
#
# This source code copyright (C) 2005 by Jon A. Lambert
# All rights reserved.
#
# Released under the terms of the TeensyMUD Public License
# See LICENSE file for additional information.
#
module Cmd
bindtextdomain("cmd")
# creates a new room and autolinks the exits using the exit names provided.
# (ex. @room My Room north south)
def cmd_room(args)
case args
when /(.*) (.*) (.*)/
curr = get_object(location)
if not curr.owner == id and not world.is_admin? id
sendto _("You can not attach a room to %{room_name}. Permission Denied." % {:room_name => curr.name})
return
end
d=Room.new($1, id)
if d.nil?
log.error "Unable to create room."
sendto _"System error: unable to create room."
return
end
ex_name1 = $2.downcase
ex_name2 = $3.downcase
# These are just for simplicity and speed
ex_name1 = "east" if ex_name1 == "e"
ex_name1 = "west" if ex_name1 == "w"
ex_name1 = "north" if ex_name1 == "n"
ex_name1 = "south" if ex_name1 == "s"
ex_name1 = "up" if ex_name1 == "u"
ex_name1 = "down" if ex_name1 == "d"
ex_name2 = "east" if ex_name2 == "e"
ex_name2 = "west" if ex_name2 == "w"
ex_name2 = "north" if ex_name2 == "n"
ex_name2 = "south" if ex_name2 == "s"
ex_name2 = "up" if ex_name2 == "u"
ex_name2 = "down" if ex_name2 == "d"
put_object(d)
e1 = Exit.new(ex_name1, id, curr.id, d.id)
curr.exits << e1.id
e2 = Exit.new(ex_name2, id, d.id, curr.id)
d.exits << e2.id
e1.linked_exit = e2.id
e2.linked_exit = e1.id
put_object(e1)
put_object(e2)
sendto _("Ok.")
else
sendto _("Usage: @room <desc> <curr.exit> <remote.exit>")
end
end
end