Well, I figured out why Drakkin corpses are showing up as Ogres and it also explains why Froglok corpses show up as humans. It is because of the DBPlayerCorpse struct in zonedump.h having race set to int8 instead of int16 or int32. Since Drakkin are race 522 and in hex, that is 20A, the struct can only see the 0A part of that, which is 10 in decimal, and 10 is the race number for Ogres :P I am not sure how to adjust that so that it doesn't mess up people's corpse backup tables. If someone knows how to adjust it, I don't imagine it would be too hard. Here is the struct:
Code:
struct DBPlayerCorpse_Struct {
int32 crc;
bool locked;
int32 itemcount;
int32 exp;
float size;
int8 level;
int8 race;
int8 gender;
int8 class_;
int8 deity;
int8 texture;
int8 helmtexture;
int32 copper;
int32 silver;
int32 gold;
int32 plat;
Color_Struct item_tint[9];
int8 haircolor;
int8 beardcolor;
int8 eyecolor1;
int8 eyecolor2;
int8 hairstyle;
int8 face;
int8 beard;
ServerLootItem_Struct items[0];
};
The "int8 race;" needs to be changed to int16. I don't know if anything else would need to be changed though. Maybe some database gurus could chime in on that.