mud/
mud/2.4.5/dgd/include/
mud/2.4.5/dgd/std/
mud/2.4.5/dgd/sys/
mud/2.4.5/doc/
mud/2.4.5/doc/examples/
mud/2.4.5/log/
mud/2.4.5/obj/Go/
mud/2.4.5/players/
mud/2.4.5/players/lars/
mud/2.4.5/room/death/
mud/2.4.5/room/maze1/
mud/2.4.5/room/post_dir/
mud/2.4.5/room/sub/
There is a generic weapon avaliable. To set up do :
	object wobj;

	wobj = clone_object("obj/weapon");

For customization the following routines are available :

You should call these functions:
set_name(n) 
    string n. Sets the name and short description to n.
    Sets long description to "You see nothing special.\n"

set_class(c) 
    int c. Sets how much damaged it will do.

set_weight(w) 
    int w. Sets the weight.

set_value(v) 
    int v. Sets the value.

These are the optional functions:
set_alt_name(n) 
    string n. Adds an alternate name to weapon.

set_alias(n) 
    string n. Adds another alternate name to weapon.

set_short(sh) 
    string sh. Sort description is set to sh. Long to short + "\n"

set_long(long) 
    string long. Long description is set to long.

set_read(str) 
    string str. str will be returned if it's read.

set_hit_func(ob) 
    object ob. Sets up a call to function 'weapon_hit' in object 'ob'.
    'weapon_hit' is called every time the weapon strikes someone.
    The argument given to 'weapon_hit' is the target of the attack.
    The return value of 'weapon_hit' adds to the weapons wc for this hit.
    Returning the string "miss" will cause the weapon to miss.

set_wield_func(ob)
    object ob. Sets up a call to function 'wield' in object 'ob'.
    'wield' is called every time the weapon is wielded.
    A return value of 0 form 'wield' means that the weapon will not 
    be wielded. 1 that it's okey to wield it.

EXAMPLE
	/*
	 * This is a magic sword is has a wc of 9 as base
	 * and a wc of 19 if it's attacking an orc.
	 */
	orc_slayer = clone_object("obj/weapon");
	call_other(orc_slayer, "set_name", "short sword");
	call_other(orc_slayer, "set_alias", "sword");
	call_other(orc_slayer, "set_short", "Short sword");
	call_other(orc_slayer, "set_alt_name", "orc slayer");
	call_other(orc_slayer, "set_long", "This is a very fine blade.\n"+
		"It's covered with ancient runes.\n" + 
		"Engraved on it is a picture of the sword slicing an orc.\n");
	call_other(orc_slayer, "set_read", 
		"The only thing you can read is the word 'orc'.\n");
	call_other(orc_slayer, "set_class", 9);
	call_other(orc_slayer, "set_weight", 2);
	call_other(orc_slayer, "set_value", 200);
	call_other(orc_slayer, "set_hit_func", this_object());
	.
	.
	.

weapon_hit(attacker)
{
    if(call_other(attacker,"id","orc")){
	write("Ziiing\n");
	return 10;
    }
    return 0;
}