mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 18:52:22 +00:00
[Bug Fix] Fix Mercenaries Buffs/Zoning Issues (#4000)
# Notes - Mercenaries were disappearing on zoning because they were saving to slot `1` and being loaded from slot `0`. - Mercenaries were not displaying properly in group window because of this as well. - Mercenary buffs were saving even when they did not have any buffs.
This commit is contained in:
+5
-3
@@ -2295,7 +2295,7 @@ bool ZoneDatabase::SaveMercenary(Merc* m)
|
||||
auto e = MercsRepository::NewEntity();
|
||||
|
||||
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;
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user