Commonly Used Properties in The Player Object Players use all of the properties defined in the standard living object. They also use the following special properties: stat. Stat is a mapping whose keys are the names of the statistics and whose values are integers, in the default mudlib between 5 and 25 for players. There is no enforced limitation on them other than integerness. Players have four stats in the default: strength, constitution, dexterity, and intelligence. Stats control the rate at which skills improve: see /doc/mudlib/skills for more on this procedure. hit_points. Hit_points is an integer which is the current number of hits the player has. 0=alive, -1=dead. max_hp. Max_hp is an integer which is the maximum number of hits the player can ever have. Since there are no levels, this never changes. time_to_heal. time_to_heal is an integer which is the number of heartbeats that must pass before the player regenerates another hit point. The default is 10. age. age is an integer which is the total time of interactive activity the user has been through on the mud. spell_points. spell_points is an integer which is the player's current number of spell points. It costs spell points to cast a spell, and they regenerate just as hit points do. max_sp. max_sp is an integer which is the maximum number of spell points that the player can regenerate. Again, since there are no levels this never changes; instead, the spells cost fewer spell points for experienced players. See /doc/mudlib/magic for details. race. race is a string which is the race of the player. armor_class. armor_class is a positive integer indicating how resistant to being hit the player is. 0 is unarmored, 10 is quite armored, and 20 is battle-tank level armor in the default mudlib. This property should not usually be set directly. It is set by calling the calc_armor_class lfun in the player object, which checks the player's equipped armor and sets it based on the armor quality. stop_attack. stop_attack is an integer which is the amount of time remaining before the player can make another attack or cast a spell. It is increased by a fairly large number of the commands, and by casting spells. It is decreased every heart_beat. You shouldn't set it directly, because if the player is already blocked from attacking for t seconds, then you want to add onto the existing stop time rather than overwrite the existing block. Call the block_attack lfun in the player object instead; it handles this properly. wealth. wealth is a mapping whose keys are the names of coins and whose values are integers which are the number of coins of that type the player possesses. There is no restriction on what they keys may be; the player will carry in his wealth property ANY type of coin that he picks up. You should not set this property directly, as adding coins to the player also changes his encumbrance. Instead, you should make a pile-of-coins object and move it onto the player. See /doc/mudlib/money for more details on how to handle player wealth. weapon1. weapon1 is an object which points to the player's first weapon. If the player is using two weapons, this one will be the better of the two, and most attacks will be made with it. weapon2. weapon2 is an object which points to the player's second weapon, if he has one. Most of the attacks should be made with the other weapon as this one will be the inferior one. armor. armor is a mapping whose keys are the various types of armor that a player can equip such as suit, shield, helmet, gloves and whose values are the armor classes of the player's armor in that position. You can only equip one armor of each type. ghost. ghost is an integer which is 0 if the player is alive and 1 if he's dead, therefore a ghost. wizard. wizard is an integer which is 1 if the player is a wizard and 0 if he's not. It should ONLY be used at login time to set wizardp on the user. At other times, use the wizardp efun, which is faster. password. password is a string that is the encypted version of the player's password. email. email is a string which is the player's email address. realname. realname is the user's name in real life (assuming the player has a real life, of course :) ip. ip is a string which is the IP address from which the player last connected to the MUD. last-on. last-on is an integer which is the time at which the player last logged in. cwd. cwd is the player's current working directory. Meaningful only for wizards, of course. PATH. PATH is a string containing the command directories the player has access to, seperated by colons. It is given in capital letters for obscure reasons. It is case-sensitive (as are all the other properties). reply. reply is a string which is the username of the last player to send this player a tell message from this MUD. Intermud doesn't set it (yet). inactive. inactive is an integer which is one if the wizard enters INACTIVE mode. (See the inactive command.) blind. blind is an integer which controls vision. If blind=1, then the look command is disabled for the player. last_location. last_location is a string which is used during moves to keep track of the place from which the player is coming. It's used to send him back there if he can't enter the room for some reason. brief. brief is an integer which controls verbosity. If brief=1, the look command returns short descriptions for rooms, otherwise it returns long descriptions. spouse. spouse is a string which is the name of the player's spouse. See the courthouse for details. announce. announce is an array which holds the names of all users to whom the user will be notified when they login. whenever anyone enters or quits. See the announce command. wimpy. wimpy is an integer from 1-100. If the player's hits fall below wimpy percent of his max, he will run away from combat. wimpydir. wimpydir is a string. If the player runs away due to wimpy, he will attempt to run in the direction of wimpydir, if that exit exists. Otherwise he will run in a random direction. quest. quest is a mapping whose keys are the names of quests and whose values are 1 if the player has solved the quest, and 0 if he has not. See the quests command for information on using this property. snoopable. snoopable is an integer which permits or denies access to snoops. If snoopable=1 the player can be snooped otherwise he can only be snooped by an administrator. See the snoopable command. shell. shell is a string which holds the user's interactive shell. If none is presently in use, it is set as "none". full_vision. full_vision is an integer which is used by the light levels to determine if the user can always see in the dark infravision. infravision is an integer used to determine if the user "sees" with infravision when the room is dark. loudness. loudness is an integer used by the say command to determine how comparibly loud you sound to others in the room (See the say command). special_say. special_say is a string used to reassign the verb put out after the user's name instead of "say" for special circumstances. For example: If I were changed into a werewolf, my special_say could be set to "growl", and when I say something, "Watcher growls: something". no_follow. no_follow is an integer which prevents other users/objects from using the user tracking system to follow. force_to_look. Force_to_look is an integer which is 1 if the user was last forced to look by an lfun, and 0 otherwise. If force_to_look is 1, then the look command checks the brief property (ie, when the player moves) otherwise it does not (ie, when he types "look"). display_path. Display_path is an integer which is set to 1 if a wizard wishes the surrounding room's filename to be displayed as they enter a new room or object. If it is unset or 0, no filename will be given before the look. home_dir. Home_dir is a string which can be set to a directory path if a wizard wishes to change their root directory. For example, if you were working on a project in /d/Fooland/project, you can set that as "home_dir", then cd will view that as your home directory, as will tidle (~) calls.