diff --git a/common/ruletypes.h b/common/ruletypes.h index 6e3c9dd91..97a235e55 100644 --- a/common/ruletypes.h +++ b/common/ruletypes.h @@ -255,7 +255,7 @@ RULE_BOOL(Mercs, AllowMercSuspendInCombat, true, "Allow merc suspend in combat") RULE_BOOL(Mercs, MercsIgnoreLevelBasedHasteCaps, false, "Ignores hard coded level based haste caps.") RULE_INT(Mercs, MercsHasteCap, 100, "Haste cap for non-v3(over haste) haste") RULE_INT(Mercs, MercsHastev3Cap, 25, "Haste cap for v3(over haste) haste") -RULE_INT(Mercs, MaxMercSlots, 6, "Maximum number of mercenary slots per character (max 6)") +RULE_INT(Mercs, MaxMercSlots, 6, "Maximum number of mercenary slots per character (max = MAXMERCS)") RULE_CATEGORY_END() RULE_CATEGORY(Guild) diff --git a/zone/client.cpp b/zone/client.cpp index f70f1e808..e33650c7e 100644 --- a/zone/client.cpp +++ b/zone/client.cpp @@ -7950,7 +7950,7 @@ void Client::SendMercPersonalInfo() return; } - uint32 packetSize = sizeof(MercenaryDataUpdate_Struct) + (mercCount * sizeof(MercenaryData_Struct)); + uint32 packetSize = sizeof(MercenaryDataUpdate_Struct); auto outapp = new EQApplicationPacket(OP_MercenaryDataUpdate, packetSize); memset(outapp->pBuffer, 0, packetSize); auto mdus = (MercenaryDataUpdate_Struct *) outapp->pBuffer; diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 5ad6b46cb..13e55df4d 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -10689,7 +10689,8 @@ void Client::Handle_OP_MercenaryHire(const EQApplicationPacket *app) Merc* current_merc = GetMerc(); if (current_merc) { current_merc->Suspend(); - SetMerc(nullptr); + current_merc->SetOwnerID(0); + SetMercID(0); } // Select a free slot for the new hire