Have a look at include\atypes.h:
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:
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