From: Christian Boynton <ferris@FootPrints.net>

Ok races are fundamental to a good mud, but very easy to add.
You are probably on the right track, but leaving out a step. There is
three steps in the process. I shall use a smurf for the example.


1) First you should edit merc.h. Search for the following line.

#define MAX_PC_RACE                 4

Increase the number on this line by one for each new race.

2) Now you should edit comm.c Search for the following line.

const   struct  race_type       race_table      []              =

Now add your race specific information to the table.

    {
        "smurf",                TRUE,
        0,              0,              0,
        0,              0,              0,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K
    }

3) Finnally, while still in const.c, search for this line.

const   struct  pc_race_type    pc_race_table   []      =

You should add your race specific information to the table.

    {
        "smurf",        "Smurf",        0,      { 100, 100, 100, 100 },
        { "" },
        { 13, 13, 13, 13, 13 }, { 18, 18, 18, 18, 18 }, SIZE_MEDIUM
    }

------------------------[Another Sheet]------------------------------
Coder Race-FactSheet
By Kracus

This is a simple fact sheet to provide basic information on how to code
Classes and Races for Rom2.4b4 source code, copyright 1993-96 Russ Taylor

Special note: if you need to find certain words in unix like "giant" type this in the src directory " grep giant *.c "


To make a New Race you need to deal with these files:
Const.c...
Merc.h...


FILE Const.c:
STEP 1.  you will first need to make the race a pc(player character race)

In the part that looks like this add your new race below it
{
        "giant",                  TRUE,
        0,           0,                                           0,
        0,           RES_FIRE|RES_COLD,     VULN_MENTAL|VULN_LIGHTNING,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K
},

{
        "your race's name",                  TRUE,
        0,                                   AFF_INFRARED,       0,
        IMM_LIGHT,              RES_COLD,                 VULN_FIRE,
        A|H|M|V,        A|B|C|D|E|F|G|H|I|J|K
},

This is what the above code means ......
{
 name(your race's specified name),       pc_race(true means it is a pc race, false means it is a mobile race),
 act bits(available act bits found in merc.h),  aff_by bits( found in merc.h),  off bits(offensive bits found in merc.h),
 imm(immunitie bits found in merc.h),   res(resistent bits found in merc.h),  vuln(vulnerbale bits found in merc.h),
 form(flags for the races form, intelligent etc..),      parts(flags for what body parts it has found in merc.h)
},



STEP 2. Next you will need to make you stats for your new race
..... in the section that looks like this add in your new race section and stats:

{
        "giant",        "Giant", 6,  { 200, 150, 150, 105}
        { "bash", "fast healing" },
        { 16, 11, 13, 11, 14 }, { 22, 15, 18, 15, 20 }, SIZE_LARGE
    },

{
        "your race's name",  "appears in the who list 5letters or less", 6,  { 200, 150, 150, 105}
        { "bash", "fast healing" },
        { 16, 11, 13, 11, 14 }, { 25, 12, 14, 16, 21 }, SIZE_LARGE
    },


This is what the above code means ......
{
 "race name",    who list  name 5letters or less,   cost of creationpoints, { class multipliers },
 { bonus skills },
 { base stats },          { max stats },        size
},

wholist- this must be 5letters or less or it will bug out and not appear on the who list

class multipliers- must be 100 or more. These let the class gain exp bonuses for kills
for example: the above class multipliers on  a stock rom code for the giant are as follows...
{ 200 for mage class, 150 for cleric, 150 for thief, 105 for warrior}
 
bonus skills- are skills you enable the race to gain for free

base stats- are the stats that race will start the game with

max stats- are how high the stats may be trained up

size- sizes are tiny, small, medium, large, or huge


FILE Merc.h
STEP 3. In the file Merc.h you will now need to increase Max_RACE
..... go to the section that looks like this:
MAX_PC_RACE                             5
..... now raise it by one, the value must always be one extra number higher than the pc races you have
MAX_PC_RACE                             6

.... The extra number is set aside for the null race that the rom source code needs



STEP 4. Remove all the o files and do a clean makefile


STEP 5. Do the startup command for your mud and make a character with your new race!