Looking again at the code from nanny(), it looks like you were using the player's current race to check, not the race he is selecting (ie you were using ch->race, not race).
Have you changed that, or are you still using ch->race ?
I suggest you check your code for IS_GOOD(), IS_NEUTRAL() and IS_EVIL().
If there's no obvious errors there, I suggest you add some debugging code to show what is going on - eg print out the values of IS_GOOD(), IS_NEUTRAL(), IS_EVIL(), and the values of pc_race_table[race].good etc.
|