^#^ 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)