Weapons should be created by cloning or inheriting the file
"/std/weapon.c". The weapon can then easily be configured by calling
the internal functions as described in the file.

Weapons can be configured to cause damage in three different ways.
They can be impaling, slashing, crushing. Armours can be configured to
have different AC for different weapon- types.

A weapon two wc values, both a "to hit" value and a "penetration" value. The
"to hit" value together with the weapon skill of the attacker, is
set against the parry capability and dexterity of the enemy.
The penetration value is set agains the armourclass of the enemy. 

When creating a weapon, certain rules must be respected. A weapon
bought in a shop can never be of very good quality as compared to a
weapon found as the result of a tricky quest for example. Some
differences are found primarily in that a weapon is bulkier than
others, this table gives some guidelines:

    GUIDANCE FOR WEAPONS

    Max WC found (on the ground)	:  10
    Max WC bought			:  40
    Max WC conquered (in combat)	:  60
    Max WC reward for solving quest	:  20 * questlevel (see xp_scale)
    
			               ** Damagetypes allowed **
    weapontype		max WC      Impale    Slash   Bludgeon 

    SWORD (1 handed)	80            X         X            
    SWORD (2 handed)	100           X         X            
    POLEARM		50            X                       
    AXE			90                      X         X   
    KNIFE		30            X         X             
    CLUB		60                                X   
    MISSILE		30            X                   X   
    JAVELIN             40	      X                      	
    MAGIC               100           X         X         X  

Note that there are two max limits for a specific weapon. Both a wc-limit
on how a weapon is gained and a wc-limit for a specific weapon type.

The weapontypes does not exclude other weapons than those named as types. 
All weapons must however be put in one of the above categories.

Note that very intresting weapons can be made if the difference between
the 'to hit' wc is very different from 'penetration' wc. Note also the
significance for the value of a weapon when wchit is different from
wcpen. The standard value for a weapon in copper coins is given by
the formula:
		cc = 50 + (wchit * wcpen * 2)

Wielding a weapon would mean that a player cannot wear a shield in that hand.
Wielding a two handed sword would result in no place for a shield, and one
could also carry two shields but no hand weapons..... But, wielding a weapon
will make it easier to protect that part of the arm, parrying blows, so it
will contribute to the protection for the corresponding arm. To look at this,
clone a weapon, wield it and use the 'combatstat' command.

How to make a weapon
====================

A weapon should always begin with these statements:

inherit "/std/weapon";
#include "/sys/wa_types.h"  /* wa_types.h contains some definitions we want */
#include "/sys/stdproperties.h" /* OBJ_I_VALUE and those properties */

void
create_weapon()
{
    /* Set the name, short description and long description */
    set_name("dagger");
    set_short("small dagger"); /* Observe, not 'a small dagger' */
    set_long("It's small but sharp.\n");

    /* Now, a player can refere to this weapon as 'weapon' and 'dagger'. To
     * distinguish it from other daggers, we want the player to be able to 
     * use 'small dagger' as an id too.
     */
    set_adj("small");

    /* Now we want to set the 'to hit' value and 'penetration value' */
    set_hit(8);
    set_pen(9);

    /* The weapon type and the type of damage done by this weapon */
    set_wt(W_KNIFE); /* It's of 'knife' type */
    set_dt(W_SLASH | W_IMPALE); /* You can both 'slash' and 'impale' with it */

    /* Last, how shall it be wielded? */
    set_hands(W_ANYH); /* You can wield it in any hand. */

    /* Now give the weapon some value, weight and volume */
    add_prop(OBJ_I_VALUE, 200);
    add_prop(OBJ_I_WEIGHT, 1800);
    add_prop(OBJ_I_VOLUME, 300);
}

