diff --git a/server/channelserver/handlers.go b/server/channelserver/handlers.go index 3d9142c0c..a464d92a6 100644 --- a/server/channelserver/handlers.go +++ b/server/channelserver/handlers.go @@ -220,13 +220,13 @@ func logoutPlayer(s *Session) { if s.FindCourse("NetCafe").ID != 0 || s.FindCourse("N").ID != 0 { rpGained = timePlayed / 900 timePlayed = timePlayed % 900 + s.server.db.Exec("UPDATE characters SET cafe_time=cafe_time+$1 WHERE id=$2", sessionTime, s.charID) } else { rpGained = timePlayed / 1800 timePlayed = timePlayed % 1800 } s.server.db.Exec("UPDATE characters SET time_played = $1 WHERE id = $2", timePlayed, s.charID) - s.server.db.Exec("UPDATE characters SET cafe_time=cafe_time+$1 WHERE id=$2", sessionTime, s.charID) treasureHuntUnregister(s) diff --git a/server/channelserver/handlers_cafe.go b/server/channelserver/handlers_cafe.go index 15b01f510..d91806a93 100644 --- a/server/channelserver/handlers_cafe.go +++ b/server/channelserver/handlers_cafe.go @@ -84,7 +84,9 @@ func handleMsgMhfGetCafeDuration(s *Session, p mhfpacket.MHFPacket) { if err != nil { panic(err) } - cafeTime = uint32(Time_Current_Adjusted().Unix()) - uint32(s.sessionStart) + cafeTime + if s.FindCourse("NetCafe").ID != 0 || s.FindCourse("N").ID != 0 { + cafeTime = uint32(Time_Current_Adjusted().Unix()) - uint32(s.sessionStart) + cafeTime + } bf.WriteUint32(cafeTime) // Total cafe time bf.WriteUint16(0) ps.Uint16(bf, fmt.Sprintf("Resets on %s %d", cafeReset.Month().String(), cafeReset.Day()), true)