aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-07-19 17:44:00 +0200
committerShauren <shauren.trinity@gmail.com>2016-07-19 17:44:00 +0200
commit6c1c8e7581091bcd94a208cbfbd440ba0fd1a766 (patch)
tree7bc33090fe4fc9fcac6d45138648382d2420b523 /src/server/game/Server
parent79a921edc79f17d5aad9f8acc7bf5f20eac746df (diff)
Core/PacketIO: Send spec id in char enum
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.cpp10
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.h2
2 files changed, 7 insertions, 5 deletions
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp
index 5e7efd257f7..7e44b8f9fe7 100644
--- a/src/server/game/Server/Packets/CharacterPackets.cpp
+++ b/src/server/game/Server/Packets/CharacterPackets.cpp
@@ -30,8 +30,8 @@ WorldPackets::Character::EnumCharactersResult::CharacterInfo::CharacterInfo(Fiel
// "characters.zone, characters.map, characters.position_x, characters.position_y, characters.position_z, "
// 19 20 21 22 23 24 25
// "guild_member.guildid, characters.playerFlags, characters.at_login, character_pet.entry, character_pet.modelid, character_pet.level, characters.equipmentCache, "
- // 26 27 28 29
- // "character_banned.guid, characters.slot, characters.logout_time, character_declinedname.genitive"
+ // 26 27 28 29 30
+ // "character_banned.guid, characters.slot, characters.logout_time, characters.activeTalentGroup, character_declinedname.genitive"
Guid = ObjectGuid::Create<HighGuid::Player>(fields[0].GetUInt64());
Name = fields[1].GetString();
@@ -77,7 +77,7 @@ WorldPackets::Character::EnumCharactersResult::CharacterInfo::CharacterInfo(Fiel
if (fields[26].GetUInt64())
Flags |= CHARACTER_FLAG_LOCKED_BY_BILLING;
- if (sWorld->getBoolConfig(CONFIG_DECLINED_NAMES_USED) && !fields[29].GetString().empty())
+ if (sWorld->getBoolConfig(CONFIG_DECLINED_NAMES_USED) && !fields[30].GetString().empty())
Flags |= CHARACTER_FLAG_DECLINED;
if (atLoginFlags & AT_LOGIN_CUSTOMIZE)
@@ -109,6 +109,8 @@ WorldPackets::Character::EnumCharactersResult::CharacterInfo::CharacterInfo(Fiel
Tokenizer equipment(fields[25].GetString(), ' ');
ListPosition = fields[27].GetUInt8();
LastPlayedTime = fields[28].GetUInt32();
+ if (ChrSpecializationEntry const* spec = sDB2Manager.GetChrSpecializationByIndex(Class, fields[29].GetUInt8()))
+ SpecID = spec->ID;
for (uint8 slot = 0; slot < INVENTORY_SLOT_BAG_END; ++slot)
{
@@ -127,7 +129,7 @@ WorldPacket const* WorldPackets::Character::EnumCharactersResult::Write()
_worldPacket.WriteBit(IsDeletedCharacters);
_worldPacket.WriteBit(IsDemonHunterCreationAllowed);
_worldPacket.WriteBit(HasDemonHunterOnRealm);
- _worldPacket.WriteBit(HasLevel70OnAccount);
+ _worldPacket.WriteBit(HasLevel70OnRealm);
_worldPacket.WriteBit(Unknown7x);
_worldPacket.WriteBit(DisabledClassesMask.is_initialized());
_worldPacket << uint32(Characters.size());
diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h
index ec3ac9dc172..695697468f9 100644
--- a/src/server/game/Server/Packets/CharacterPackets.h
+++ b/src/server/game/Server/Packets/CharacterPackets.h
@@ -179,7 +179,7 @@ namespace WorldPackets
bool IsDeletedCharacters = false; ///< used for character undelete list
bool IsDemonHunterCreationAllowed = false; ///< used for demon hunter early access
bool HasDemonHunterOnRealm = false;
- bool HasLevel70OnAccount = false;
+ bool HasLevel70OnRealm = false;
bool Unknown7x = false;
Optional<uint32> DisabledClassesMask;