The skillsystem: Or rather proficiencies / commands.. The players have to different types of levels.. one main level and the skills.. The skills can be looked at using "skills". This is proficiencies. The player train in the different proficiancies. They will have different skills depending on level, class and race. Some skills will be given on startup, some on guildjoin and some later. The main concern is, how can we use this with spells? and how can we make a good proficiency-base without the skilltables, on players, grow too large? Well, we will find out..:=) It will consist of a skilllist (type skills) with the "level" in that skill the thing they won't see is the bonus. The skills are based on a weighted system, where, in the table, you can give out ten point to the stats that is used by the skill. like swimming may be 5 to con, 3 to str and 2 to int. In the define you also set the xp-cost and max level of the skill. Coders shall check the skills in one of two ways, 1, query_skill_bonus(string skill) this is where you need a value to see how good the player is in that skill. it's a skill_level * (stat * weight points) kinda algorithm. 2. query_skill_success(string skill, int hardness) this is typical for commands, and relieves the domaincoders for check, they just define the toughness/hardness to succeed that skill and get a return if the player did succeed or not. The "API" for using the system codewise is structured in /std/living/skills.c The table where we define the different skills, cost, weights and max level is in /table/skill_table.c