Add support for character race and faction transfers.
Based (loosely) on patch by Ner'zhul, DarkXuan, and [email protected]. Fixes issue #3429. --HG-- branch : trunk
This commit is contained in:
@@ -1654,8 +1654,17 @@ bool Player::BuildEnumData(QueryResult_AutoPtr result, WorldPacket * p_data)
|
||||
char_flags |= CHARACTER_FLAG_DECLINED;
|
||||
|
||||
*p_data << uint32(char_flags); // character flags
|
||||
|
||||
// character customize flags
|
||||
*p_data << uint32(atLoginFlags & AT_LOGIN_CUSTOMIZE ? CHAR_CUSTOMIZE_FLAG_CUSTOMIZE : CHAR_CUSTOMIZE_FLAG_NONE);
|
||||
if (atLoginFlags & AT_LOGIN_CUSTOMIZE)
|
||||
*p_data << uint32(CHAR_CUSTOMIZE_FLAG_CUSTOMIZE);
|
||||
else if (atLoginFlags & AT_LOGIN_CHANGE_FACTION)
|
||||
*p_data << uint32(CHAR_CUSTOMIZE_FLAG_FACTION);
|
||||
else if (atLoginFlags & AT_LOGIN_CHANGE_RACE)
|
||||
*p_data << uint32(CHAR_CUSTOMIZE_FLAG_RACE);
|
||||
else
|
||||
*p_data << uint32(CHAR_CUSTOMIZE_FLAG_NONE);
|
||||
|
||||
// First login
|
||||
*p_data << uint8(atLoginFlags & AT_LOGIN_FIRST ? 1 : 0);
|
||||
|
||||
|
||||
@@ -501,6 +501,8 @@ enum AtLoginFlags
|
||||
AT_LOGIN_CUSTOMIZE = 0x08,
|
||||
AT_LOGIN_RESET_PET_TALENTS = 0x10,
|
||||
AT_LOGIN_FIRST = 0x20,
|
||||
AT_LOGIN_CHANGE_FACTION = 0x40,
|
||||
AT_LOGIN_CHANGE_RACE = 0x80
|
||||
};
|
||||
|
||||
typedef std::map<uint32, QuestStatusData> QuestStatusMap;
|
||||
|
||||
Reference in New Issue
Block a user