NAME
	skills - how to use skills

DESCRIPTION
	Skill functions and variables inherited by all living objects are
	currently located at /basic/living/skills.c

	Functions:

	public varargs int query_skill(string skname, int value)
		The most common function, returns skill score in the
		range of 0..100 (note that your code must be able to
		handle the situation of skills less than 0 and over 100!)
		Normally this is used like this:

		if (ob->query_skill("fart") >= random(101))
			write("Wow! A successful fart!\n");

		A non-existing skill returns -25.

		With the additional value argument one can ask for other
		data in skill array.

	public int advance_skill(string skname, int bonus)
		Each time you think there is a possibility to advance the
		skill <skname>, call this function from the living. The
		function automatically checks that enough time has passed
		for this skill to advance, and makes the advance roll.
		Sometimes there might be some bonuses or penalties to
		the possibility of advance. Generally, a successful
		attempt should have a penalty and a failure a bonus to
		the change. Bonuses/penalties are suggested to be in the
		range of -10000..10000 (-10% to 10%).

	public string list_skills()
		Return a nicely formatted list of all of the skills
		of this living. Two columns.
		"tumble      :68% eminent student"

	public int add_skill(string skname)
		Adds a new skill <skname>. If the skill already exists,
		it adds one point (on 0..100000 scale). This is quite a
		big step from a non-existing skill (which equals -25%),
		so it must cost a lot (in experience, money or something).

	public int add_skill_points(string skname, int value)
		Add or remove points from skill (0..100000 scale). Only
		guilds and such normally use this function.

	public int set_skill(string skname, int value)
		Set a skill into value, 0..100 scale. Useful on NPCs and
		monsters, shouldn't normally be used on players.


	Low level functions:

	public mapping query_liv_Skills()
		Returns the whole mapping.

	public void set_liv_Skills(mapping s)
		Sets the skill mapping. Don't use this unless you know
		what you are doing! You may ruin or unbalance someone's
		game.

	public mixed query_liv_Skill(string skname)
		Returns the whole data array of one skill.

	public int set_liv_Skill(string skname, mixed skill)
		Set one skill's array. Don't use this unless you know
		what you are doing.

	static void forget_skills()
		Internal function. I forgot what it was supposed to
		do... :-)

	void update_skills()
		One strange function: you shouldn't need to call it.

SEE ALSO
	skillist(4)
