Core/Misc: Don't logout players instantly when client automatically requests a logout by idling too long
Port From (https://github.com/TrinityCore/TrinityCore/commit/d4fc589f4c4efac69723211b37239a2afa161cc6)
This commit is contained in:
@@ -11,14 +11,16 @@ namespace Game
|
||||
public partial class WorldSession
|
||||
{
|
||||
[WorldPacketHandler(ClientOpcodes.LogoutRequest)]
|
||||
void HandleLogoutRequest(LogoutRequest packet)
|
||||
void HandleLogoutRequest(LogoutRequest logoutRequest)
|
||||
{
|
||||
Player pl = GetPlayer();
|
||||
if (!GetPlayer().GetLootGUID().IsEmpty())
|
||||
GetPlayer().SendLootReleaseAll();
|
||||
|
||||
bool instantLogout = (pl.HasPlayerFlag(PlayerFlags.Resting) && !pl.IsInCombat() ||
|
||||
pl.IsInFlight() || HasPermission(RBACPermissions.InstantLogout));
|
||||
bool instantLogout = GetPlayer().IsInFlight();
|
||||
if (!logoutRequest.IdleLogout)
|
||||
instantLogout |= (GetPlayer().HasPlayerFlag(PlayerFlags.Resting) && !GetPlayer().IsInCombat())
|
||||
|| HasPermission(RBACPermissions.InstantLogout);
|
||||
|
||||
bool canLogoutInCombat = pl.HasPlayerFlag(PlayerFlags.Resting);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user