skylib_fluffos_v3/
skylib_fluffos_v3/bin/
skylib_fluffos_v3/bin/db/
skylib_fluffos_v3/fluffos-2.9-ds2.04/
skylib_fluffos_v3/fluffos-2.9-ds2.04/ChangeLog.old/
skylib_fluffos_v3/fluffos-2.9-ds2.04/Win32/
skylib_fluffos_v3/fluffos-2.9-ds2.04/compat/
skylib_fluffos_v3/fluffos-2.9-ds2.04/compat/simuls/
skylib_fluffos_v3/fluffos-2.9-ds2.04/include/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/clone/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/command/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/data/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/etc/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/include/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/inherit/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/inherit/master/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/log/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/single/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/single/tests/compiler/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/single/tests/efuns/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/single/tests/operators/
skylib_fluffos_v3/fluffos-2.9-ds2.04/testsuite/u/
skylib_fluffos_v3/fluffos-2.9-ds2.04/tmp/
skylib_fluffos_v3/fluffos-2.9-ds2.04/windows/
skylib_fluffos_v3/mudlib/
skylib_fluffos_v3/mudlib/cmds/
skylib_fluffos_v3/mudlib/cmds/admin/
skylib_fluffos_v3/mudlib/cmds/guild-race/
skylib_fluffos_v3/mudlib/cmds/living/broken/
skylib_fluffos_v3/mudlib/cmds/player/group_cmds/
skylib_fluffos_v3/mudlib/cmds/playtester/
skylib_fluffos_v3/mudlib/d/admin/
skylib_fluffos_v3/mudlib/d/admin/room/
skylib_fluffos_v3/mudlib/d/admin/room/we_care/
skylib_fluffos_v3/mudlib/d/admin/save/
skylib_fluffos_v3/mudlib/d/admin/text/
skylib_fluffos_v3/mudlib/d/learning/TinyTown/buildings/
skylib_fluffos_v3/mudlib/d/learning/TinyTown/map/
skylib_fluffos_v3/mudlib/d/learning/TinyTown/roads/
skylib_fluffos_v3/mudlib/d/learning/chars/
skylib_fluffos_v3/mudlib/d/learning/functions/
skylib_fluffos_v3/mudlib/d/learning/handlers/
skylib_fluffos_v3/mudlib/d/learning/help_topics/
skylib_fluffos_v3/mudlib/d/learning/help_topics/npcs/
skylib_fluffos_v3/mudlib/d/learning/help_topics/objects/
skylib_fluffos_v3/mudlib/d/learning/help_topics/rcs_demo/
skylib_fluffos_v3/mudlib/d/learning/help_topics/rcs_demo/RCS/
skylib_fluffos_v3/mudlib/d/learning/help_topics/rooms/
skylib_fluffos_v3/mudlib/d/learning/help_topics/rooms/crowd/
skylib_fluffos_v3/mudlib/d/learning/help_topics/rooms/situations/
skylib_fluffos_v3/mudlib/d/learning/save/
skylib_fluffos_v3/mudlib/d/learning/school/
skylib_fluffos_v3/mudlib/d/learning/school/add_sc/
skylib_fluffos_v3/mudlib/d/learning/school/characters/
skylib_fluffos_v3/mudlib/d/learning/school/general/
skylib_fluffos_v3/mudlib/d/learning/school/getting-started/
skylib_fluffos_v3/mudlib/d/learning/school/getting-started/basic_commands/
skylib_fluffos_v3/mudlib/d/learning/school/getting-started/edtutor/
skylib_fluffos_v3/mudlib/d/learning/school/getting-started/unix_tutor/
skylib_fluffos_v3/mudlib/d/learning/school/items/
skylib_fluffos_v3/mudlib/d/learning/school/npc_school/
skylib_fluffos_v3/mudlib/d/learning/school/room_school/
skylib_fluffos_v3/mudlib/d/learning/school/room_school/room_basic/
skylib_fluffos_v3/mudlib/d/learning/school/room_school/situations/
skylib_fluffos_v3/mudlib/d/learning/school/room_school/terrain_tutor/
skylib_fluffos_v3/mudlib/d/learning/text/
skylib_fluffos_v3/mudlib/d/liaison/
skylib_fluffos_v3/mudlib/d/mudlib/
skylib_fluffos_v3/mudlib/d/mudlib/changes/
skylib_fluffos_v3/mudlib/d/playtesters/
skylib_fluffos_v3/mudlib/d/playtesters/effects/
skylib_fluffos_v3/mudlib/d/playtesters/handlers/
skylib_fluffos_v3/mudlib/d/playtesters/items/
skylib_fluffos_v3/mudlib/d/sage/
skylib_fluffos_v3/mudlib/doc/
skylib_fluffos_v3/mudlib/doc/creator/
skylib_fluffos_v3/mudlib/doc/driver/
skylib_fluffos_v3/mudlib/doc/driver/efuns/arrays/
skylib_fluffos_v3/mudlib/doc/driver/efuns/buffers/
skylib_fluffos_v3/mudlib/doc/driver/efuns/calls/
skylib_fluffos_v3/mudlib/doc/driver/efuns/compile/
skylib_fluffos_v3/mudlib/doc/driver/efuns/filesystem/
skylib_fluffos_v3/mudlib/doc/driver/efuns/floats/
skylib_fluffos_v3/mudlib/doc/driver/efuns/functions/
skylib_fluffos_v3/mudlib/doc/driver/efuns/general/
skylib_fluffos_v3/mudlib/doc/driver/efuns/mappings/
skylib_fluffos_v3/mudlib/doc/driver/efuns/mixed/
skylib_fluffos_v3/mudlib/doc/driver/efuns/mudlib/
skylib_fluffos_v3/mudlib/doc/driver/efuns/numbers/
skylib_fluffos_v3/mudlib/doc/driver/efuns/parsing/
skylib_fluffos_v3/mudlib/doc/login/
skylib_fluffos_v3/mudlib/doc/lpc/basic_manual/
skylib_fluffos_v3/mudlib/doc/lpc/intermediate/
skylib_fluffos_v3/mudlib/doc/new/add_command/
skylib_fluffos_v3/mudlib/doc/new/events/
skylib_fluffos_v3/mudlib/doc/new/handlers/
skylib_fluffos_v3/mudlib/doc/new/living/race/
skylib_fluffos_v3/mudlib/doc/new/living/spells/
skylib_fluffos_v3/mudlib/doc/new/object/
skylib_fluffos_v3/mudlib/doc/new/player/
skylib_fluffos_v3/mudlib/doc/new/room/guild/
skylib_fluffos_v3/mudlib/doc/new/room/outside/
skylib_fluffos_v3/mudlib/doc/new/room/storeroom/
skylib_fluffos_v3/mudlib/doc/object/
skylib_fluffos_v3/mudlib/doc/playtesters/
skylib_fluffos_v3/mudlib/doc/policy/
skylib_fluffos_v3/mudlib/doc/weapons/
skylib_fluffos_v3/mudlib/global/
skylib_fluffos_v3/mudlib/global/creator/
skylib_fluffos_v3/mudlib/handlers/
skylib_fluffos_v3/mudlib/include/casino/
skylib_fluffos_v3/mudlib/include/cmds/
skylib_fluffos_v3/mudlib/include/effects/
skylib_fluffos_v3/mudlib/include/npc/
skylib_fluffos_v3/mudlib/include/room/
skylib_fluffos_v3/mudlib/include/shops/
skylib_fluffos_v3/mudlib/net/daemon/
skylib_fluffos_v3/mudlib/net/daemon/chars/
skylib_fluffos_v3/mudlib/net/inherit/
skylib_fluffos_v3/mudlib/net/obj/
skylib_fluffos_v3/mudlib/net/obj/BACKUPS/
skylib_fluffos_v3/mudlib/obj/amulets/
skylib_fluffos_v3/mudlib/obj/armours/plate/
skylib_fluffos_v3/mudlib/obj/b_day/
skylib_fluffos_v3/mudlib/obj/clothes/transport/horse/
skylib_fluffos_v3/mudlib/obj/faith/symbols/
skylib_fluffos_v3/mudlib/obj/fungi/
skylib_fluffos_v3/mudlib/obj/gatherables/
skylib_fluffos_v3/mudlib/obj/instruments/
skylib_fluffos_v3/mudlib/obj/media/
skylib_fluffos_v3/mudlib/obj/misc/player_shop/
skylib_fluffos_v3/mudlib/obj/monster/godmother/
skylib_fluffos_v3/mudlib/obj/monster/transport/
skylib_fluffos_v3/mudlib/obj/rings/
skylib_fluffos_v3/mudlib/obj/scabbards/
skylib_fluffos_v3/mudlib/obj/spells/
skylib_fluffos_v3/mudlib/obj/stationery/
skylib_fluffos_v3/mudlib/obj/stationery/envelopes/
skylib_fluffos_v3/mudlib/obj/toys/
skylib_fluffos_v3/mudlib/obj/vessels/
skylib_fluffos_v3/mudlib/obj/weapons/axes/
skylib_fluffos_v3/mudlib/obj/weapons/chains/
skylib_fluffos_v3/mudlib/obj/weapons/maces/BACKUPS/
skylib_fluffos_v3/mudlib/save/autodoc/
skylib_fluffos_v3/mudlib/save/book_handler/
skylib_fluffos_v3/mudlib/save/books/history/calarien/
skylib_fluffos_v3/mudlib/save/mail/
skylib_fluffos_v3/mudlib/save/new_soul/data/
skylib_fluffos_v3/mudlib/save/parcels/
skylib_fluffos_v3/mudlib/save/playerinfo/
skylib_fluffos_v3/mudlib/save/players/d/
skylib_fluffos_v3/mudlib/save/players/s/
skylib_fluffos_v3/mudlib/save/random_names/
skylib_fluffos_v3/mudlib/save/random_names/data/
skylib_fluffos_v3/mudlib/save/terrains/
skylib_fluffos_v3/mudlib/save/terrains/tutorial_desert/
skylib_fluffos_v3/mudlib/save/terrains/tutorial_grassy_field/
skylib_fluffos_v3/mudlib/save/terrains/tutorial_mountain/
skylib_fluffos_v3/mudlib/save/todo_lists/
skylib_fluffos_v3/mudlib/secure/
skylib_fluffos_v3/mudlib/secure/cmds/admin/
skylib_fluffos_v3/mudlib/secure/cmds/lord/
skylib_fluffos_v3/mudlib/secure/config/
skylib_fluffos_v3/mudlib/secure/handlers/autodoc/
skylib_fluffos_v3/mudlib/secure/handlers/intermud/
skylib_fluffos_v3/mudlib/secure/include/global/
skylib_fluffos_v3/mudlib/secure/save/
skylib_fluffos_v3/mudlib/secure/save/handlers/
skylib_fluffos_v3/mudlib/secure/std/
skylib_fluffos_v3/mudlib/secure/std/classes/
skylib_fluffos_v3/mudlib/secure/std/modules/
skylib_fluffos_v3/mudlib/std/creator/
skylib_fluffos_v3/mudlib/std/dom/
skylib_fluffos_v3/mudlib/std/effects/
skylib_fluffos_v3/mudlib/std/effects/external/
skylib_fluffos_v3/mudlib/std/effects/fighting/
skylib_fluffos_v3/mudlib/std/effects/magic/
skylib_fluffos_v3/mudlib/std/effects/magic/BACKUPS/
skylib_fluffos_v3/mudlib/std/effects/other/BACKUPS/
skylib_fluffos_v3/mudlib/std/effects/priest/
skylib_fluffos_v3/mudlib/std/effects/room/
skylib_fluffos_v3/mudlib/std/environ/
skylib_fluffos_v3/mudlib/std/guilds/
skylib_fluffos_v3/mudlib/std/guilds/old/
skylib_fluffos_v3/mudlib/std/languages/
skylib_fluffos_v3/mudlib/std/liquids/
skylib_fluffos_v3/mudlib/std/npc/
skylib_fluffos_v3/mudlib/std/npc/goals/
skylib_fluffos_v3/mudlib/std/npc/goals/basic/
skylib_fluffos_v3/mudlib/std/npc/goals/misc/
skylib_fluffos_v3/mudlib/std/npc/plans/
skylib_fluffos_v3/mudlib/std/npc/plans/basic/
skylib_fluffos_v3/mudlib/std/npc/types/
skylib_fluffos_v3/mudlib/std/npc/types/helper/
skylib_fluffos_v3/mudlib/std/npcs/
skylib_fluffos_v3/mudlib/std/outsides/
skylib_fluffos_v3/mudlib/std/races/shadows/
skylib_fluffos_v3/mudlib/std/room/basic/BACKUPS/
skylib_fluffos_v3/mudlib/std/room/basic/topography/
skylib_fluffos_v3/mudlib/std/room/controller/
skylib_fluffos_v3/mudlib/std/room/inherit/topography/
skylib_fluffos_v3/mudlib/std/room/topography/area/
skylib_fluffos_v3/mudlib/std/room/topography/iroom/
skylib_fluffos_v3/mudlib/std/room/topography/milestone/
skylib_fluffos_v3/mudlib/std/shadows/curses/
skylib_fluffos_v3/mudlib/std/shadows/disease/
skylib_fluffos_v3/mudlib/std/shadows/fighting/
skylib_fluffos_v3/mudlib/std/shadows/healing/
skylib_fluffos_v3/mudlib/std/shadows/magic/
skylib_fluffos_v3/mudlib/std/shadows/poison/
skylib_fluffos_v3/mudlib/std/shadows/room/
skylib_fluffos_v3/mudlib/std/shops/controllers/
skylib_fluffos_v3/mudlib/std/shops/objs/
skylib_fluffos_v3/mudlib/std/shops/player_shop/
skylib_fluffos_v3/mudlib/std/socket/
skylib_fluffos_v3/mudlib/std/soul/d/
skylib_fluffos_v3/mudlib/std/soul/e/
skylib_fluffos_v3/mudlib/std/soul/i/
skylib_fluffos_v3/mudlib/std/soul/j/
skylib_fluffos_v3/mudlib/std/soul/k/
skylib_fluffos_v3/mudlib/std/soul/l/
skylib_fluffos_v3/mudlib/std/soul/n/
skylib_fluffos_v3/mudlib/std/soul/o/
skylib_fluffos_v3/mudlib/std/soul/q/
skylib_fluffos_v3/mudlib/std/soul/r/
skylib_fluffos_v3/mudlib/std/soul/u/
skylib_fluffos_v3/mudlib/std/soul/v/
skylib_fluffos_v3/mudlib/std/soul/y/
skylib_fluffos_v3/mudlib/std/soul/z/
skylib_fluffos_v3/mudlib/std/stationery/
skylib_fluffos_v3/mudlib/w/
skylib_fluffos_v3/mudlib/w/default/
skylib_fluffos_v3/mudlib/w/default/armour/
skylib_fluffos_v3/mudlib/w/default/clothes/
skylib_fluffos_v3/mudlib/w/default/item/
skylib_fluffos_v3/mudlib/w/default/npc/
skylib_fluffos_v3/mudlib/w/default/room/
skylib_fluffos_v3/mudlib/w/default/weapon/
skylib_fluffos_v3/mudlib/www/
skylib_fluffos_v3/mudlib/www/java/
skylib_fluffos_v3/mudlib/www/secure/
skylib_fluffos_v3/mudlib/www/secure/lpc/advanced/
skylib_fluffos_v3/mudlib/www/secure/lpc/intermediate/
skylib_fluffos_v3/win32/
.DT
setup()
$MUDNAME$ Creator help
setup()

