#include "field_system_rtc_weather.h"

#include "global.h"

#include "constants/weather.h"

#include "gf_rtc.h"
#include "map_header.h"
#include "save_system_info.h"
#include "script.h"
#include "unk_0204B0A0.h"

static const u8 sWeatherTable[] = {
    WEATHER_RAIN, WEATHER_SUNNY, WEATHER_SNOW, WEATHER_LIGHT_SNOW, WEATHER_LIGHT_SNOW, // Jan 1
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 2
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 3
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 4
    WEATHER_RAIN,
    WEATHER_CLOUDY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 5
    WEATHER_THUNDERSTORM,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 6
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 7
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 8
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 9
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 10
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 11
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_LIGHT_SNOW,
    WEATHER_LIGHT_SNOW,
    WEATHER_DIAMOND_DUST, // Jan 12
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 13
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 14
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 15
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 16
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 17
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 18
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 19
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 20
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 21
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 22
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 23
    WEATHER_RAIN,
    WEATHER_RAIN,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 24
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 25
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 26
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 27
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 28
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 29
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 30
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jan 31
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 1
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 2
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 3
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 4
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 5
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 6
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 7
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 8
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 9
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 10
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 11
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 12
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 13
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 14
    WEATHER_RAIN,
    WEATHER_CLOUDY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 15
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 16
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 17
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 18
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 19
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 20
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 21
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 22
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 23
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 24
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 25
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 26
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 27
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Feb 28
    WEATHER_HEAVY_RAIN,
    WEATHER_CLOUDY,
    WEATHER_BLIZZARD,
    WEATHER_LIGHT_SNOW,
    WEATHER_DIAMOND_DUST, // Feb 29
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 1
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 2
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 3
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 4
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 5
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 6
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 7
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 8
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 9
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 10
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 11
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 12
    WEATHER_RAIN,
    WEATHER_RAIN,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 13
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 14
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_DIAMOND_DUST, // Mar 15
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 16
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 17
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 18
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 19
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 20
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 21
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 22
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 23
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 24
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 25
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 26
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 27
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 28
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 29
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Mar 30
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_DIAMOND_DUST, // Mar 31
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 1
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 2
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 3
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 4
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 5
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 6
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 7
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 8
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 9
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 10
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 11
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 12
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 13
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 14
    WEATHER_RAIN,
    WEATHER_CLOUDY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 15
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 16
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 17
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 18
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 19
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 20
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 21
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_DIAMOND_DUST, // Apr 22
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 23
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 24
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 25
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 26
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 27
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 28
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 29
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Apr 30
    WEATHER_CLOUDY,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_DIAMOND_DUST, // May 1
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 2
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 3
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 4
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 5
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 6
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 7
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 8
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 9
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 10
    WEATHER_RAIN,
    WEATHER_RAIN,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 11
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 12
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 13
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 14
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 15
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 16
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 17
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 18
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 19
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 20
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 21
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 22
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 23
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 24
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 25
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 26
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 27
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 28
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 29
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 30
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // May 31
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 1
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 2
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 3
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 4
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 5
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 6
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 7
    WEATHER_THUNDERSTORM,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 8
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 9
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 10
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 11
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 12
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 13
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 14
    WEATHER_RAIN,
    WEATHER_CLOUDY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 15
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 16
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 17
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 18
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 19
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 20
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 21
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 22
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 23
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 24
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 25
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 26
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 27
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 28
    WEATHER_THUNDERSTORM,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 29
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jun 30
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 1
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 2
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 3
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 4
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 5
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 6
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 7
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 8
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 9
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 10
    WEATHER_RAIN,
    WEATHER_RAIN,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 11
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 12
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 13
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 14
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 15
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 16
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 17
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 18
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 19
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 20
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 21
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 22
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 23
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 24
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 25
    WEATHER_RAIN,
    WEATHER_CLOUDY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 26
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 27
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 28
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 29
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 30
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Jul 31
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 1
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 2
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 3
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 4
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 5
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 6
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 7
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 8
    WEATHER_RAIN,
    WEATHER_RAIN,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 9
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 10
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 11
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 12
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 13
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 14
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 15
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 16
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 17
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 18
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 19
    WEATHER_RAIN,
    WEATHER_RAIN,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 20
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 21
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 22
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 23
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 24
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 25
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 26
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 27
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 28
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 29
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 30
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Aug 31
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 1
    WEATHER_THUNDERSTORM,
    WEATHER_CLOUDY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_DIAMOND_DUST, // Sep 2
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 3
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 4
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 5
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 6
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 7
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 8
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 9
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 10
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_BLIZZARD,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 11
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 12
    WEATHER_HEAVY_RAIN,
    WEATHER_CLOUDY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 13
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 14
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 15
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 16
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 17
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 18
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 19
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_DIAMOND_DUST, // Sep 20
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 21
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 22
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 23
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 24
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 25
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 26
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 27
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 28
    WEATHER_THUNDERSTORM,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 29
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Sep 30
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 1
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 2
    WEATHER_RAIN,
    WEATHER_CLOUDY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 3
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_BLIZZARD,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 4
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 5
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 6
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 7
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 8
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 9
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 10
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 11
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 12
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 13
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_BLIZZARD,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 14
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 15
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 16
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 17
    WEATHER_RAIN,
    WEATHER_RAIN,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 18
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 19
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 20
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 21
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 22
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 23
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 24
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 25
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 26
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 27
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 28
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_BLIZZARD,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 29
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_DIAMOND_DUST, // Oct 30
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Oct 31
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 1
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 2
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 3
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 4
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 5
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 6
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 7
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 8
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 9
    WEATHER_RAIN,
    WEATHER_RAIN,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 10
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 11
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 12
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 13
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 14
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 15
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 16
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 17
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 18
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 19
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 20
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 21
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_BLIZZARD,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 22
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 23
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 24
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 25
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 26
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 27
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 28
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 29
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Nov 30
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 1
    WEATHER_RAIN,
    WEATHER_RAIN,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 2
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 3
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 4
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 5
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 6
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 7
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 8
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 9
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 10
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 11
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 12
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 13
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 14
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 15
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 16
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 17
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 18
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 19
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 20
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 21
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 22
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 23
    WEATHER_THUNDERSTORM,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 24
    WEATHER_RAIN,
    WEATHER_CLOUDY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 25
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_BLIZZARD,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 26
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 27
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 28
    WEATHER_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 29
    WEATHER_HEAVY_RAIN,
    WEATHER_SUNNY,
    WEATHER_SNOW,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW, // Dec 30
    WEATHER_THUNDERSTORM,
    WEATHER_RAIN,
    WEATHER_BLIZZARD,
    WEATHER_SNOW,
    WEATHER_LIGHT_SNOW // Dec 31
};

u32 FieldSystem_GetWeather(FieldSystem *fieldSystem, u32 mapId) {
    s32 weatherType = MapHeader_GetWeatherType(mapId);
    if (weatherType < WEATHER_UNKNOWN_24) {
        return weatherType;
    }
    SysInfo_RTC *sysInfoRTC = Save_SysInfo_RTC_Get(fieldSystem->saveData);
    s32 dayOfYear = GF_RTC_GetDayOfYear(&sysInfoRTC->date) - 1;
    GF_ASSERT(dayOfYear >= 0 && dayOfYear < 366);
    if (sysInfoRTC->date.month > 2) {
        u32 year = sysInfoRTC->date.year;
        BOOL isNotLeapYear;
        if ((!(year & 3) && year % 100 != 0) || year % 400 == 0) {
            isNotLeapYear = TRUE;
        } else {
            isNotLeapYear = FALSE;
        }
        if (!isNotLeapYear) {
            dayOfYear++;
        }
    }
    if (sub_0204B33C(fieldSystem)) {
        dayOfYear = 1;
    }
    weatherType -= WEATHER_UNKNOWN_24;
    u32 index = 5 * dayOfYear + weatherType;
    weatherType = sWeatherTable[index];
    return weatherType;
}
