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