.SI 5
void setup() : successful use of set_name(), set_short(), etc.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
.EI

.SP 5 5
The information in this monograph concerns those functions which all objects
that are tangible to players in the game have in their setup function.	These
are:
.EP

.SO 10 50 -20
	set_name( string word ) ( 1 )
	set_short( string words )	( 2 )
	set_long( string text ) ( 2 )
	add_alias( string word | string *words )	( 1 )
	add_plural( string word | string *words )	( 1 )
	set_main_plural( string words ) ( 2 )
	add_adjective( string word | string *words )	( 1 )
	add_property( "determinate", string word )	( 2 ) 
.EO

.SI 8
These functions fall into two categories:
.EI

.SO 10 -10
( 1 )	functions that set up information which will be drawn upon by the parser in its attempts to ascertain if this is the object with which the player wants to do something, and
( 2 )	functions that set up information that is used to print responses to the player's actions involving the object.
.EO

The second category is the simpler and will be dealt with first.

.SI 5
set_short( string words )
.EI
.SP 10 10
The short description ( or short for short ) is that word or, more often,
those words which the player will see when looking at a room that contains the
object, e.g.
.EP

.SP 15 10
"beggar", "Detritus", "old man", "green caterpillar", "blue box",
"wooden table", "chocolate eclair", "short sword", "shiny stone".
.EP

