refactor(Core/Packet): Character packets (#9546)

* Character

* Update CharacterHandler.cpp
This commit is contained in:
IntelligentQuantum
2022-01-06 15:25:00 +03:30
committed by GitHub
parent 43ea4aa2df
commit 93322bcb4d
8 changed files with 228 additions and 51 deletions

View File

@@ -21,6 +21,7 @@
#include "Battleground.h"
#include "CalendarMgr.h"
#include "CharacterCache.h"
#include "CharacterPackets.h"
#include "Chat.h"
#include "Common.h"
#include "DatabaseEnv.h"
@@ -1199,9 +1200,9 @@ void WorldSession::HandlePlayerLoginToCharInWorld(Player* pCurrChar)
_mask[i] = uint32(1) << (eff - (32 * i));
int32 val = 0;
for (SpellModList::const_iterator itr = spellMods.begin(); itr != spellMods.end(); ++itr)
if ((*itr)->type == modType && (*itr)->mask & _mask)
val += (*itr)->value;
for (auto const& spellMod : spellMods)
if (spellMod->type == modType && spellMod->mask & _mask)
val += spellMod->value;
if (val == 0)
continue;
@@ -1315,18 +1316,20 @@ void WorldSession::HandleSetFactionInactiveOpcode(WorldPacket& recvData)
_player->GetReputationMgr().SetInactive(replistid, inactive);
}
void WorldSession::HandleShowingHelmOpcode(WorldPacket& recvData)
void WorldSession::HandleShowingHelmOpcode(WorldPackets::Character::ShowingHelm& packet)
{
LOG_DEBUG("network.opcode", "CMSG_SHOWING_HELM for %s", _player->GetName().c_str());
recvData.read_skip<uint8>(); // unknown, bool?
_player->ToggleFlag(PLAYER_FLAGS, PLAYER_FLAGS_HIDE_HELM);
if (packet.ShowHelm)
_player->RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_HIDE_HELM);
else
_player->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_HIDE_HELM);
}
void WorldSession::HandleShowingCloakOpcode(WorldPacket& recvData)
void WorldSession::HandleShowingCloakOpcode(WorldPackets::Character::ShowingCloak& packet)
{
LOG_DEBUG("network.opcode", "CMSG_SHOWING_CLOAK for %s", _player->GetName().c_str());
recvData.read_skip<uint8>(); // unknown, bool?
_player->ToggleFlag(PLAYER_FLAGS, PLAYER_FLAGS_HIDE_CLOAK);
if (packet.ShowCloak)
_player->RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_HIDE_CLOAK);
else
_player->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_HIDE_CLOAK);
}
void WorldSession::HandleCharRenameOpcode(WorldPacket& recvData)