[Pets] Fix saving inconsistencies with pets (#3375)

This commit is contained in:
Chris Miles 2023-05-25 10:33:34 -05:00 committed by GitHub
parent bd95ed44fd
commit 9993022418
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3345,30 +3345,27 @@ void ZoneDatabase::SavePetInfo(Client *client)
}
}
// Delete existing pet info
CharacterPetInfoRepository::DeleteWhere(database, fmt::format("char_id = {}", client->CharacterID()));
// insert pet info into database
if (!pet_infos.empty()) {
// Delete existing pet info
CharacterPetInfoRepository::DeleteWhere(database, fmt::format("char_id = {}", client->CharacterID()));
// Insert new pet info
CharacterPetInfoRepository::InsertMany(database, pet_infos);
}
// Delete existing pet buffs
CharacterPetBuffsRepository::DeleteWhere(database, fmt::format("char_id = {}", client->CharacterID()));
// insert pet buffs into database
if (!pet_buffs.empty()) {
// Delete existing pet buffs
CharacterPetBuffsRepository::DeleteWhere(database, fmt::format("char_id = {}", client->CharacterID()));
// Insert new pet buffs
CharacterPetBuffsRepository::InsertMany(database, pet_buffs);
}
// Delete existing pet inventory
CharacterPetInventoryRepository::DeleteWhere(database, fmt::format("char_id = {}", client->CharacterID()));
// insert pet inventory into database
if (!inventory.empty()) {
// Delete existing pet inventory
CharacterPetInventoryRepository::DeleteWhere(database, fmt::format("char_id = {}", client->CharacterID()));
// Insert new pet inventory
CharacterPetInventoryRepository::InsertMany(database, inventory);
}
}