As we edevites had been discussing in group messages, it would be nice to offer more room support. I thought it would be a good idea to allow the gods the ability to toss a user into another room. A few minutes produced this code, which should do the trick. It modifies the message opcode. I have included line numbers and code around where I would insert it to indicate how to insert this code.
164: } elsif($isRoot and $message =~ /^\/macro\s+(.*?)/) {
165:
166: htmlcode('doChatMacro', $message);
167:
} elsif($isRoot and $message =~ /^\/toss\s+(\S*)\s+(.+)/) {
my $user = $1;
my $destroom = $2;
my $R = getNode($destroom, 'room');
my $BORG = getNode('EDB', 'user');
my $U = getNode ($user, "user");
$user =~ s/\_/ /gs;
$U = getNode($user, 'user') unless $U;
unless($R) {
$DB->sqlInsert('message', {msgtext => "Can't move 'em, $destroom doesn't exist on this system!", author_user => getId(getNode('root','user')), for_user =>getId($USER) });
return;
}
if($reason) {
$DB->sqlInsert('message', {msgtext => 'I tossed you into ' . $destroom, author_user => getId(getNode('EDB','user')), for_user =>getId($U) });
}
unless($U) {
$DB->sqlInsert('message', {msgtext => "Can't move 'em, $user doesn't exist on this system!", author_user => getId(getNode('root','user')), for_user =>getId($USER) });
return;
}
my $message = "/me has thrown [$user] into [$destroom]. ";
my @EDBURSTS = (
"[$user] is good exercise!", "[$user] was heavy!",
"Don't be like [$user].", "[$user] was annoying me!", '[EDB] needed that!',
'stale noder flesh'
);
$message .= $EDBURSTS[int(rand(@EDBURSTS))];
my $V = getVars ($U);
$$V{in_room} = $destroom;
setVars($U, $V);
my $OTHERUSERS = getNode('other users', 'nodelet');
$$OTHERUSERS{nltext} = Everything::HTML::parseCode($$OTHERUSERS{nlcode}, $OTHERUSERS);
updateNode ($OTHERUSERS, -1);
$DB->sqlInsert('message', {msgtext => $message, author_user => getId($BORG), for_user => 0, room => $$USER{in_room}});
168: } else {
169: unless($$VARS{publicchatteroff}) {
170:
171: #return unless $$USER{title} eq 'nate';
172: $DB->sqlInsert('message', {msgtext => $message, author_user => getId($USER), for_user => 0, room => $$USER{in_room}});
173: }
174: }