96 Guid = ObjectGuid::Create<HighGuid::Player>(fields[0].GetUInt64());
106 PreloadPos =
Position(fields[8].GetFloat(), fields[9].GetFloat(), fields[10].GetFloat());
109 GuildGUID = ObjectGuid::Create<HighGuid::Guild>(guildId);
121 playerFlags &= ~PLAYER_FLAGS_GHOST;
129 if (fields[17].GetUInt64())
187 for (std::size_t slot = 0; slot <
VisualItems.size(); ++slot)
189 constexpr std::size_t equipmentFieldsPerSlot = 8;
191 std::size_t visualBase = 28 + slot * equipmentFieldsPerSlot;
219 data << charInfo.
Guid;
260 data << customization;
262 data << SizedString::BitsSize<6>(charInfo.
Name);
283 data << Size<uint32>(restrictionsAndMails.
MailSenders);
289 for (std::string
const& str : restrictionsAndMails.
MailSenders)
290 data << SizedCString::BitsSize<6>(str);
294 for (std::string
const& str : restrictionsAndMails.
MailSenders)
302 data << charInfo.
Basic;
310 data << charInfo.
Basic;
369 if (warbandGroupMember.
Type == 0)
370 data << warbandGroupMember.
Guid;
382 data << Size<uint32>(warbandGroup.
Members);
387 data << SizedString::BitsSize<9>(warbandGroup.
Name);
407 _worldPacket << Bits<1>(
Success);
467 CreateInfo = std::make_shared<CharacterCreateInfo>();
469 _worldPacket >> SizedString::BitsSize<6>(CreateInfo->Name);
477 _worldPacket >> Size<uint32>(CreateInfo->Customizations);
480 if (CreateInfo->TemplateSet)
511 RenameInfo = std::make_shared<CharacterRenameInfo>();
514 _worldPacket >> SizedString::BitsSize<6>(RenameInfo->NewName);
523 _worldPacket << SizedString::BitsSize<6>(
Name);
536 CustomizeInfo = std::make_shared<CharCustomizeInfo>();
540 _worldPacket >> Size<uint32>(CustomizeInfo->Customizations);
544 _worldPacket >> SizedString::BitsSize<6>(CustomizeInfo->CharName);
566 _worldPacket << SizedString::BitsSize<6>(
CharName);
609 _worldPacket << SizedString::BitsSize<6>(
Display->Name);
612 _worldPacket << Size<uint32>(*
Display->Customizations);
629 _worldPacket << Bits<1>(
Success);
630 _worldPacket << SizedString::BitsSize<6>(
Name);
654 UndeleteInfo = std::make_shared<CharacterUndeleteInfo>();
712 _worldPacket << Bits<1>(
Instant);
721 data << gameModeData.
Guid;
731 data << customization;
734 data << customization;
742 data << switchGameModeData.
Current;
743 data << switchGameModeData.
New;
@ SMSG_CHAR_CUSTOMIZE_SUCCESS
@ CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT
@ CMSG_REORDER_CHARACTERS
@ PLAYER_FLAGS_AUTO_DECLINE_GUILD
@ PLAYER_FLAGS_HIDE_ACCOUNT_ACHIEVEMENTS
@ PLAYER_FLAGS_NO_XP_GAIN
@ PLAYER_FLAGS_WAR_MODE_DESIRED
@ PLAYER_FLAGS_LOW_LEVEL_RAID_ENABLED
@ AT_LOGIN_CHANGE_FACTION
@ CHARACTER_FLAG_2_LOW_LEVEL_RAID_ENABLED
@ CHARACTER_FLAG_2_AUTO_DECLINE_GUILD
@ CHARACTER_FLAG_2_FACTION_CHANGE
@ CHARACTER_FLAG_2_RACE_CHANGE
@ CHARACTER_FLAG_2_CUSTOMIZE
@ CHARACTER_FLAG_2_NO_XP_GAIN
@ CHARACTER_FLAG_DECLINED
@ CHARACTER_FLAG_RESET_TALENTS_ON_LOGIN
@ CHARACTER_FLAG_LOCKED_BY_BILLING
@ CHARACTER_FLAG_3_HIDE_ACCOUNT_ACHIEVEMENTS
@ CHARACTER_FLAG_3_WAR_MODE_DESIRED
#define MAX_DECLINED_NAME_CASES
void reserve(size_t ressize)
Class used to access individual fields of database query result.
uint32 GetUInt32() const noexcept
uint16 GetUInt16() const noexcept
std::string_view GetStringView() const noexcept
uint8 GetUInt8() const noexcept
int32 GetInt32() const noexcept
int64 GetInt64() const noexcept
int32 CustomizedChrModelID
int8 UnalteredVisualRaceID
Array< ChrCustomizationChoice, 250 > Customizations
WorldPacket const * Write() override
WorldPacket const * Write() override
Array< ChrCustomizationChoice, 250 > const & Customizations
WorldPacket const * Write() override
CharCustomizeSuccess(CharCustomizeInfo const *customizeInfo)
Optional< CharFactionChangeDisplayInfo > Display
WorldPacket const * Write() override
std::shared_ptr< CharRaceOrFactionChangeInfo > RaceOrFactionChangeInfo
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
std::vector< CharacterInfo > Characters
all characters on the list
bool IgnoreNewPlayerRestrictions
allows client to skip new player restrictions
bool IsAccountLapsedPlayer
std::vector< RaceUnlock > RaceUnlockData
WorldPacket const * Write() override
bool ForceCharacterListSort
std::vector< RegionwideCharacterListEntry > RegionwideCharacters
bool IsDeletedCharacters
used for character undelete list
std::vector< RaceLimitDisableInfo > RaceLimitDisables
Optional< uint32 > ClassDisableMask
bool IsNewcomerChatCompleted
forbids hero classes and allied races
std::vector< WarbandGroup > WarbandGroups
std::vector< UnlockedConditionalAppearance > UnlockedConditionalAppearances
bool IsRestrictedNewPlayer
forbids using level boost and class trials
EnumCharacters(WorldPacket &&packet)
WorldPacket const * Write() override
uint8 ServerExpansionLevel
uint8 ServerExpansionTier
WorldPacket const * Write() override
WorldPacket const * Write() override
TaggedPosition< Position::XYZO > Pos
WorldPacket const * Write() override
WorldPacket const * Write() override
std::unique_ptr< SwitchGameModeData > SwitchGameMode
WorldPacket const * Write() override
WorldPacket const * Write() override
float FarClip
Visibility distance (for terrain)
ObjectGuid Guid
Guid of the player that is logging in.
WorldPacket const * Write() override
Array< ReorderInfo, 200 > Entries
ReorderCharacters(WorldPacket &&packet)
CustomTabardInfo PersonalTabard
WorldPacket const * Write() override
WorldPacket const * Write() override
DeclinedName DeclinedNames
WorldPacket const * Write() override
CharacterUndeleteInfo const * UndeleteInfo
WorldPacket const * Write() override
std::shared_ptr< CharacterUndeleteInfo > UndeleteInfo
WorldPacket const * Write() override
uint32 CurrentCooldown
Current cooldown until next free character restoration. (in sec)
uint32 MaxCooldown
Max. cooldown until next free character restoration. Displayed in undelete confirm message....
OpcodeClient GetOpcode() const
uint32 GetVirtualRealmAddress()
@ CONFIG_DECLINED_NAMES_USED
uint64 CreateClubMemberId(ObjectGuid guid)
ByteBuffer & operator>>(ByteBuffer &data, ChrCustomizationChoice &customizationChoice)
ByteBuffer & operator<<(ByteBuffer &data, ChrCustomizationChoice const &customizationChoice)
ByteBuffer & operator<<(ByteBuffer &data, CustomTabardInfo const &customTabardInfo)
void SortCustomizations(Array< ChrCustomizationChoice, 250 > &customizations)
ByteBuffer & operator>>(ByteBuffer &data, CustomTabardInfo &customTabardInfo)
DataWriter< Container > Data(Container const &value)
DataWriter< Container > Data(Container const &value)
OptionalInitWriter< T > OptionalInit(Optional< T > const &value)
std::string name[MAX_DECLINED_NAME_CASES]
uint32 ChrCustomizationChoiceID
uint32 ChrCustomizationOptionID
ObjectGuid CharacterGuid
User specified variables.
uint32 TransmogrifiedItemID
int32 SecondaryItemModifiedAppearanceID
CustomTabardInfo PersonalTabard
uint16 ListPosition
Order of the characters in list.
uint32 Flags
Character flag.
uint32 PetExperienceLevel
uint32 OverrideSelectScreenFileDataID
uint32 PetCreatureFamilyID
int32 TimerunningSeasonID
uint32 Flags3
Character flags 3.
uint32 Flags4
Character flags 4.
uint64 GuildClubMemberID
same as bgs.protocol.club.v1.MemberId.unique_id, guessed basing on SMSG_QUERY_PLAYER_NAME_RESPONSE (t...
std::vector< ChrCustomizationChoice > Customizations
uint32 Flags2
Character customization flags.
std::array< VisualItemInfo, 19 > VisualItems
TaggedPosition< Position::XYZ > PreloadPos
CharacterInfoBasic(Field const *fields)
uint32 VirtualRealmAddress
uint32 PetCreatureDisplayID
CharacterRestrictionAndMailData RestrictionsAndMails
CharacterInfo(Field const *fields)
std::vector< uint32 > MailSenderTypes
std::vector< std::string > MailSenders
bool HasUnlockedAchievement
bool HasUnlockedAchievement
std::vector< ClassUnlock > ClassUnlocks
bool HasHeritageArmorUnlockAchievement
bool FactionBalanceDisabled
float CurrentSeasonMythicPlusOverallScore
uint32 CurrentSeasonBestPvpRating
RegionwideCharacterListEntry(Field const *fields)
int16 PvpRatingAssociatedSpecID
float AvgEquippedItemLevel
Array< ChrCustomizationChoice, 250 > Customizations
Array< ChrCustomizationChoice, 250 > Unknown_1107_4
uint32 WarbandScenePlacementID
std::vector< WarbandGroupMember > Members
uint32 Flags
enum WarbandGroupFlags { Collapsed = 1 }