^#^ party^#^ SUBTOPIC-player^#^ -=[ Help ]=- command: party Usuage: party <party name> Description: This starts up a new party, <party name> with you as the leader. You can then join others into your party, and adventure together. Experience from kills are then shared on a level basis. Related topics: none. ^#^ password^#^ SUBTOPIC-player^#^ -=[ Help ]=- command: password Usuage: password Description: This allows you to change your password. You must enter your old password, before you can change it to a new one. Related topics: suicide. ^#^ plan^#^ SUBTOPIC-player^#^ -=[ Help ]=- command: plan Usuage: plan Description: plan allows you to edit the 'plan' part of your personal 'finger'. Related topics: finger, chfn. ^#^ put^#^ SUBTOPIC-player^#^ -=[ Help ]=- command: put Usuage: put <item> in <container> put all in <container> Description: This allows you to put an item of all of your items in a container. The container can be on you or in the room. Note that containers have a limited to what they can carry. You can only move items about if you can see. Related topics: get, give, drop. ^#^ parser^#^ SUBTOPIC-creator^#^ -=[ Object Parser ]=- Most creator commands can use the inbuilt object parser. The object parser allows you to reference any object in the mud with relative ease. For convenience <object> is a an object, or a list of objects. When dealing with objects there are keywords used for locating objects, these are: "users", "who", "room", "env", "me", "all". <object> can described by position: position separators are "of" and "in". Eg. sword sword in zilanthius sword in bag in zilanthius room of zilanthius <object> can be described by clonename: Eg. players/zilanthius/obj/sword#10 <object> can be described by its filename: Eg. sword.c (if in current path) /players/zilanthius/obj/sword.c <object> can be described by a default name: Default: "users", "who", "room", "env", "me". <object> can be an object list: using the list separator "," Eg. sword, axe, shovel <object> can be an object list: using the keyword "all". Eg. all in zilanthius all swords in zilanthius <object> can be an object list: using the keyword "users". Eg. users sword, users all in users <object> can be the first number of objects found. Eg. 3 swords in zilanthius ^#^ patch^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: patch Usuage: patch <object(s)::function> patch <object(s)::function::arg1> patch <object(s)::function::arg1::arg2> Description: This command allows you to patch any function in an object and returns the value to you. It is useful for making on the fly character fixes. Note that some functions may be logged, anyone caught helping players cheat may be demoted. Object(s) can be anything that can be referenced by the object parser. Related topics: lpc. ^#^ path^#^ SUBTOPIC-creator^#^ -=[ Help ]=- Description: There are a number of symbolic tokens that can be used to make file paths. These include: .. for parent directory ~ for home directory domain# for domain home directory Example: cd change to /players/zilanthius cd myth#open change to /d/myth/w/zilanthius/open Related topics: mkdir, rmdir, rm, Rm, copy, Copy, mv, Mv, ed. ^#^ pay^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: pay Usuage: pay <amount> to <player|monster> Description: This command allows you to compensate players for lost money. You should not have to do this. Related topics: none. ^#^ people^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: people Usuage: people Description: The people command gives a list of interactive users using the game. It gives information about the machine they are telneting from, their current room, and how long they have been idle. Related topics: who. ^#^ post^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: post Usuage: post Description: Moves you to the post office. Related topics: church, guild, home, inner, pub. ^#^ pretitle^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: pretitle Usuage: pretitle pretitle <title> Description: Every player's title is broken into 3 parts: pretitle, title, and alignment title. This command allows you to set your pretitle. If no pretitle is given it defaults to "Lord" or "Lady". Example: pretitle Emporer Related topics: mhome, mclone, minvis, mtrans, mmin, min, mmout, mout, edtitle, reveiw, title, align. ^#^ promote^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: promote Usuage: promote <who> <level|level name> Description: This command promotes a player or creator to a higher security level. It automatically adds a home directory structure, and file access objects. You cannot promote anyone, one full security level less then yourself. Minimum security level to use this command is SEC5 (50). Level names: asp, app, creator, sage, lord, sen, elder, arch, or admin. Related topics: domain. ^#^ pub^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: pub Usuage: pub Description: Moves you to the pub. Related topics: guild, post, church, home, inner. ^#^ pwd^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: pwd Usuage: pwd Description: print working directory. This prints the default directory that the creator is using. Related topics: cd , ls. ^#^ plant door^#^ SUBTOPIC-cleric^#^ ________________________________________________________________ ()_______________________________________________________________) | Prayer: Plant Door Sphere: Nature | | Level: 8 Cost: 8 | | Component: branch Usage: plant door | | Description: | | | | This prayer will allow the cleric to use natures' pathways | | which stretch from tree to tree. The prayer needs a branch | | from a tree to work. If the branch is from a tree other then | | the one you step into, it will most likely take you to that | | tree. It will not take you to trees in other domains. | |_______________________________________________________________| ()_______________________________________________________________) ^#^ plant growth^#^ SUBTOPIC-cleric^#^ ________________________________________________________________ ()_______________________________________________________________) | Prayer: Plant Growth Sphere: Nature | | Level: 9 Cost: 9 | | Component: berry or seed Usage: plant growth | | Description: | | | | This prayer will allow the cleric to accerate the growth | | of a tree. The tree will have many of the spell components | | necessary for nature spells. The tree can be planted almost | | anywhere. | | | |_______________________________________________________________| ()_______________________________________________________________) ^#^ poison^#^ SUBTOPIC-cleric^#^ ________________________________________________________________ ()_______________________________________________________________) | Prayer: Poison Sphere: Necromancy | | Level: 14 Cost: 14 | | Component: none. Usage: poison who | | Description: | | | | This prayer will allow the cleric to poison someone. The | | poison disabilitates the victim about every minute. It also | | limits the maximum healing potential of the victim. | | | | | |_______________________________________________________________| ()_______________________________________________________________) ^#^ prayer^#^ SUBTOPIC-cleric^#^ ________________________________________________________________ ()_______________________________________________________________) | Prayer: Prayer Sphere: Combat | | Level: 5 Cost: 5 | | Component: None. Usage: prayer who | | Description: | | | | The prayer is a more powerful Bless prayer. | | | | | | | | | |_______________________________________________________________| ()_______________________________________________________________) ^#^ protection sphere^#^ SUBTOPIC-cleric^#^ _________________________________________________________ ()________________________________________________________) | Prayers from the Protection Sphere | | | | Resist Light Resist Cold | | Resist Darkness Resist Acid | | Resist Death Resist Lightning | | Resist Draining Resist Poison | | Resist Earth Resist Disease | | Resist Fire Resist Fear | | Resist Water Resist Charm | | Resist Air | |_______________________________________________________| ()________________________________________________________) Type 'help resist' for extra information. ^#^ phantasmal force^#^ SUBTOPIC-mage^#^ ______________________________ ______________________________ __/ \/ \__ | /| |: |:|| ||:| Spell: Phantasmal Force |: Description: |:|| ||:| School: Illusion |: |:|| ||:| Cost: varies |: This spell causes an |:|| ||:| Level: 12 |: illusion that perfectly |:|| ||:| Usage: phantasmal force spell|: imitates most evocation |:|| ||:| |: spell. The cost varies |:|| ||:| Related Spells: |: depending on the spell |:|| ||:| Evocation, Alter Reality. |: imitated. |:|| ||:| |: |:|| ||:|_____________________________ |: _____________________________|:|| ||/______________________________\|:/______________________________\|| |_______________________________ _______________________________| '----` ^#^ permanent illusion^#^ SUBTOPIC-mage^#^ ______________________________ ______________________________ __/ \/ \__ | /| |: |:|| ||:| Spell: Permanent Illusion |: Description: |:|| ||:| School: Illusion |: |:|| ||:| Cost: 25 |: This spell weaves an |:|| ||:| Level: 25 |: illusion about an item |:|| ||:| Usage: permanent illusion - |: or monster. The woven |:|| ||:| -item |: illusion fools all who |:|| ||:| Related Spells: |: touch and look at the item. |:|| ||:| Illusion. |: It can be dispelled with a |:|| ||:| |: dispel magic. |:|| ||:|_____________________________ |: _____________________________|:|| ||/______________________________\|:/______________________________\|| |_______________________________ _______________________________| '----` ^#^ phantasm^#^ SUBTOPIC-mage^#^ ______________________________ ______________________________ __/ \/ \__ | /| |: |:|| ||:| Spell: Phantasm |: Description: |:|| ||:| School: Illusion |: |:|| ||:| Cost: 2 |: This spell makes the victim |:|| ||:| Level: 5 |: appear to do some. The |:|| ||:| Usage: phantasm who emote |: victim knows it wasn't them,|:|| ||:| |: but they don't know who |:|| ||:| Related Spells: |: caused it. |:|| ||:| Ventriloquism, Improved |: |:|| ||:| Phantasm. |: |:|| ||:|_____________________________ |: _____________________________|:|| ||/______________________________\|:/______________________________\|| |_______________________________ _______________________________| '----` ^#^ phantom armour^#^ SUBTOPIC-mage^#^ ______________________________ ______________________________ __/ \/ \__ | /| |: |:|| ||:| Spell: Phantom Armour |: Description: |:|| ||:| School: Illusion |: |:|| ||:| Cost: 4 |: This spell causes an illusion|:|| ||:| Level: 4 |: that makes the caster appear |:|| ||:| Usage: phantom armour |: to wear platemail. This |:|| ||:| |: causes attackers to miss |:|| ||:| Related Spells: None. |: more often then not. |:|| ||:| |: Effectively giving the |:|| ||:| |: caster better protection. |:|| ||:|_____________________________ |: _____________________________|:|| ||/______________________________\|:/______________________________\|| |_______________________________ _______________________________| '----` ^#^ pwk^#^ SUBTOPIC-mage^#^ ______________________________ ______________________________ __/ \/ \__ | /| |: |:|| ||:| Spell: PWK (Power Word Kill)|: Description: |:|| ||:| School: Conjuration |: |:|| ||:| Cost: 30 |: This spell will kill |:|| ||:| Level: 30 |: instantly any monster that |:|| ||:| Usage: pwk who |: is less then 13th level. |:|| ||:| |: |:|| ||:| Related Spells: |: |:|| ||:| PWS (Power Word Stun). |: |:|| ||:| |: |:|| ||:|_____________________________ |: _____________________________|:|| ||/______________________________\|:/______________________________\|| |_______________________________ _______________________________| '----` ^#^ pws^#^ SUBTOPIC-mage^#^ ______________________________ ______________________________ __/ \/ \__ | /| |: |:|| ||:| Spell: Power Word Stun |: Description: |:|| ||:| School: Conjuration |: |:|| ||:| Cost: 15 |: This spell will stun an |:|| ||:| Level: 15 |: opponent. They cannot fight,|:|| ||:| Usage: pws who |: move, or cast spells. |:|| ||:| |: |:|| ||:| Related Spells: |: |:|| ||:| PWK (Power Word Kill) |: |:|| ||:| |: |:|| ||:|_____________________________ |: _____________________________|:|| ||/______________________________\|:/______________________________\|| |_______________________________ _______________________________| '----` ^#^ Put^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: Put Usuage: Put <item(s)::where> Description: Put is a powerful object moving function. It can move any object to any where. No weight checks are made so have care. The item(s), and where can be any object that can be found using the object parser. Related topics: parser. ^#^ pointerp^#^ SUBTOPIC-efun^#^ EFUN pointerp() SYNOPSIS int pointerp(mixed arg); DESCRIPTION Return 1 if `arg' is an array. SEE ALSO stringp(), objectp(), intp(). ^#^ present^#^ SUBTOPIC-efun^#^ EFUN present() SYNOPSIS object present(mixed str, object ob) DESCRIPTION If an object that identifies to the name `str' is present, then return it. `str' can also be an object, in which case the test is much faster and easier. If `ob' is given, then the search is done in the inventory of `ob', otherwise the object is searched for in the inven- tory of the current object, and in the inventory of the environment of the current object. EXAMPLE void reset(arg) { if(!present("sword")) { move_object(clone_object("..sword..",this_object()); ....etc SEE ALSO move_object(), environment(). ^#^ previous^#^ SUBTOPIC-efun^#^ EFUN previous_object() SYNOPSIS object previous_object(); DESCRIPTION Returns an object pointer to the object, if any, that called current function. EXAMPLE if(previous_object() == this_object()) { write("Local Call.\n"); } if(previous_object() == this_player()) { write("Player object called this directly.\n"); } SEE ALSO call_other(), this_object(), this_player() ^#^ process_string^#^ SUBTOPIC-efun^#^ EFUN process_string() SYNOPSIS string process_string(string combinestring); DESCRIPTION Processes a string by replacing specific syntactic patterns with what is returned when the pattern is interpreted as a function call description. The syntactic patterns are on the form: "@@function[:filename][|arg1|arg2....|argN]@@" This is interpreted as a call: filename->function(arg1, arg2, ....., argN) Note that process_string does not recurse over returned replacement values. If a function returns another syntactic pattern, that description will not be replaced. All such occurrences in 'combinestring' is processed and replaced if the return value is a string. If the return value is not a string the pattern will remain unreplaced. Note that both object and arguments are marked optional with the brackets and that the brackets are not included in the actual pattern. CAVEAT This is usually used to support 'value by function call' in the mudlib. It is wise to set the effuserid of the object to 0 before using process_value as any function in any object can be called with almost any arguments. NOTES The mudlib uses this extensively. It allow static global strings to be given variability without resorting to writing new local functions to override inherited functions. Most functions that use strings and do writes can use a form of process_string() that is slightly enhanced. The function process_msg() is is found in <process.h>. It has the same syntax as process_string() with the following enhancements. Filename can be replaced with, $this_object()$ $this_player()$ $environment()$ $previous_object()$ $environment(this_player())$ EXAMPLE A string: "You are chased by @@query_the_name:/obj/monster#123@@ eastward." is replaced by: "You are chased by the orc eastward." Assuming that query_the_name in monster#123 returns "the orc". ^#^ previous_object^#^ SUBTOPIC-amylaar^#^ SYNOPSIS object previous_object() object previous_object(int i) DESCRIPTION Returns an object pointer to the object that did a call_other() to the current object, if any. There are two exceptions for previous_object(). When the object calls a own function with a call_other() the previous_object() will be unchanged and when a destructed object calls a function of the current object previous_object() will return 0. If the optional arg is given, the call_other()s are followed back i times (i.e. previous_object(2) returns the caller of the caller). 0 <= i <= caller_stack_depth()-1 EXAMPLE int security() { object prev; if(!(prev=previous_object())); else if(getuid(prev)!=getuid(this_object())); else if(geteuid(prev)!=geteuid(this_object())); else return 1; return 0; } void high_sensible_func() { if(!security()) return; ... } This example shows how we can check if the last call to a function of the current object is secure or if we should abort execution. SEE ALSO call_other(E), this_object(E), this_player(E), caller_stack_depth(E) ^#^ printf^#^ SUBTOPIC-amylaar^#^ SYNOPSIS void printf(string format, ...) DESCRIPTION A cross between sprintf() and write(). Returns void and printd the result string to the user. SEE ALSO sprintf(E), write(E) ^#^ program_time^#^ SUBTOPIC-amylaar^#^ SYNOPSIS int program_time() int program_time(object ob) DESCRIPTION Returns the creation (compilation) time of the object's program. Default is this_object(), if no arg is given. ^#^ parse_command_adjectiv_id_list^#^ SUBTOPIC-compatfn/driverfn^#^ SYNOPSIS string *parse_command_adjectiv_id_list(void) DESCRIPTION Used by parse_command(). SEE ALSO parse_command(E) ^#^ parse_command_id_list^#^ SUBTOPIC-compatfn/driverfn^#^ SYNOPSIS string *parse_command_id_list(void) DESCRIPTION Used by parse_command(). SEE ALSO parse_command(E) ^#^ parse_command_plural_id_list^#^ SUBTOPIC-compatfn/driverfn^#^ SYNOPSIS string *parse_command_plural_id_list(void) DESCRIPTION Used by parse_command(). SEE ALSO parse_command(E) ^#^ prevent_insert^#^ SUBTOPIC-compatfn/driverfn^#^ SYNOPSIS int prevent_insert() DESCRIPTION In compat mode, this function is used by the efun transfer(). Define this function in objects that are neither living nor rooms if you want to prevent to put something into current object. Return true if ok, otherwise 0. That means that default is that it is not possible to put something into an object. SEE ALSO transfer(E), can_put_and_get(A) ^#^ parse_command_all_word^#^ SUBTOPIC-amylaar^#^ SYNOPSIS string *parse_command_all_word(void) DESCRIPTION Used by parse_command(). Return the word for ``all'' in the installations native language. SEE ALSO parse_command(E) ^#^ parse_command_prepos_list^#^ SUBTOPIC-amylaar^#^ SYNOPSIS string *parse_command_prepos_list(void) DESCRIPTION Used by parse_command(). Return an array of common prepositions in the installations native language. SEE ALSO parse_command(E) ^#^ preload^#^ SUBTOPIC-amylaar^#^ SYNOPSIS void preload(string file) DESCRIPTION Load the object with the given file name, that was returned by epilog(). It is task of the epilog()/preload() pair to ensure the validity of the given strings (e.g. filtering out comments and blank lines). For preload itself a call_other(file, "???") s sufficient, but it should be guarded by a catch() to avoid premature blockings. Also it is wise to change the master's euid from root_uid to something less privileged for the time of the preload. SEE ALSO epilog(M), master(M) ^#^ prepare_destruct^#^ SUBTOPIC-amylaar^#^ SYNOPSIS mixed prepare_destruct(object obj) DESCRIPTION Prepare the destruction of the object obj. Return 0 if the object is ready for destruction, any other value will abort the attempt. If a string is returned, an error with the string as message will be issued. The interpreter calls this function whenever an object shall be destructed. It expects, that this function cleans the inventory of the object, or the destruct will fail. Furthermore, the function could notify the former inventory objects that their holder is under destruction (useful to move users out of rooms which re updated); and it could announce systemwide the destruction(quitting) of users. Strange things will happen if the mastor object does not provide this function. SEE ALSO remove_player(M), destruct(E) ^#^ privilege_violation^#^ SUBTOPIC-amylaar^#^ SYNOPSIS int privilege_violation(string op, mixed who, mixed arg3, mixed arg4) DESCRIPTION Validate the execution of a privileged operation. op denotes the requested operation, who is the object requesting the operation (file_name or object pointer), arg3 and arg4 are additional arguments, depending on the operation. The function should return >0 to grant the privilege, 0 to indicate that the caller was probably misleaded and the error might be fixed, and anything else to indicate a real violation, that will be handled as run time error. The privileged operations are: bind_lambda Bind a lambda-closure to object arg3. call_out_info Return an array with all call_out informations. nomask simul_efun Attempt to get an efun via efun:: that is shadowed by a nomask type simul_efun. rename_object The object who tries to rename the object arg3 to the name arg4. send_imp Send UDP-data to host arg3. set_auto_include_string Set the string automatically included by the compiler into every object. get_extra_wizinfo Get the additional wiz-list info for user arg3. set_extra_wizinfo Set the additional wiz-list info for user arg3. set_extra_wizinfo_size Set the size of the additional user info in the wiz-list to arg3. set_this_object Set this_object() to arg3. shadow_add_action Add an action to function arg4 that is shadowed by the object arg3. wizlist_info Return an array with all wiz-list information. call_out_info() can return the arguments to functions and lambda closures to be called by call_out(); you should consider that read access to closures, mappings and arrays means write access and/or other privileges. wizlist_info() will return an array which holds, among others, the extra wizlist field. While a toplevel array, if found, will be copied, this does not apply to nested arrays or to any mappings. You might also have some sensitive closures there. send_imp() should be watched as it could be abused to mess up the IMP. The xxx_extra_wizinfo operations are necessary for a proper wizlist and should therefore be restricted to admins. All other operations are potential sources for direct security breaches - any use of them should be scrutinized closely. SEE ALSO simul_efun(C), call_out_info(E), shadow(E), add_action(E), wizlist(E), set_this_object(E), rename_object(E), bind_lambda(E), send_imp(E), set_auto_include_string(E) ^#^ pick lock^#^ SUBTOPIC-thief^#^ -=[ Pick Lock ]=- Command: pick lock Usuage: pick lock on <door|item> Description: This command allows you to lock or unlock a door or a item, like a chest for example, without the need for a key. Example: pick lock on east door Related Topics: open, close, lock, unlock, detect trap.