13 Nov, 2012, Evoru wrote in the 1st comment:
Votes: 0
Let me apologize first for asking what are sure to be a series of very silly sounding questions. Having lost my coder and still being determined to get my MUD up off the ground, I decided to do the best I could with SmaugFUSS 1.9 and hope for the best.

I googled some help and found how to take out old races and add in new races that my group designed into the race list. There are 18 of them, so I also went in and upped the MAX_RACE to 18 instead of 16. I also made sure I based them all off the Human template, not the _Vampire_ one.

But for some reason, in my creation screen I can only see 16 of the 18 races. It's not even listing "Human".

I thought this could be an issue with classes, as those are chosen first, but I set all of the races to have "0" as their class and "0" is the Mage, which I've been selecting until I can go in and add the class I want.

Do any of you have any ideas as to why only 16 of my 18 races are showing up?

Thank you for your help and patience!
14 Nov, 2012, Ssolvarain wrote in the 2nd comment:
Votes: 0
There's probably a number somewhere in the char creation code you need to also update.
14 Nov, 2012, triskaledia wrote in the 3rd comment:
Votes: 0
typedef enum {
RACE_HUMAN, RACE_ELF, RACE_DWARF, RACE_HALFLING, RACE_PIXIE, RACE_VAMPIRE,
RACE_HALF_OGRE, RACE_HALF_ORC, RACE_HALF_TROLL, RACE_HALF_ELF, RACE_GITH,
RACE_DROW, RACE_SEA_ELF, RACE_LIZARDMAN
} race_types;

/*#define MAX_RACE 20 Trying to fix a bunch of problems– Scryn*/
/*#define MAX_RACE 15 */ /* added 6 for new race code */
#define MAX_RACE 26
All this found in ===>>> mud.h

Hope this helps. Not sure why the MAX_RACE is defined as 26 when it appears there are only 14 visible listed there, though.
Also, where are the races not showing up? Upon creation, or with a specific command?
14 Nov, 2012, Evoru wrote in the 4th comment:
Votes: 0
The races aren't showing up upon creation. Specifically when a person first logs into the game, selects their name, password, sex, class, and then it comes to race. Here's what I've altered:

typedef enum
{
RACE_HUMAN, RACE_ELF, RACE_DWARF, RACE_CENTAUR, RACE_DANAVA, RACE_SIDHE,
RACE_GRYPHON, RACE_DRAKIEN, RACE_MELROG, RACE_KREN, RACE_ALUBRA,
RACE_KITHRA, RACE_TALMORI, RACE_DAPHINAE, RACE_MITHYRN, RACE_MINOTAUR,
RACE_ORC, RACE_SENAI

#define MAX_CLASS 20
#define MAX_NPC_CLASS 26
#define MAX_RACE 18
#define MAX_NPC_RACE 130
#define MAX_MSG 18

I've tried adjusting the MAX_RACE to all sorts of numbers, even ones WAY over the amount I have. Still just have 16 races popping up in creation, though.
14 Nov, 2012, Ssolvarain wrote in the 5th comment:
Votes: 0
} race_types;

That looks like an important bit you might have left out.
14 Nov, 2012, Sharmair wrote in the 6th comment:
Votes: 0
Ok, I can only guess on your problem from the small amount of information you give.

SMAUG unlike most codebases is set up to allow on line creation and editing of many things
that are hard coded in more primitive codebases, including races. Setrace is used to create
and edit races, though in stock SMAUG (and in FUSS) the system is most useful in adding
new races and editing bits of the existing races. There are issues with removing or even
renaming the existing races though. Though most of those issues you just have to fix in the
shell with manual editing of the race files or the race.lst file. Though stock does still have
a few hard coded things for races (racism in shops, and the align of nephs come to mind)
normally you can change races and things will work well with no coding at all.

MAX_RACE is the max number of races you can have and you should be able to create
races until you get to this number, and can be higher then the number you are using,
MAX_PC_RACE is the current number of races and is set on race load or when you create
a new race online.

My best guess on what your problem is, is with one of the biggest weaknesses they left
in the system, the stock system still uses the array index as a persistent id for players
(in the SMAUG derivative I use that races have nothing hard coded, race is saved as name
and the race files do not save the old index value) and is saved in the race files and
actually used to place the race data on load. This means if you remove any of the existing
races, you have to manually edit the race files to make sure you have one and only one
race with a given race number and there are no holes in the range of numbers.

BTW about all of this also applies to classes.
14 Nov, 2012, Evoru wrote in the 7th comment:
Votes: 0
} race_types; looks to be in there just fine following the races.

I checked the races files to make sure they they're using the correct number, and that they all have an individual number. All of that looks to be correct.

I had read somewhere that if I were taking out races and putting in new ones, I could simply copy, paste, and edit one of the other race files to make my additional races. The template I used was Human. I haven't gone in and adjusted any of the languages or classes yet, so I'll see if that makes a difference at all as to whether or not I can get all of the races to show.
14 Nov, 2012, Sharmair wrote in the 8th comment:
Votes: 0
All the race files are listed in race.lst, right?
15 Nov, 2012, Evoru wrote in the 9th comment:
Votes: 0
Yes, and it has the little $ at the bottom of the list.
15 Nov, 2012, Sharmair wrote in the 10th comment:
Votes: 0
Ok, I looked at some FUSS code I had here, though it is not the newest, but I did notice
a few things you might check. First, it does seem FUSS still hard codes RACE_VAMPIRE
out of the races shown at create. If that is still in comm.c, I would either remove that
part of the if statements or make sure RACE_VAMPIRE is set to something other then a
number between 0 and 17 inclusive.

To make it clear, the race files should have race numbers from 0 to 17 and not have an
empty name, or a name of 'unused'. You should be able to use showrace with no argument
to get a list of the races that have been loaded, this might give a hint to the problem.

And one last thing, it was a little unclear in your first post if you understood this, the
races classes field should be 0 to allow all classes (the classes field is a bitvector of the
not allowed classes, not a number of a class).
0.0/10