LPMUD/
LPMUD/BIN/
LPMUD/DOC/
LPMUD/MUDLIB/
LPMUD/MUDLIB/BANISH/
LPMUD/MUDLIB/D/
LPMUD/MUDLIB/DOC/
LPMUD/MUDLIB/DOC/DOMAINS/
LPMUD/MUDLIB/DOC/EFUN/
LPMUD/MUDLIB/DOC/EXAMPLES/
LPMUD/MUDLIB/DOC/EXAMPLES/ARMOUR/
LPMUD/MUDLIB/DOC/EXAMPLES/CONTAIN/
LPMUD/MUDLIB/DOC/EXAMPLES/FOOD/
LPMUD/MUDLIB/DOC/EXAMPLES/MAGIC/
LPMUD/MUDLIB/DOC/EXAMPLES/MONSTER/
LPMUD/MUDLIB/DOC/EXAMPLES/ROOM/
LPMUD/MUDLIB/DOC/EXAMPLES/WEAPONS/
LPMUD/MUDLIB/FUNCTION/
LPMUD/MUDLIB/INCLUDE/
LPMUD/MUDLIB/INCLUDE/FN_SPECS/
LPMUD/MUDLIB/INCLUDE/SKILLS/
LPMUD/MUDLIB/INFO/
LPMUD/MUDLIB/INHERIT/BASE/
LPMUD/MUDLIB/LOG/
LPMUD/MUDLIB/MANUALS/312/
LPMUD/MUDLIB/NEWS/
LPMUD/MUDLIB/OBJ/PARTY/
LPMUD/MUDLIB/OBJ/SHADOWS/
LPMUD/MUDLIB/OBJECTS/COMPONEN/
LPMUD/MUDLIB/OPEN/
LPMUD/MUDLIB/OPEN/LIBRARY/
LPMUD/MUDLIB/OPEN/PARTY/
LPMUD/MUDLIB/PLAYERS/
LPMUD/MUDLIB/PLAYERS/ZIL/
LPMUD/MUDLIB/ROOM/
LPMUD/MUDLIB/ROOM/CITY/ARENA/
LPMUD/MUDLIB/ROOM/CITY/CREATOR/
LPMUD/MUDLIB/ROOM/CITY/GARDEN/MONST/
LPMUD/MUDLIB/ROOM/CITY/OBJ/
LPMUD/MUDLIB/ROOM/CITY/PUB/
LPMUD/MUDLIB/ROOM/CITY/SHOP/
LPMUD/MUDLIB/ROOM/DEATH/
LPMUD/MUDLIB/ROOM/REGISTRY/
LPMUD/MUDLIB/SECURE/
LPMUD/MUDLIB/SECURE/UDP_CMD_/
LPMUD/MUDLIB/SKILLS/
LPMUD/MUDLIB/SKILLS/FIGHTER/
LPMUD/MUDLIB/SKILLS/THIEF/
LPMUD/MUDLIB/USR/
LPMUD/MUDLIB/USR/CREATORS/
LPMUD/MUDLIB/USR/PLAYERS/
^#^
finger^#^
SUBTOPIC-player^#^
                    -=[ Help ]=-

       command: finger
        Usuage: finger <who>
                finger <who@mud> (intermud if enabled)
   Description: finger gives personal information on 
                characters.  It gives information regarding                
                real name, title, position, email, guild,
                spouse, plan, race, last login, new mail.

       Example: finger zilanthius
Related topics: chfn, email, plan.
 
^#^
fix^#^
SUBTOPIC-player^#^
                    -=[ Help ]=-

       command: fix
        Usuage: fix carry <reason>, fix weight <reason>
                fix armour <reason>, fix ac <reason>
                fix weapon <reason>, fix wc <reason>
                fix heartbeat <reason>, fix h <reason>

   Description: The fix function uses algorythms that 
                recalculate and correct problems with your 
                character.  These problems occur because of 
                bugs.  So it is in your best interest to 
                explain how the situation lead up to the bug.

       Example: fix h heartbeat stopped after casting 
                lightning bolt at bob the forester.

