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:
@@ -27,6 +27,7 @@ import client.inventory.Equip;
|
||||
import client.inventory.Item;
|
||||
import client.processor.action.BuybackProcessor;
|
||||
import config.YamlConfig;
|
||||
import database.character.CharacterSaver;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import net.server.Server;
|
||||
@@ -45,6 +46,12 @@ import java.util.List;
|
||||
|
||||
|
||||
public final class EnterMTSHandler extends AbstractPacketHandler {
|
||||
private final CharacterSaver chrSaver;
|
||||
|
||||
public EnterMTSHandler(CharacterSaver chrSaver) {
|
||||
this.chrSaver = chrSaver;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
Character chr = c.getPlayer();
|
||||
@@ -105,7 +112,7 @@ public final class EnterMTSHandler extends AbstractPacketHandler {
|
||||
chr.forfeitExpirableQuests();
|
||||
chr.cancelQuestExpirationTask();
|
||||
|
||||
chr.saveCharToDB();
|
||||
chrSaver.save(chr);
|
||||
|
||||
c.getChannelServer().removePlayer(chr);
|
||||
chr.getMap().removePlayer(c.getPlayer());
|
||||
@@ -276,4 +283,4 @@ public final class EnterMTSHandler extends AbstractPacketHandler {
|
||||
}
|
||||
return items;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user