From 9e5addfef38f6e8f52647b29c8e55aaf2149d52a Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Sat, 20 Jun 2026 23:50:45 +0200 Subject: [PATCH] feat(Core/Account): Implement ACCOUNT_FLAG_NOKICK (#26238) Co-authored-by: sudlud --- src/common/Common.h | 2 +- src/server/game/Handlers/MiscHandler.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/Common.h b/src/common/Common.h index f816a2dedd..a14647b1fe 100644 --- a/src/common/Common.h +++ b/src/common/Common.h @@ -65,7 +65,7 @@ enum AccountTypes enum AccountFlag { ACCOUNT_FLAG_GM = 0x1, // Account is GM - ACCOUNT_FLAG_NOKICK = 0x2, // NYI UNK + ACCOUNT_FLAG_NOKICK = 0x2, // Will not be logged out while AFK ACCOUNT_FLAG_COLLECTOR = 0x4, // NYI Collector's Edition ACCOUNT_FLAG_TRIAL = 0x8, // Trial account ACCOUNT_FLAG_CANCELLED = 0x10, // NYI UNK diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index da9480a6bf..97c40e9365 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -426,7 +426,7 @@ void WorldSession::HandleLogoutRequestOpcode(WorldPackets::Character::LogoutRequ bool preventAfkSanctuaryLogout = sWorld->getIntConfig(CONFIG_AFK_PREVENT_LOGOUT) == 1 && GetPlayer()->isAFK() && sAreaTableStore.LookupEntry(GetPlayer()->GetAreaId())->IsSanctuary(); - bool preventAfkLogout = sWorld->getIntConfig(CONFIG_AFK_PREVENT_LOGOUT) == 2 + bool preventAfkLogout = ((sWorld->getIntConfig(CONFIG_AFK_PREVENT_LOGOUT) == 2) || HasAccountFlag(ACCOUNT_FLAG_NOKICK)) && GetPlayer()->isAFK(); /// @todo: Possibly add RBAC permission to log out in combat