Direct almost all chr saving through CharacterSaver

Client#disconnectInternal remains.
Had to remove some configurable save points to keep it simple.
This commit is contained in:
P0nk
2023-08-04 16:05:10 +02:00
parent e52f646558
commit 4e39142fb3
18 changed files with 122 additions and 152 deletions

View File

@@ -31,6 +31,7 @@ import client.inventory.manipulator.InventoryManipulator;
import client.inventory.manipulator.KarmaManipulator;
import client.processor.npc.FredrickProcessor;
import config.YamlConfig;
import database.character.CharacterSaver;
import net.packet.Packet;
import net.server.Server;
import server.ItemInformationProvider;
@@ -232,7 +233,7 @@ public class HiredMerchant extends AbstractMapObject {
}
}
public void takeItemBack(int slot, Character chr) {
public void takeItemBack(int slot, Character chr, CharacterSaver chrSaver) {
synchronized (items) {
PlayerShopItem shopItem = items.get(slot);
if (shopItem.isExist()) {
@@ -252,10 +253,6 @@ public class HiredMerchant extends AbstractMapObject {
removeFromSlot(slot);
chr.sendPacket(PacketCreator.updateHiredMerchant(this, chr));
}
if (YamlConfig.config.server.USE_ENFORCE_MERCHANT_SAVE) {
chr.saveCharToDB(false);
}
}
}
@@ -461,10 +458,6 @@ public class HiredMerchant extends AbstractMapObject {
}
}
if (YamlConfig.config.server.USE_ENFORCE_MERCHANT_SAVE) {
c.getPlayer().saveCharToDB(false);
}
synchronized (items) {
items.clear();
}