Have a look at include\atypes.h:
Code:
typedef struct ENTITY {
	C_LINK link;
...
	var	skill[100];	// entity skills
...
}


As you can plainly see, an entity has exactly 100 skills, no additional material or template skills and the like. In addition, skills are nothing else than vars and all 100 skills are of the same type. You can use them as you wish.

Now have a look at the material struct in the same file as above:
Code:
typedef struct MATERIAL {
	C_LINK link;
...
	var	skill[20];	// material skills
...
}


You will notice the 20 "special material skills" you've mentioned. They are not related to entity skills. Example:

MATERIAL* my_material = { ... }
ENTITY* my_entity;
...
my_entity.skill17 = 10; // here you access the 17th element of the array skill[100] from the entity struct
my_material.skill17 = 10; // here you access the 17th element of the array skill[20] from the material struct


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends