aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/MiscHandler.cpp
diff options
context:
space:
mode:
authorForesterDev <11771800+ForesterDev@users.noreply.github.com>2020-04-26 23:10:07 +0300
committerGitHub <noreply@github.com>2020-04-26 22:10:07 +0200
commit332b2f1f538e830701e48d8f1574911149c59619 (patch)
treee13453304e212bf8bdbd90f4075b9eb00b63a71e /src/server/game/Handlers/MiscHandler.cpp
parent84c91cdef9185527ef3f856e185d5c7acf8be8b8 (diff)
Core/PacketIO: updated CMSG_TOGGLE_PVP opcode (#24476)
* Core/PacketIO: updated CMSG_TOGGLE_PVP opcode * Use Optional<T>. Restore ApplyModFlag() code. * Fix no-pch build Co-authored-by: jackpoz <giacomopoz@gmail.com>
Diffstat (limited to 'src/server/game/Handlers/MiscHandler.cpp')
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index 8a7250061cd..a5f8b7a2da7 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -442,15 +442,13 @@ void WorldSession::HandleLogoutCancelOpcode(WorldPacket& /*recvData*/)
}
}
-void WorldSession::HandleTogglePvP(WorldPacket& recvData)
+void WorldSession::HandleTogglePvP(WorldPackets::Misc::TogglePvP& togglePvP)
{
// this opcode can be used in two ways: Either set explicit new status or toggle old status
- if (recvData.size() == 1)
+ if (togglePvP.Enable)
{
- bool newPvPStatus;
- recvData >> newPvPStatus;
- GetPlayer()->ApplyModFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP, newPvPStatus);
- GetPlayer()->ApplyModFlag(PLAYER_FLAGS, PLAYER_FLAGS_PVP_TIMER, !newPvPStatus);
+ GetPlayer()->ApplyModFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP, *togglePvP.Enable);
+ GetPlayer()->ApplyModFlag(PLAYER_FLAGS, PLAYER_FLAGS_PVP_TIMER, !*togglePvP.Enable);
}
else
{
@@ -468,9 +466,6 @@ void WorldSession::HandleTogglePvP(WorldPacket& recvData)
if (!GetPlayer()->pvpInfo.IsHostile && GetPlayer()->IsPvP())
GetPlayer()->pvpInfo.EndTimer = GameTime::GetGameTime() + 300; // start toggle-off
}
-
- //if (OutdoorPvP* pvp = _player->GetOutdoorPvP())
- // pvp->HandlePlayerActivityChanged(_player);
}
void WorldSession::HandleZoneUpdateOpcode(WorldPacket& recvData)