I've been going over addrace.txt in areadocs and it gives details about adding a race. My question is what to do if I want more than 20 races. Right now I intend on adding 8 races to bring the total up to 27.
Normally you would change an existing race to create a new one, but I want to keep the existing races and just not make them available for picking in entry.are. An example of why.
I'm creating 5 races of humans which have one or two stat pluses compared to stock humans, depending on the background info given in my mud. Due to their culture and lifestyle they receive a basic attribute advantage, and also class restriction. To break it down simply, I have 5 human races representing 5 human civilizations. A hierarch group who are religous zealots, a semi-primative tribesmen type race, a race of simple folk who are largely farmer types, a race who mainly focus on scholarly pursuits, and a race who have embraced sea travel/trade/etc. Based on this, each race will have a set of classes available to them based on their race, splitting all available classes (which stock humans get) across the 5 races of humans.
Now the purpose of leaving the stock human race in the game is so that I can assign it to NPCs as a generic human, and yet have players pick a race of human if they want to be human. I've done this with other races, Several races of Elves, Dwarves, etc.
It also gives me the ability in entry.are for players to pick Human, Elf, Dwarf and be taken into a series of rooms that tell them about the various difference races of Humans, Elves and Dwarves where they will be transformed again into a High-Elf, Wood-Elf, Half-Elf, Drow, Mountain Dwarf, Hill Dwarf, Duergar, etc.
Anyway what other parts in the source will need changing if I want to have more than 20 races? I'm guess that I'll either need to rearrange this portion of mud.h
/* NPC Races */
#define RACE_HALFBREED 20
#define RACE_REPTILE 21
and start at 28 to 169. change MAX_RACE like it states in addrace.txt. Is there any other areas I would have to change like olc or mud_prog or skill.c that might have hardcoded racial stuff? Or have you cleaned up the code and removed most of the hardcoded racial stuff?