Events.OnInitSeasons.Add(function(_season)
    local function isWinterMonth(m)
        return m == 10 or m == 11 or m == 0 or m == 1 or m == 2
    end

    local function apply()
        if not getGameTime then return end
        local gt = getGameTime()
        if not gt then return end
        local month = gt:getMonth()
        if isWinterMonth(month) then
            _season:init(38, 27, -17, 10, _season:getSeasonLag(), _season:getHighNoon(), _season:getSeedA(), _season:getSeedB(), _season:getSeedC())
        else
            _season:init(38, 25, 0, 7, _season:getSeasonLag(), _season:getHighNoon(), _season:getSeedA(), _season:getSeedB(), _season:getSeedC())
        end
    end

    apply()
    Events.EveryDays.Add(apply)
end)
