sub exitsgod {
foreach $a (keys %{$room[$user{$client}{room}]{exits}}) {
	$outbuffer {$client}.="\r\n$a = ";
	if ($a eq "obvious") {
		$outbuffer{$client}.="$room[$user{$client}{room}]{exits}{$a}";
		next;
	}
	foreach $b (keys %{$room[$user{$client}{room}]{exits}{$a}}){
		$outbuffer{$client}.="$b-> $room[$user{$client}{room}]{exits}{$a}{$b} ";
	}
}
$outbuffer{$client}.="\r\n$prompt";

}
sub exed {
my $exit=$input[1];
my $type=$input[2];
my $value=$input[3];
if ($exit eq "obvious" or $exit eq "o"){
	shift @input;
	shift @input;
	$value="@input";
	$room[$user{$client}{room}]{exits}{obvious}=$value;
	$outbuffer{$client}.="room $user{$client}{room}'s obvious exits have been set to $value";
	return;
}
if (!$value){
	$value= $type;
	$type="dest";
}
if (defined($exitnames{$exit})){
	$exit="$exitnames{$exit}";
}
	$room[$user{$client}{room}]{exits}{$exit}{$type}=$value;
	if (!$value and $type eq "dest"){
		delete($room[$user{$client}{room}]{exits}{$exit});
		$outbuffer{$client}.="$user{$client}{room}'s $exit $type has been deleted.";
	}else {
		$outbuffer{$client}.="$user{$client}{room}'s $exit $type has been set to $value";
	}
}
sub roomed {
my $room=($input[1] or $user{$client}{room});
$outbuffer{$client}.="editing $room: \r\n$room[$room]{longdesc}\r\n";
$type{$client}="roomed2";
$user{$client}{editing}=$room;
}
sub roomed2 {
$room[$user{$client}{editing}]{longdesc}="$request";
delete $user{$client}{editing};
$type{$client}="normal";
$outbuffer{$client}.="done\r\n";
}

%exitnames=(n=>"North", s=>"South", e=>"East", w=>"West", ne=>"NorthEast", nw=>"NorthWest", se=>"SouthEast", sw=>"SouthWest");
sub save_room {
my $filename=(shift or "map/map.xml");
my $b=1;
local $string;
foreach (@room){
	unless ($room[$b]){
		$b++;
		next;
	}
	$string.="<room>\n";
	$string.="<num=$b>\n";
	foreach $a (keys %{$room[$b]}){
		if ($a eq "in"){
			next;
		}
		descend($room[$b]{$a}, $a);
	}
	$string.="</room>\n";
	$b++;
}
unlink($filename);
open (FILE, ">>$filename");
print FILE $string;
close (FILE);
$outbuffer{$client}.="Rooms saved";
}

return 1;