.SP 1 5
Usually the short is one adjective and one noun, although it can be just a noun
or may be more complicated ( "bunch of flowers" ).  It is the first thing to be
decided upon when coding the object, although not necessarily the first to
appear in the setup function.  The short should not be capitalised unless the
object has a proper name, e.g. "Hrun", "Klang"; it also should not contain any
articles ( "a", "an" or "the" ) since these are added automatically - see the
comments concerning the determinate below.
.EP

.SI 5
set_long( string text )
.EI
.SP 10 5
The long description ( or long for short ) is that piece of text, often a
few lines long, which the player will see when looking directly at, or
examining, the object.	The bare long, i.e. the piece of text given in
set_long(), often has extra text appended for output to give, for instance,
information about the object's inventory, enchantment or health.  The long will
often contain a few more adjectives which are suitable for describing the
object.
.EP

.SI 5
set_main_plural( string words )
.EI
.SP 10 5
Related to the short is the main plural, e.g.
.EP

.SP 15 10
"beggars", "Detrituses", "old men", "green caterpillars", "blue boxes",
"wooden tables", "chocolate eclairs", "short swords", "shiny stones".
.EP

.SP 10 5
For correct appearance in the game, the short, long and main plural should
be set - these three, and only these three, give the player information about
the object.
.EP

