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: }

Log in or register to write something here or to contact authors.