Related topics: none.
 
^#^
find^#^
SUBTOPIC-creator^#^
                    -=[ Help ]=-

       command: find
        Usuage: find <file> { <path> }
                find <file pattern>? { <path> }

   Description: This command allows you to search a directory tree for a
                file or file pattern.  Don't use this frivolously as it
                is fairly intensive, and will give too long evaluation
                errors on large directory trees.

Related topics: tree, Tree.
 
^#^
fire storm^#^
SUBTOPIC-cleric^#^
 ________________________________________________________________
()_______________________________________________________________)
 | Prayer: Fire Storm           Sphere: Nature                   |
 | Level:  18                     Cost: 18                       |
 | Component: None.              Usage: fire storm               |
 | Description:                                                  |
 |                                                               |               
 | This prayer will cause a rift to open to the elemental plane  |
 | of fire.  Fire storms about the area. Everyone is effected    |
 | except those immune to fire, and the cleric.                  |
 |                                                               |
 |                                                               |
 |_______________________________________________________________|
()_______________________________________________________________)
^#^
flamestrike^#^
SUBTOPIC-cleric^#^
 ________________________________________________________________
()_______________________________________________________________)
 | Prayer: Flamestrike          Sphere: Combat                   |
 | Level:  18                     Cost: 18                       |
 | Component:  None.             Usage: flamestrike who          |
 | Description:                                                  |
 |                                                               |               
 | This prayer will cause flame to shout from the prayer's       |
 | hands. The flames burn the potential victim.                  |
 |                                                               |
 |                                                               |
 |                                                               |
 |_______________________________________________________________|
()_______________________________________________________________)
^#^
forging^#^
SUBTOPIC-fighter^#^
     Forging Weapons and Armour.

Your weapon smith and armouring skills allow you to craft
items from metal. A forge is required here, for without it
your forging job will stand very little chance of surviving
combat at all! The higher your skills within these disciplines
the better the final job will be. Armour that can be forged
include - 
     
     Chainmail, platemail, fieldplate, fullplate, shield,
metal boots and gauntlets, helm, helmet.

Leather armour cannot be made in this fashion. A leather
working skill would be required. Clothing such as robes,
cloaks and rings and bracers of a magical nature that act as
protection or armour can't be made with an armouring skill.
Only magical spells and prayers can imbue these normal items
with protection to act as armour.

Weapons that can be forged as as follows -

     Sickle, dagger, dirk, knife, scimitar, broadsword,
falchion, khopesh, longsword, shortsword, rapier, sabre,
cutlass, halberd, pike, lance, ranseur, spear, trident, club,
flail, hammer, staff, mace, battle axe, hand axe, ace,
twohandedsword, bastardsword, morning star, claymore.

Forging armour and weapons takes a minimum of about 3 minutes
real time. The more difficult the armour, or the bigger the
weapon, or the more complex the job, the longer it takes to
forge. A fighter cannot fight during the time he/she wishes to
forge an item. If he/she does so, the job is spoilt and
stopped.

  Usage: forge <item name>

If you find an item that you believe you should be able to
forge, then please talk or mail an ELDER or higher creator and
it might be included in the lists of items.
^#^
fire ball^#^
SUBTOPIC-mage^#^
     ______________________________  ______________________________
  __/                              \/                              \__
 | /|                              |:                              |:||
 ||:| Spell:  Fire Ball            |:  Description:                |:||
 ||:| School: Evocation            |:                              |:||
 ||:| Cost:   10                   |:  This spell causes a ball of |:||
 ||:| Level:  10                   |:  fire to spread out from the |:||
 ||:| Usage:  fire ball            |:  caster. It effects everyone |:||
 ||:|                              |:  including the caster.       |:||
 ||:| Related Spells:              |:                              |:||  
 ||:| None.                        |:                              |:||
 ||:|                              |:                              |:||
 ||:|_____________________________ |: _____________________________|:||
 ||/______________________________\|:/______________________________\||
 |_______________________________      _______________________________|
                                 '----`
