Core/Players: Define all character flags used in SMSG_ENUM_CHARACTERS_RESULT
This commit is contained in:
1 parent
857f79b22a
commit
672579de8e
4 files changed
+90
-48
No files matched your search
@@ -408,7 +408,7 @@ enum PlayerFlags
|
||||
PLAYER_FLAGS_GM = 0x00000008,
|
||||
PLAYER_FLAGS_GHOST = 0x00000010,
|
||||
PLAYER_FLAGS_RESTING = 0x00000020,
|
||||
PLAYER_FLAGS_UNK6 = 0x00000040,
|
||||
PLAYER_FLAGS_VOICE_CHAT = 0x00000040,
|
||||
PLAYER_FLAGS_UNK7 = 0x00000080, // pre-3.0.3 PLAYER_FLAGS_FFA_PVP flag for FFA PVP state
|
||||
PLAYER_FLAGS_CONTESTED_PVP = 0x00000100, // Player has been involved in a PvP combat and will be attacked by contested guards
|
||||
PLAYER_FLAGS_IN_PVP = 0x00000200,
|
||||
@@ -418,7 +418,7 @@ enum PlayerFlags
|
||||
PLAYER_FLAGS_PLAYED_TOO_LONG = 0x00002000, // played too long time
|
||||
PLAYER_FLAGS_IS_OUT_OF_BOUNDS = 0x00004000,
|
||||
PLAYER_FLAGS_DEVELOPER = 0x00008000, // <Dev> prefix for something?
|
||||
PLAYER_FLAGS_UNK16 = 0x00010000, // pre-3.0.3 PLAYER_FLAGS_SANCTUARY flag for player entered sanctuary
|
||||
PLAYER_FLAGS_LOW_LEVEL_RAID_ENABLED = 0x00010000, // pre-3.0.3 PLAYER_FLAGS_SANCTUARY flag for player entered sanctuary
|
||||
PLAYER_FLAGS_TAXI_BENCHMARK = 0x00020000, // taxi benchmark mode (on/off) (2.0.1)
|
||||
PLAYER_FLAGS_PVP_TIMER = 0x00040000, // 3.0.2, pvp timer active (after you disable pvp manually)
|
||||
PLAYER_FLAGS_UBER = 0x00080000,
|
||||
@@ -432,8 +432,8 @@ enum PlayerFlags
|
||||
PLAYER_FLAGS_AUTO_DECLINE_GUILD = 0x08000000, // Automatically declines guild invites
|
||||
PLAYER_FLAGS_GUILD_LEVEL_ENABLED = 0x10000000, // Lua_GetGuildLevelEnabled() - enables guild leveling related UI
|
||||
PLAYER_FLAGS_VOID_UNLOCKED = 0x20000000, // void storage
|
||||
PLAYER_FLAGS_UNK30 = 0x40000000,
|
||||
PLAYER_FLAGS_UNK31 = 0x80000000
|
||||
PLAYER_FLAGS_TIMEWALKING = 0x40000000,
|
||||
PLAYER_FLAGS_COMMENTATOR_CAMERA = 0x80000000
|
||||
};
|
||||
|
||||
enum PlayerBytesOffsets
|
||||
|
||||
@@ -269,13 +269,13 @@ void WorldSession::HandleCharEnum(PreparedQueryResult result)
|
||||
charInfo.HairColor = 0;
|
||||
charInfo.FacialHair = 0;
|
||||
|
||||
if (!(charInfo.Flags2 == CHAR_CUSTOMIZE_FLAG_CUSTOMIZE))
|
||||
if (!(charInfo.Flags2 == CHARACTER_FLAG_2_CUSTOMIZE))
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ADD_AT_LOGIN_FLAG);
|
||||
stmt->setUInt16(0, uint16(AT_LOGIN_CUSTOMIZE));
|
||||
stmt->setUInt32(1, charInfo.Guid.GetCounter());
|
||||
CharacterDatabase.Execute(stmt);
|
||||
charInfo.Flags2 = CHAR_CUSTOMIZE_FLAG_CUSTOMIZE;
|
||||
charInfo.Flags2 = CHARACTER_FLAG_2_CUSTOMIZE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -56,6 +56,12 @@ WorldPackets::Character::EnumCharactersResult::CharacterInfo::CharacterInfo(Fiel
|
||||
uint32 playerFlags = fields[17].GetUInt32();
|
||||
uint32 atLoginFlags = fields[18].GetUInt16();
|
||||
|
||||
if (playerFlags & PLAYER_FLAGS_RESTING)
|
||||
Flags |= CHARACTER_FLAG_RESTING;
|
||||
|
||||
if (atLoginFlags & AT_LOGIN_RESET_TALENTS)
|
||||
Flags |= CHARACTER_FLAG_RESET_TALENTS_ON_LOGIN;
|
||||
|
||||
if (atLoginFlags & AT_LOGIN_RESURRECT)
|
||||
playerFlags &= ~PLAYER_FLAGS_GHOST;
|
||||
|
||||
@@ -72,11 +78,20 @@ WorldPackets::Character::EnumCharactersResult::CharacterInfo::CharacterInfo(Fiel
|
||||
Flags |= CHARACTER_FLAG_DECLINED;
|
||||
|
||||
if (atLoginFlags & AT_LOGIN_CUSTOMIZE)
|
||||
Flags2 = CHAR_CUSTOMIZE_FLAG_CUSTOMIZE;
|
||||
Flags2 = CHARACTER_FLAG_2_CUSTOMIZE;
|
||||
else if (atLoginFlags & AT_LOGIN_CHANGE_FACTION)
|
||||
Flags2 = CHAR_CUSTOMIZE_FLAG_FACTION;
|
||||
Flags2 = CHARACTER_FLAG_2_FACTION_CHANGE;
|
||||
else if (atLoginFlags & AT_LOGIN_CHANGE_RACE)
|
||||
Flags2 = CHAR_CUSTOMIZE_FLAG_RACE;
|
||||
Flags2 = CHARACTER_FLAG_2_RACE_CHANGE;
|
||||
|
||||
if (playerFlags & PLAYER_FLAGS_NO_XP_GAIN)
|
||||
Flags2 |= CHARACTER_FLAG_2_NO_XP_GAIN;
|
||||
|
||||
if (playerFlags & PLAYER_FLAGS_LOW_LEVEL_RAID_ENABLED)
|
||||
Flags2 |= CHARACTER_FLAG_2_LOW_LEVEL_RAID_ENABLED;
|
||||
|
||||
if (playerFlags & PLAYER_FLAGS_AUTO_DECLINE_GUILD)
|
||||
Flags2 |= CHARACTER_FLAG_2_AUTO_DECLINE_GUILD;
|
||||
|
||||
FirstLogin = (atLoginFlags & AT_LOGIN_FIRST) != 0;
|
||||
|
||||
|
||||
@@ -795,49 +795,76 @@ enum SheathTypes
|
||||
|
||||
#define MAX_SHEATHETYPE 8
|
||||
|
||||
enum CharacterFlags
|
||||
enum CharacterFlags : int32
|
||||
{
|
||||
CHARACTER_FLAG_NONE = 0x00000000,
|
||||
CHARACTER_FLAG_UNK1 = 0x00000001,
|
||||
CHARACTER_FLAG_UNK2 = 0x00000002,
|
||||
CHARACTER_FLAG_LOCKED_FOR_TRANSFER = 0x00000004,
|
||||
CHARACTER_FLAG_UNK4 = 0x00000008,
|
||||
CHARACTER_FLAG_UNK5 = 0x00000010,
|
||||
CHARACTER_FLAG_UNK6 = 0x00000020,
|
||||
CHARACTER_FLAG_UNK7 = 0x00000040,
|
||||
CHARACTER_FLAG_UNK8 = 0x00000080,
|
||||
CHARACTER_FLAG_UNK9 = 0x00000100,
|
||||
CHARACTER_FLAG_UNK10 = 0x00000200,
|
||||
CHARACTER_FLAG_HIDE_HELM = 0x00000400,
|
||||
CHARACTER_FLAG_HIDE_CLOAK = 0x00000800,
|
||||
CHARACTER_FLAG_UNK13 = 0x00001000,
|
||||
CHARACTER_FLAG_GHOST = 0x00002000,
|
||||
CHARACTER_FLAG_RENAME = 0x00004000,
|
||||
CHARACTER_FLAG_UNK16 = 0x00008000,
|
||||
CHARACTER_FLAG_UNK17 = 0x00010000,
|
||||
CHARACTER_FLAG_UNK18 = 0x00020000,
|
||||
CHARACTER_FLAG_UNK19 = 0x00040000,
|
||||
CHARACTER_FLAG_UNK20 = 0x00080000,
|
||||
CHARACTER_FLAG_UNK21 = 0x00100000,
|
||||
CHARACTER_FLAG_UNK22 = 0x00200000,
|
||||
CHARACTER_FLAG_UNK23 = 0x00400000,
|
||||
CHARACTER_FLAG_UNK24 = 0x00800000,
|
||||
CHARACTER_FLAG_LOCKED_BY_BILLING = 0x01000000,
|
||||
CHARACTER_FLAG_DECLINED = 0x02000000,
|
||||
CHARACTER_FLAG_UNK27 = 0x04000000,
|
||||
CHARACTER_FLAG_UNK28 = 0x08000000,
|
||||
CHARACTER_FLAG_UNK29 = 0x10000000,
|
||||
CHARACTER_FLAG_UNK30 = 0x20000000,
|
||||
CHARACTER_FLAG_UNK31 = 0x40000000,
|
||||
CHARACTER_FLAG_UNK32 = 0x80000000
|
||||
CHARACTER_FLAG_NONE = 0x00000000,
|
||||
CHARACTER_FLAG_INVIS_GOD = 0x00000001, // Player has God Invis enabled
|
||||
CHARACTER_FLAG_RESTING = 0x00000002, // Player is currently earning rest experience
|
||||
CHARACTER_FLAG_LOCKED_FOR_TRANSFER = 0x00000004, // Player is locked - for paid character transfer
|
||||
CHARACTER_FLAG_SILENCED = 0x00000008, // Player's chat is silenced (can talk to GMs)
|
||||
CHARACTER_FLAG_UBERINVIS_GOD = 0x00000010, // Player has God Uberinvis enabled
|
||||
CHARACTER_FLAG_BEASTMASTER = 0x00000020, // Beastmaster is on
|
||||
CHARACTER_FLAG_PVP_ENABLED = 0x00000040, // PvP Enabled
|
||||
CHARACTER_FLAG_PORT_AFTER_RESURRECT = 0x00000080, // World port after resurrect
|
||||
CHARACTER_FLAG_RESET_TALENTS_ON_LOGIN = 0x00000100, // Clear Talents on login
|
||||
CHARACTER_FLAG_HAS_PVP_RANK = 0x00000200, // Player has a PvP Rank
|
||||
CHARACTER_FLAG_HIDE_HELM = 0x00000400, // Hide Helm
|
||||
CHARACTER_FLAG_HIDE_CLOAK = 0x00000800, // Hide Cloak
|
||||
CHARACTER_FLAG_SKINNABLE = 0x00001000, // Player is skinnable
|
||||
CHARACTER_FLAG_GHOST = 0x00002000, // Player is a ghost
|
||||
CHARACTER_FLAG_RENAME = 0x00004000, // Set to force a rename
|
||||
CHARACTER_FLAG_RENAME_NEEDS_GM_REVIEW = 0x00008000, // Flag is set after rename for GM review
|
||||
CHARACTER_FLAG_PVP_DESIRED = 0x00010000, // PvP desired flag
|
||||
CHARACTER_FLAG_GM_MODE = 0x00020000, // GM Mode enabled
|
||||
CHARACTER_FLAG_DELETED_BY_TRANSFER = 0x00040000, // Deleted by a character transfer
|
||||
CHARACTER_FLAG_ON_UNSAFE_TRANSPORT = 0x00080000, // On unsafe transport (port to safe loc on log in)
|
||||
CHARACTER_FLAG_RENAME_FAILED = 0x00100000, // Player unable to rename character
|
||||
CHARACTER_FLAG_MOUNT_UPGRADED = 0x00200000, // Mount has been upgraded
|
||||
CHARACTER_FLAG_FRIENDS_LIST_NEEDS_REPAIR = 0x00400000, // Friends list requires a repair
|
||||
CHARACTER_FLAG_EXPLORATION_DATA_FIXED = 0x00800000, // character had their exploration data fixed
|
||||
CHARACTER_FLAG_LOCKED_BY_BILLING = 0x01000000, // Locked due to billing
|
||||
CHARACTER_FLAG_DECLINED = 0x02000000, // Player has Russian declined name forms
|
||||
CHARACTER_FLAG_COMMENTATOR = 0x04000000, // Commentator mode enabled
|
||||
CHARACTER_FLAG_UBER_COMMENTATOR = 0x08000000, // Uber Commentator mode enabled
|
||||
CHARACTER_FLAG_XP_FIXED = 0x10000000, // Player's XP has been fixed (2.2.x->2.3.0)
|
||||
CHARACTER_FLAG_LOG_PACKETS = 0x20000000, // Log player packets
|
||||
CHARACTER_FLAG_COMPENSATE_FOR_SPELLS = 0x40000000 // Compensate for spells
|
||||
};
|
||||
|
||||
enum CharacterCustomizeFlags
|
||||
enum CharacterFlags2 : int32
|
||||
{
|
||||
CHAR_CUSTOMIZE_FLAG_NONE = 0x00000000,
|
||||
CHAR_CUSTOMIZE_FLAG_CUSTOMIZE = 0x00000001, // name, gender, etc...
|
||||
CHAR_CUSTOMIZE_FLAG_FACTION = 0x00010000, // name, gender, faction, etc...
|
||||
CHAR_CUSTOMIZE_FLAG_RACE = 0x00100000 // name, gender, race, etc...
|
||||
CHARACTER_FLAG_2_NONE = 0x00000000,
|
||||
CHARACTER_FLAG_2_CUSTOMIZE = 0x00000001, // Player has paid for a character re-customization
|
||||
CHARACTER_FLAG_2_GM_SUPPORTER_PROXY = 0x00000002, // GMSupportServer Proxy, NOT for GMTool use
|
||||
CHARACTER_FLAG_2_CAN_LOAD_ON_NON_SHIP_TRANPORT = 0x00000004, // Character has been saved at least once since saving on non-ship transports was added
|
||||
CHARACTER_FLAG_2_BATTLE_MASTER_MISC_IS_TAXI_ID = 0x00000008, // Battle Master Misc Field is a Taxi ID
|
||||
CHARACTER_FLAG_2_TEMP_PET_AUTOCAST_SPELL_1 = 0x00000010, // Temp Pet Autocast Spell 1
|
||||
CHARACTER_FLAG_2_TEMP_PET_AUTOCAST_SPELL_2 = 0x00000020, // Temp Pet Autocast Spell 2
|
||||
CHARACTER_FLAG_2_TEMP_PET_AUTOCAST_SPELL_3 = 0x00000040, // Temp Pet Autocast Spell 3
|
||||
CHARACTER_FLAG_2_TEMP_PET_AUTOCAST_SPELL_4 = 0x00000080, // Temp Pet Autocast Spell 4
|
||||
CHARACTER_FLAG_2_TEMP_PET_AGGRESSIVE = 0x00000100, // Temp Pet Aggressive
|
||||
CHARACTER_FLAG_2_TEMP_PET_PASSIVE = 0x00000200, // Temp Pet Passive
|
||||
CHARACTER_FLAG_2_CAN_INTERACT_WITH_OTHER_REALMS_IN_SITE = 0x00000400, // Characters can interact with other realms in the site
|
||||
CHARACTER_FLAG_2_CAN_INTERACT_WITH_OTHER_REALMS_IN_REGION = 0x00000800, // Characters can interact with other realms in the region
|
||||
CHARACTER_FLAG_2_BATTLE_MASTER_MISC_IS_AREA_ID = 0x00001000, // Battle Master Misc Field is an Area ID
|
||||
CHARACTER_FLAG_2_REEVALUATE_ACCOUNT_ITEM_LICENSES = 0x00002000, // Account Item Licenses must be reevaluated on next login
|
||||
CHARACTER_FLAG_2_BATTLE_MASTER_MISC_IS_TRANSPORT = 0x00004000, // Battle Master Misc Field is a Transport
|
||||
CHARACTER_FLAG_2_TALENTS_RESET_USING_TALENT_GROUP_DATA = 0x00008000, // Players talents have been reset using talent group data
|
||||
CHARACTER_FLAG_2_FACTION_CHANGE = 0x00010000, // This character is eligible to change his faction
|
||||
CHARACTER_FLAG_2_HAS_CHANGED_RACE_OR_FACTION = 0x00020000, // This character has changed his race/faction and now requires the world server to repair him
|
||||
CHARACTER_FLAG_2_NO_XP_GAIN = 0x00040000, // This character has chosen to not gain XP by any means
|
||||
CHARACTER_FLAG_2_RECAST_ON_RESUMMON = 0x00080000, // Recast on Resummon
|
||||
CHARACTER_FLAG_2_RACE_CHANGE = 0x00100000, // This character is eligible to change his race
|
||||
CHARACTER_FLAG_2_CHANGED_TEMP_PET_AUTOCAST_SPELL_1 = 0x00200000, // Player has changed Temp Pet Autocast Spell 1
|
||||
CHARACTER_FLAG_2_CHANGED_TEMP_PET_AUTOCAST_SPELL_2 = 0x00400000, // Player has changed Temp Pet Autocast Spell 2
|
||||
CHARACTER_FLAG_2_CHANGED_TEMP_PET_AUTOCAST_SPELL_3 = 0x00800000, // Player has changed Temp Pet Autocast Spell 3
|
||||
CHARACTER_FLAG_2_CHANGED_TEMP_PET_AUTOCAST_SPELL_4 = 0x01000000, // Player has changed Temp Pet Autocast Spell 4
|
||||
CHARACTER_FLAG_2_CHANGED_GUILD_DURING_CHARACTER_TRANSFER = 0x02000000, // Player has transferred guilds during a PCT
|
||||
CHARACTER_FLAG_2_CAN_USE_VOID_STORAGE_FEATURE = 0x04000000, // Player is allowed to use the Void Storage feature
|
||||
CHARACTER_FLAG_2_BATTLE_PETS_CONVERTED = 0x08000000, // Battle Pets Converted
|
||||
CHARACTER_FLAG_2_QUESTS_FIXED = 0x10000000, // Player has had his quests fixed
|
||||
CHARACTER_FLAG_2_LOW_LEVEL_RAID_ENABLED = 0x20000000, // The player can join raids even if he's below the min raid level
|
||||
CHARACTER_FLAG_2_AUTO_DECLINE_GUILD = 0x40000000 // The player will automatically decline guild invites
|
||||
};
|
||||
|
||||
enum CharacterSlot
|
||||
|
||||
Reference in new issue
Block a user