diff --git a/zone/bot.cpp b/zone/bot.cpp index 9cce41c2f..ff6ee42d1 100644 --- a/zone/bot.cpp +++ b/zone/bot.cpp @@ -7465,9 +7465,13 @@ void Bot::DoEnduranceUpkeep() { void Bot::Camp(bool databaseSave) { Sit(); - if(IsGrouped()) + auto group = GetGroup(); + if(group) RemoveBotFromGroup(this, GetGroup()); + if (group->GroupCount() < 2) + group->DisbandGroup(); + LeaveHealRotationMemberPool(); if(databaseSave) diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 38e7aaff4..ccb4ee96a 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -3952,6 +3952,9 @@ void Client::Handle_OP_Camp(const EQApplicationPacket *app) #ifdef BOTS // This block is necessary to clean up any bot objects owned by a Client Bot::BotOrderCampAll(this); + auto group = GetGroup(); + if (group && group->GroupCount() < 2) + group->DisbandGroup(); #endif if (IsLFP()) worldserver.StopLFP(CharacterID());