^#^
fire shield^#^
SUBTOPIC-mage^#^
     ______________________________  ______________________________
  __/                              \/                              \__
 | /|                              |:                              |:||
 ||:| Spell:  Fire Shield          |:  Description:                |:||
 ||:| School: Evocation            |:                              |:||
 ||:| Cost:   12                   |:  This spell causes a ring of |:||
 ||:| Level:  12                   |:  cold fire to ring the caster|:||
 ||:| Usage:  fire shield          |:  This ring protects the      |:||
 ||:|                              |:  caster from fire damage. It |:||
 ||:| Related Spells:              |:  also causes damage to anyone|:||  
 ||:| None.                        |:  who physically attacks the  |:||
 ||:|                              |:  caster.                     |:||
 ||:|_____________________________ |: _____________________________|:||
 ||/______________________________\|:/______________________________\||
 |_______________________________      _______________________________|
                                 '----`
^#^
friends^#^
SUBTOPIC-mage^#^
     ______________________________  ______________________________
  __/                              \/                              \__
 | /|                              |:                              |:||
 ||:| Spell:  Friends              |:  Description:                |:||
 ||:| School: Charm                |:                              |:||
 ||:| Cost:   12                   |:  This spell causes the       |:||
 ||:| Level:  12                   |:  caster to appear more       |:||
 ||:| Usage:  friends              |:  persuasive and charismatic  |:||
 ||:|                              |:  to other creatures.         |:||
 ||:| Related Spells:              |:                              |:||
 ||:| None.                        |:                              |:||
 ||:|                              |:                              |:||
 ||:|_____________________________ |: _____________________________|:||
 ||/______________________________\|:/______________________________\||
 |_______________________________      _______________________________|
                                 '----`
^#^
file_name^#^
SUBTOPIC-efun^#^
EFUN file_name()

SYNOPSIS
     string file_name(object ob);

