diff --git a/zone/merc.cpp b/zone/merc.cpp index f8f9f0d06..df1275ce4 100644 --- a/zone/merc.cpp +++ b/zone/merc.cpp @@ -5575,20 +5575,17 @@ Merc* Client::GetMerc() { return (tmp); } -uint8 Client::GetNumberOfMercenaries() { +uint8 Client::GetNumberOfMercenaries() +{ + uint8 count = 0; - uint8 numMercs = 0; - - for(int i=0; iGetMercenaryCharacterID(); - e.Slot = c->GetNumberOfMercenaries(); + e.Slot = (c->GetNumberOfMercenaries() - 1); e.Name = m->GetCleanName(); e.TemplateID = m->GetMercenaryTemplateID(); e.SuspendedTime = c->GetMercInfo().SuspendedTime; @@ -2336,7 +2336,7 @@ bool ZoneDatabase::SaveMercenary(Merc* m) auto e = MercsRepository::FindOne(*this, m->GetMercenaryID()); e.OwnerCharacterID = m->GetMercenaryCharacterID(); - e.Slot = c->GetNumberOfMercenaries(); + e.Slot = (c->GetNumberOfMercenaries() - 1); e.Name = m->GetCleanName(); e.TemplateID = m->GetMercenaryTemplateID(); e.SuspendedTime = c->GetMercInfo().SuspendedTime; @@ -2416,7 +2416,9 @@ void ZoneDatabase::SaveMercenaryBuffs(Merc* m) v.emplace_back(e); } - MercBuffsRepository::InsertMany(*this, v); + if (!v.empty()) { + MercBuffsRepository::InsertMany(*this, v); + } } void ZoneDatabase::LoadMercenaryBuffs(Merc* m)