Dinghy (#1481)(an instance of Generic Container Room made by Trismegistos)     A creaky and slightly leaky wooden boat, with seating for two on the gunwales,       powered by an outboard motor. Although its gray paint is peeling in places,       you can make out the somewhat cryptic name XAPON painted in black on the bow       and stern. The tiller seems to be stuck at a roughly 30 degree angle to starboard. Go to location of this object, River's Edge. This place has a certain ambiance...      A pink headless plastic baby doll floats by.      A mutant fur-bearing trout leaps out of the river.      A slab of faded orange styrofoam floats by.      A plastic Baggie floats by.      Bubbles float to the surface of the river, releasing a long-trapped stench.      A section of telephone pole floats by.      A bunch of laser-printed pages -- the manual for some geeky computer fantasy game -- float by.      A forlorn rubber duckie floats by. VERB SOURCE CODE: start:
interval = 10;
for n in (this.contents)
if (is_player(n) && (!(n in this.sitting[1])))
n:tell("What a landlubber! Don't you know better than to stand up in a ",
this.name, "? Sit down or get out!");
player:tell("You can't start the ", this.name, " until everyone is sitting
down.");
return;
endif
endfor
if (this.location == this.route[1])
final = this.route[3];
tech_note = ("The angle of the tiller roughly compensates for the pull of the
current, so that the " + this.name) + "'s course takes it straight across the channel.";
place_arriving = "the muddy far shore of the channel.";
elseif (this.location == this.route[2])
player:tell("Relax! The ", this.name, " is moving along just fine.");
return;
elseif (this.location == this.route[3])
final = this.route[1];
tech_note = ("The angle of the tiller and the pull of the current alter the "
+ this.name) + "'s initial west-by-northwest course, creating a great arc which will
take it across the channel.";
place_arriving = "a concrete pier on the city's waterfront.";
endif
player.location:announce_all("With a couple of sharp yanks, ", player.name, " starts
the motor.");
player.location:announce_all(tech_note);
this.location:announce_all("The ", this.name, " moves out into the channel, with
", $string_utils:title_list(setremove(this.contents, this)), " on board.");
fork (interval)
move(this, this.route[2]);
this:announce_all("The ", this.name, " arrives at ", this.route[2].name, ", with
", $string_utils:title_list(setremove(this.contents, this)) + " on board.");
fork (interval)
move(this, final);
this:announce_all(final.name);
this:announce_all(player.name, " kills the motor, and the ", this.name, "
glides until it bumps against ", place_arriving);
this.location:announce_all(((("The " + this.name) + " arrives, with ") +
$string_utils:title_list(this.contents)) + " on board.");
endfork
endfork
.
close:
player:tell("You can't close an open boat!");
.
PROPERTY DATA:       route |