DESCRIPTION
     file_name() returns the name of the file from which <ob> was
     loaded.   If the object is a cloned object, then file_name()
     will not be an actual file on disk, but will be the name  of
     the  file  from  which  the  object  was  originally cloned,
     appended with an octothorpe  (#)  and  the  object  instance
     number.  Object instance numbers start at 0 when the game is
     booted, and increase by one for each  object  cloned,  hence
     the  number is unique for each cloned object.  <ob> defaults
     to this_object() if not specified.

     Note that the mudos and native drivers append "/" to the 
     file name whereas compat drivers do not.  However, this is a
     compat mudlib.  Although it can run mudos & native drivers a
     simul_efun is used to strip the prepending forward slash.

EXAMPLE

status valid_player_object(object ob) {
  string file;
  int tmp;

  file = file_name(ob);
  sscanf(file,"%s#%d",file,tmp);
  return (file == "obj/player" || file == "obj/wizard") ? 1 : 0;
}

SEE ALSO
     file_size(), ?:, sscanf().
^#^
file_size^#^
SUBTOPIC-efun^#^
EFUN file_size()

SYNOPSIS
     int file_size(string file);

DESCRIPTION
     file_size() returns the size of file <file> in bytes.   Size
     -1  indicates  that <file> either does not exist, or that it
     is not readable by you. Size -2 indicates that <file>  is  a
     directory.

NOTES
     On amylaar and mudos all players have valid read access to
     the file_size() efun.  There is no real threat to security
     from this function.

EXAMPLE

status simple_bin_hookup(string str) {
  string arg;

  sscanf(str,"%s %s",str,arg);
  if(file_size("/skills/mage/"+ str) > 1) {
    return call_other("skills/mage/"+ str, str, arg);
  }
  return 0;
}


SEE ALSO
     file_name().
^#^
file_time^#^
SUBTOPIC-efun^#^
EFUN file_time()  

SYNOPSYS
     int file_time(string file)    

DESCRIPTION
     This is a simul-efun function for Mudos/amylaar drivers 
     only.  This function finds the time the file was last
     updated.  The file time is the same int as the time() efun.

SEE ALSO
     time()

^#^
filter_array^#^
SUBTOPIC-efun^#^
EFUN filter_array()

SYNOPSIS
     mixed *filter_array(mixed *arr, string fun, object ob,
                         mixed extra);

DESCRIPTION
     filter_array() returns an array holding the items  of  <arr>
     which passed sucessfully through the function <fun> found in
     object <ob>.  The function <fun> is called for each  element
     in <arr> with that element as parameter.  The second parame-
     ter <extra> is sent in each call if  given.   An  object  is
     considered  to  have  passed  sucessfully through <fun> (and
     hence is included in the return array) if <fun>  returns  1.
     If <arr> is not an array, then 0 will be returned.

EXAMPLE

/* filter function */

status filter_ac_type(object ob, string type) {
  return ((string)ob->query_object_type() == "Armour"
         && ob->query_worn()
         && (string)ob->query_type() == type)
         ? 1
         : 0;
}

status wearing_armour(string type) {
  object *inv;

  inv = all_inventory();
  inv = filter_array(inv,"filter_ac_type",this_object(),type);
  return (sizeof(inv)) ? 1 : 0;
}

SEE ALSO
     allocate(), unique_array(), sort_array(), [].
^#^
find_call_out^#^
SUBTOPIC-efun^#^
EFUN find_call_out()

SYNOPSIS
     int find_call_out(string func):

DESCRIPTION
     Find the first call out due  to  be  executed  for  function
     `func',  and  return the time left. If it is not found, then
     return -1.

EXAMPLE

void adj_time_out(int sec) {
  int time_left;

  if((time_left = find_call_out("time_out")) != -1) {
    remove_call_out("time_out");
    sec += time_left;
  }
  call_out("time_out", sec);
}

SEE ALSO
     call_out(), remove_call_out(), set_heart_beat().

^#^
find_living^#^
SUBTOPIC-efun^#^
EFUN find_living()

SYNOPSIS
     object find_living(string str);

DESCRIPTION
     Find first the object that is marked as living, and  answers
     to  the  id  <str>.   A  living object is an object that has
     called enable_commands().  The object must have set  a  name
     with set_living_name(), so its name will be entered into the
     hash table used to speed up the search for living objects.

EXAMPLE

void reset(status arg) {
  if(!find_living("hocii the magnificent")) {
    move_object(clone_object("...hocii.."),this_object());
    ....etc


SEE ALSO
     living(), find_player(),  enable_commands(), 
     set_living_name()

^#^
find_object^#^
SUBTOPIC-efun^#^
EFUN find_object()

SYNOPSIS
     object find_object(string str);

DESCRIPTION
     Find the object with the object name <str>.  The object
     name is returned if file_name() was called with it as
     the argument.

EXAMPLE

void load_soul() {
  if(!find_object("secure/soul_fcn")) {
    call_other("secure/soul_fcn","??");
  }
}

SEE ALSO
     file_name()


^#^
find_player^#^
SUBTOPIC-efun^#^
EFUN find_player()

SYNOPSIS
     object find_player(string str);

DESCRIPTION
     Similar to find_living(), but only searches through  objects
     that are interactive, or were once interactive.

EXAMPLE

void locate_player(string who) {
  object player, room;

  if(!(player = find_player(who))) {
    write(capitalize(who) +" is not playing at the moment.\n");
  }
  else if(!(room = environment(player))) {
    write(capitalize(who) +" is logging on.\n");
  }
  else {
    write(capitalize(who) +" is located at "+ file_name(room)
           +".\n");
  }
}

SEE ALSO
     lower_case(), find_living(), set_living_name()

^#^
first_inventory^#^
SUBTOPIC-efun^#^
EFUN first_inventory()

SYNOPSIS
     object first_inventory(mixed ob);

DESCRIPTION
     Return the first object in the inventory of <ob>, where <ob>
     is either an object or the file name of an object.  It 
     treats the inventory as a linked list, with two functions.
     First_inventory() points to the head, and next_inventory(ob)
     points to the next object in the list.

     This is now becoming obsolete with the use of
     all_inventory().

EXAMPLE

void show_inventory() {
  object ob;

  for(ob = first_inventory(this_object()); ob; ob = next_inventory(ob)) {
    if(ob->query_name()) write(ob->query_name() +"\n");
  }
}


SEE ALSO
     file_name(), next_inventory(), all_inventory()
^#^
filter_mapping^#^
SUBTOPIC-amylaar^#^
SYNOPSIS
	mapping filter_mapping(mapping, string func, object ob, ...)
	mapping filter_mapping(mapping, closure cl, ...)

DESCRIPTION
	ob->func() is called resp. cl applied to every element in the
	mapping, with first argument the first data item of the
	element, and then the extra args that were given to
	map_mapping. If the function returns true, the element is
	added to the result mapping. ob can also be a file_name of an
	object. If the second arg is a string and the third is not an
	object, this_object() will be used as default.

SEE ALSO
	map_array(E), walk_mapping(E), member(E), mapping_contains(E)
^#^
filter_objects^#^
SUBTOPIC-amylaar^#^
SYNOPSIS
	object *filter_objects(object *arr, string fun, mixed extra)

DESCRIPTION
	Similar to filter_array but calls arr[n]->fun(extra). If the
	call returns 1 the object arr[n] ist included in the returned
	array.

SEE ALSO
	filter_array(E), map_objects(E)

^#^
floatp^#^
SUBTOPIC-amylaar^#^
SYNOPSIS
	int floatp(mixed)

DESCRIPTION
	Returns 1 if the arg is a floating point number, 0 else.

SEE ALSO
	intp(E)
^#^
funcall^#^
SUBTOPIC-amylaar^#^
SYNOPSIS
	mixed funcall(closure cl, mixed arg ...)

DESCRIPTION
	Evaluates the closure. The extra args will be passed as args
	to the closure.	

SEE ALSO
	apply(E), quote(E)
^#^
function_exists^#^
SUBTOPIC-amylaar^#^
SYNOPSIS
	string function_exists(string str, object ob)

DESCRIPTION
	Return the file name of the object that defines the function
	str in object ob. The returned value can be other than
	file_name(ob) if the function is defined in an inherited
	object. The returned name always begins with a '/' (absolute
	path). 0 is returned if the function was not defined.

SEE ALSO
	call_other(E)
^#^
functionlist^#^
SUBTOPIC-amylaar^#^
NAME
	mixed *functionlist(mixed ob, int flags)

SYNOPSIS
	functionlist() returns an array with information about an
	object's functions.

	The first arg is an object or a file name.

	The second (optional) arg is a flags that specifies, what info
	is to be returned (function names, or return types, or number
	of args the functions takes, ...), and also, if info is wanted
	about all functions, or just about public/private/varargs/...
	functions.  The Driver source should contain a
	<mudlib/sys/lpctypes.h> and <mudlib/sys/functionlist.h> that
	define the values for the flags and the returntypes of
	functionlist().

SEE ALSO
	inherit_list(E)
^#^
flag^#^
SUBTOPIC-amylaar^#^
SYNOPSIS
	void flag(string arg)

DESCRIPTION
	Evaluate an argument given as option '-f' to the driver.
	If several '-f' options are given, this function will be
	called sequentially with all given arguments.
	This function can be used to pass the master commands via
	arguments to the driver. This is useful when building a new
	mudlib from scratch. It is called only when the system is
	started.

EXAMPLE
	// The code given implements these commands:
	//  '-fcall <ob> <fun> <arg>': call function <fun> in object <ob> with
	//				argument <arg>.
	//  '-fshutdown': shutdown the system immediately.
	// Thus, starting the driver as
	//	 'parse "-fcall foo bar Yow!" -fshutdown' would
	// first do foo->bar("Yow!") and then shut down the system.

	{
	  string obj, fun, rest;

	  if (arg == "shutdown")
	  {
	    shutdown();
	    return;
	  }
	  if (sscanf(arg, "call %s %s %s", obj, fun, rest) >= 2)
	  {
	    write(obj+"->"+fun+"(\""+rest+"\") = ");
	    write(call_other(obj, fun, rest));
	    write("\n");
	    return;
	  }
	  write("master: Unknown flag "+arg+"\n");
	}

SEE ALSO
	master(M)