.SI 5
add_property( "determinate", string word )
.EI
.SP 10 5
Also of interest, as far as nice output is concerned, is the determinate, or
article, that is combined with the short when generating response messages.
Most objects have "a " or "an " as their determinate, although objects with
proper names will have determinate "", and some objects, unique things such
as the Librarian, will have "the " as their deteminate - note the extra space
in the non-trivial determinates, since a space is not inserted when joining
the determinate to the short.  To work out the correct determinate ( if it
is not immediately obvious ) think about what should be put into the blank
in sentences such as:
.EP

.SI 15
 "<blank> arrives from the south.", e.g.
.EI
.SP 20 10
 "A burly fighter...", "An old man...", "Stren Withel...",
 "The Weasel...",
.EP

.SI 15
 "You find a <blank> in the undergrowth.", e.g.
.EP
.SP 20 10
"... a blue stone...", "... an aromatic herb...", "... Klang...",
"... the Sacred Rice-bowl of Offler...".
.EP

.SP 1 5
If there is more than one object, then the number ( "five", "seven", etc. ) or
"some" will be used instead of the determinate.  Determinates should not be
capitalised since they will not necessarily appear at the start of a sentence.
If the determinate property is not set, "a " or "an " are used by default.
.EP

.SI 5
set_name( string word )
.EI
.SP 10 5
Once the short, long and main plural have been chosen, the parser
information function arguments can be deduced.	The name of the object is
almost always the principal noun from the short, but it _must_ be in lowercase
throughout, e.g.
.EP
.SP 20 10
"beggar", "detritus", "man", "caterpillar", "box", "table", "eclair",
"sword", "stone".
.EP

