River bank (#11)(an instance of generic room made by Calkins)     You are standing on the grassy banks of a wide river. A steel suspension bridge spans the river, leading to the eastern bank. Across the water, the city of Bellona flickers. On its dockfront, down half a mile, flames roil smoke on the sky and reflections on the river. Here, not one car comes off the bridge. Not one goes on.      To the west is the mouth of a cave, where newcomers can find a MOO tutorial. To the east is the bridge into the city. There is also a taxi here, which can take you to places of special interest. You see a newspaper here. EXITS:       You see the pylons of the bridge, and beyond across the water, the city. [ bridge ] Bridge. You pass smashed toll boothes and walk east about half way across the river.       You see a cave entrance in an outcroping of rock. [ west ] Cave Entrance. You walk west into the cave entrance.       [ taxi ] Taxi. VERB SOURCE CODE: keep_clean:
junk = {};
while (1)
for x in (junk)
$command_utils:suspend_if_needed(0);
if (x in this.contents)
"This is old junk that's still around five minutes later. Clean it up.";
if (!valid(x.owner))
move(x, $nothing);
#2:tell(">**> Cleaned up orphan object `", x.name, "' (", x, "),
owned by ", x.owner, ", to #-1.");
elseif (!$object_utils:contains(x, x.owner))
move(x, x.owner);
x.owner:tell("You shouldn't leave junk in ", this.name, "; ", x.name,
" (", x, ") has been moved to your inventory.");
#2:tell(">**> Cleaned up `", x.name, "' (", x, "), owned by `", x.owner.name,
"' (", x.owner, "), to ", x.owner, ".");
endif
endif
endfor
junk = {};
for x in (this.contents)
if ((seconds_left() < 2) || (ticks_left() < 1000))
suspend(0);
endif
if (!is_player(x))
junk = {@junk, x};
endif
endfor
suspend(5 * 60);
endwhile
.
disfunc:
who = args[1];
if (who.home == this)
move(who, $limbo);
this:announce("You hear a quiet popping sound; ", who.name, " has disconnected.");
else
pass(who);
endif
.
enterfunc:
who = args[1];
if ($limbo:acceptable(who))
move(who, $limbo);
else
pass(who);
endif
.
match:
m = pass(@args);
if (m == $failed_match)
"... it might be a player off in the body bag...";
m = $string_utils:match_player(args[1]);
if (valid(m) && (!(m.location in {this, this.body_bag})))
return $failed_match;
endif
endif
return m;
.
init_for_core:
if (!caller_perms().wizard)
return E_PERM;
endif
for v in ({"turn", "open"})
delete_verb($player_start, v);
endfor
for p in ({"out"})
delete_property($player_start, p);
endfor
for p in ($object_utils:all_properties($room))
clear_property($player_start, p);
endfor
$player_start.name = "The First Room";
$player_start.aliases = {};
$player_start.description = "This is all there is right now.";
$player_start.exits = $player_start.entrances = {};
.
PROPERTY DATA:       body_bag |