I believe you CAN define different skills with the same name, but its messy.
AFAIK, the #define's only affect the code FOLLOWING it.
So, in theory, this should be possible....
...
#define health skill55
action bot_type_1()
{
my.health = 10; //affects my.skill55
}
action bot_type_2()
{
my.health = 10; //affects my.skill55
}
void some_event()
{
my.health -= 20; //also affects my.skill55
}
...
#define health skill77
action player_act()
{
my.health = 10; //affects my.skill77 instead of skill55
my.event = some_event; //what will this affect?!?
}
The second #define of 'health' will over-ride the old one FROM THAT POINT ON...
It get messy because any functions or code AFTER the skill77 define will be
accessing skill77, so why bother with the skill55 define at all?
AND if any functions or code after the skill77 define are required to execute any
code or function from within the skill55 section, it can potentially be accessing
the wrong skill number. eg: the 'player_act' function calls the 'some_event' function.
Very messy...