.SP 1 5
The name should be the word that will be most used to reference the object.
.EP

.SI 5
add_alias( string word | string *words )
.EI
.SP 10 5
Additional valid names can be given as aliases, e.g. "troll" for Detritus
({ "man", "pauper", "urchin" }) for the beggar - note that add_alias, like
add_adjective and add_plural, can accept an array argument such that:
.EP

.SI 15
add_alias( ({ "man", "pauper", "urchin" }) );
.EI

.SP 10 5
is equivalent to:
.EP

.SI 15
add_alias( "man" );
add_alias( "pauper" );
add_alias( "urchin" );
.EI

Aliases, as well as adjectives and plurals, must be in lower case throughout
for the purposes of parsing commands.

add_plural( string word | string *words )
-----------------------------------------

   The system automatically adds one plural for you: the plural of the name
once you have called set_name().  Sometimes this default plural is not quite
right, though, e.g. the plural of "key" is found to be "keies", so the correct
plural must be given, e.g. add_plural( "keys" ); .  Plurals of each alias
should also be given in this way, e.g.

      add_plural( ({ "men", "paupers", "urchins" }) );

for the beggar ( the default plural of "beggar" is "beggars" which is correct
and so "beggars" need not be given again ).

add_adjective( string word | string *words )
--------------------------------------------

   All relevant adjectives should be given using add_adjective() - adjectives
