fix(plate data): was not save, nor transmog data.

This commit is contained in:
Houmgaor
2025-11-01 18:14:30 +01:00
parent 3da54fade8
commit 36065ce273
5 changed files with 242 additions and 2 deletions

View File

@@ -182,6 +182,7 @@ func handleMsgSysLogout(s *Session, p mhfpacket.MHFPacket) {
// It handles:
// - Main savedata blob (compressed)
// - User binary data (house, gallery, etc.)
// - Plate data (transmog appearance, storage, equipment sets)
// - Playtime updates
// - RP updates
// - Name corruption prevention
@@ -251,6 +252,17 @@ func saveAllCharacterData(s *Session, rpToAdd int) error {
// Save to database (main savedata + user_binary)
characterSaveData.Save(s)
// Save auxiliary data types
// Note: Plate data saves immediately when client sends save packets,
// so this is primarily a safety net for monitoring and consistency
if err := savePlateDataToDatabase(s); err != nil {
s.logger.Error("Failed to save plate data during logout",
zap.Error(err),
zap.Uint32("charID", s.charID),
)
// Don't return error - continue with logout even if plate save fails
}
saveDuration := time.Since(saveStart)
s.logger.Info("Saved character data successfully",
zap.Uint32("charID", s.charID),