ldmud-3.2.9/doc/
ldmud-3.2.9/doc/efun/
ldmud-3.2.9/mud/
ldmud-3.2.9/mud/heaven7/
ldmud-3.2.9/mud/heaven7/lib/
ldmud-3.2.9/mud/lp-245/
ldmud-3.2.9/mud/lp-245/banish/
ldmud-3.2.9/mud/lp-245/doc/
ldmud-3.2.9/mud/lp-245/doc/examples/
ldmud-3.2.9/mud/lp-245/doc/sefun/
ldmud-3.2.9/mud/lp-245/log/
ldmud-3.2.9/mud/lp-245/obj/Go/
ldmud-3.2.9/mud/lp-245/players/lars/
ldmud-3.2.9/mud/lp-245/room/death/
ldmud-3.2.9/mud/lp-245/room/maze1/
ldmud-3.2.9/mud/lp-245/room/sub/
ldmud-3.2.9/mud/lp-245/secure/
ldmud-3.2.9/mud/morgengrauen/
ldmud-3.2.9/mud/morgengrauen/lib/
ldmud-3.2.9/mud/sticklib/
ldmud-3.2.9/mud/sticklib/src/
ldmud-3.2.9/mudlib/uni-crasher/
ldmud-3.2.9/pkg/
ldmud-3.2.9/pkg/debugger/
ldmud-3.2.9/pkg/diff/
ldmud-3.2.9/pkg/misc/
ldmud-3.2.9/src/autoconf/
ldmud-3.2.9/src/bugs/
ldmud-3.2.9/src/bugs/MudCompress/
ldmud-3.2.9/src/bugs/b-020916-files/
ldmud-3.2.9/src/bugs/doomdark/
ldmud-3.2.9/src/bugs/ferrycode/ferry/
ldmud-3.2.9/src/bugs/ferrycode/obj/
ldmud-3.2.9/src/bugs/psql/
ldmud-3.2.9/src/done/
ldmud-3.2.9/src/done/order_alist/
ldmud-3.2.9/src/done/order_alist/obj/
ldmud-3.2.9/src/done/order_alist/room/
ldmud-3.2.9/src/gcc/
ldmud-3.2.9/src/gcc/2.7.0/
ldmud-3.2.9/src/gcc/2.7.1/
ldmud-3.2.9/src/hosts/
ldmud-3.2.9/src/hosts/GnuWin32/
ldmud-3.2.9/src/hosts/amiga/NetIncl/
ldmud-3.2.9/src/hosts/amiga/NetIncl/netinet/
ldmud-3.2.9/src/hosts/amiga/NetIncl/sys/
ldmud-3.2.9/src/hosts/i386/
ldmud-3.2.9/src/hosts/msdos/byacc/
ldmud-3.2.9/src/hosts/msdos/doc/
ldmud-3.2.9/src/hosts/os2/
ldmud-3.2.9/src/hosts/win32/
ldmud-3.2.9/src/util/
ldmud-3.2.9/src/util/erq/
ldmud-3.2.9/src/util/indent/hosts/next/
ldmud-3.2.9/src/util/xerq/
ldmud-3.2.9/src/util/xerq/lpc/
ldmud-3.2.9/src/util/xerq/lpc/www/
#include <mudlib.h>
#include <terrain.h>
#include <perms.h>
#include <ships.h>

#define DW_PORT "domains/darkwind/wharf/port"
#define DW_HIDDEN_PORT "domains/darkwind/wharf/hidden_port"

inherit "/objects/ships/rooms/ship_room";

void reset(int arg) {
  ::reset(arg);
  if(arg) return;
  set_terrain(TER_OUTSIDE);
  set_no_teleport(1);
  set_light(1);

  //Calls to vehicle_room
  set_audible_room();
  set_listen_to_outside(1);

  //Calls to ship_room
  set_leave_room();
  set_see_outside();
  set_no_drop_here();

  set_short("The maindeck");
  set_long("\
You are on the main deck of the Fairweather. This is small merchantman\n\
built to manoevre ably through the sea lanes and trade with far off\n\
lands. A narrow mast rises from the deck to the crow's nest far above.\n\
Mounted on the mast is a medium-sized square sail that billows and\n\
waves as the wind blows through it. Towards the prow of the ship there\n\
is a small platform with the spar sticking out of it. Towards the stern\n\
is a larger platform, which probably holds the bridge, the command\n\
center of the ship. The sides of the ship are low here, permitting\n\
you to disembark when the ship docks. A small hatch near the starboard\n\
rail provides a way to go below.\n");
  add_look("hatch","The hatch is open, allowing you to go below decks.\n");
  add_look(({"deck","maindeck"}),"\
The deck is made of long planks of sturdy wood.\n");
  add_look("sail","\
The square sail billows at it catches the wind. Rigging extends from\n\
the sail down to the deck, forecastle, and sterncastle.\n");
  add_look("mast","\
The mast is located amidship, and stabs up towards the sky.\n");
  add_look("rigging","\
The lines which allow the sailors to control the sails.\n");
  add_vehicle_exit("fore","forecastle");
  add_vehicle_exit("hatch","hold");
  add_special_exit("disembark","/path/irrelevant","disembark_func");
  set_concealed_exit("disembark",0);
}

string query_exit_path(string sArg) {
  string sName;

  if(sArg != "disembark") return ::query_exit_path(sArg);
  sName = object_name(query_ship_object()->query_vehicle_environment());
  if(sName == DW_HIDDEN_PORT) return DW_PORT;
  return sName;
}
void init() {
  ::init();
  add_action("stop_func","climb");
  add_action("stop_func","aft");
}

status stop_func(string sArg) {
  if(query_verb() == "climb" && sArg != "mast") {
    notify_fail("Climb what?\n");
    return 0;
  }
  write("A sailor yells at you: \"AY ye lubber. Don't ya be doin' that now.\"\n");
  return 1;
}