Skills are the general abilities of a player. He doesn't have them from birth on but has to learn them either by doing or by paying money to a master. Skills have values between 0 (unskilled) and 100 (perfect). If a player learns a skill for the first time, its value will be set to 10, and if a player raises a skill over 90 its value is set to 100. The players see the degree of their skills in the following words: 0 : -not mentioned- 10 - 19 : terrible 20 - 29 : awful 30 - 39 : poor 40 - 49 : learning 50 - 59 : average 60 - 69 : nice 70 - 79 : good 80 - 89 : excellent 100 : perfect For example: 'You are an average sword fighter, a terrible swimmer and a excellent climber.' You can get the value of a skill with query_skill(skill); There are two possibilities of advancing a skill. Either set it directly (no very good method) or advance it. Advancing is done in two steps. In the first step the chance of advancing is calculated. It is: random(100) > (100-current_skill_value) If the player may advance the amount of advancing is calculated with: random ( 3+(advance_value_for_this_skill) ) The advance values are set up by the race (and perhaps the guild). For example, an elf would have better advance values for archery than a dwarf. You can advance a skill with advance(skill) and set a skill with set_skill(skill,value). Only priviledged objects may advance skills. A list of skills will be set up soon. If you have some suggestions for skills mail/tell me (Junky).