in the short _must_ be given since the player ought at least be able to
reference an object by its short, e.g.

      - , - , "old", "green", "blue", ({ "wooden", "wood" }), ({ "chocolate",
      "choc" }), "short", "shiny".


Some examples :
---------------

Example 1: a battered hat.

   void setup() {
      set_name( "hat" );
      set_short( "battered hat" );
      set_long( "This is an old, battered hat.	It's made from felt.\n" );
      set_main_plural( "battered hats" );
      add_adjective( ({ "battered", "old", "felt" }) );
      ...

Example 2: a bunch of flowers.

   void setup() {
      set_name( "bunch" );
      set_short( "bunch of flowers" );
      set_long( "This is a nice bunch of dahlias.\n" );
      add_alias( ({ "flowers", "dahlias" }) );
      add_plural( ({ "bunches", "bunches of flowers" }) );
      set_main_plural( "bunches of flowers" );
      add_adjective( ({ "bunch", "of" }) );
      ...

Example 3: a pair of slippers.

   void setup() {
      set_name( "slippers" );
      set_short( "pair of slippers" );
      set_long( "This is a pair of light blue slippers.\n" );
      add_plural( "pairs of slippers" );
      set_main_plural( "pairs of slippers" );
      add_adjective( ({ "pair", "of" }) );
      ...

Example 4: the Librarian.

   void setup() {
      set_name( "librarian" );
      set_short( "Librarian" );
      set_long( "This is the Librarian.  He was turned into an adult male "+
	    "orang-utan in a magical accident.\n" );
      add_alias( ({ "orang-utan", "orangutan", "orang", "utan", "ape" }) );
      add_plural( ({ "orang-utans", "orangutans", "orangs", "utans",
	    "apes" }) );
      set_main_plural( "orang-utans" );
      add_adjective( ({ "orang", "adult", "male" }) );
      add_property( "determinate", "the " );
      ...