Files
Erupe/server/channelserver/sys_time.go
Houmgaor 2acbb5d03a feat(channelserver): implement monthly guild item claim tracking
Players could never claim monthly guild items because the handler
always returned 0x01 (claimed). Now tracks per-character per-type
(standard/HLC/EXC) claim timestamps in the stamps table, comparing
against the current month boundary to determine claim eligibility.

Adds MonthStart() to gametime, extends StampRepo with
GetMonthlyClaimed/SetMonthlyClaimed, and includes schema migration
31-monthly-items.sql.
2026-02-22 16:46:57 +01:00

19 lines
753 B
Go

package channelserver
import (
"erupe-ce/common/gametime"
"time"
)
// TimeAdjusted, TimeMidnight, TimeWeekStart, TimeWeekNext, and TimeGameAbsolute
// are package-level wrappers around the gametime utility functions, providing
// convenient access to adjusted server time, daily/weekly boundaries, and the
// absolute game timestamp used by the MHF client.
func TimeAdjusted() time.Time { return gametime.Adjusted() }
func TimeMidnight() time.Time { return gametime.Midnight() }
func TimeWeekStart() time.Time { return gametime.WeekStart() }
func TimeWeekNext() time.Time { return gametime.WeekNext() }
func TimeMonthStart() time.Time { return gametime.MonthStart() }
func TimeGameAbsolute() uint32 { return gametime.GameAbsolute() }