label weather_sound:
    if game.weather == "blizzard":
        play weather "sounds/blizzard.ogg" fadeout 0.5 fadein 0.5 if_changed
    elif game.weather == "storm":
        play weather "sounds/storm.ogg" fadeout 0.5 fadein 0.5 if_changed
    elif game.weather == "rain":
        play weather "sounds/storm.ogg" fadeout 0.5 fadein 0.5 if_changed # TODO: Rain sound (without thunder)
    else:
        stop weather fadeout 0.5
    return

transform cloud_move:
    animation

    xpos 520
    choice:
        ypos 150
    choice:
        ypos 160
    choice:
        ypos 170
    choice:
        ypos 190
    choice:
        ypos 200

    linear 15.0 xpos 237
    pause 7
    repeat

image weather clear = ConditionSwitch( # final
    "game.daytime", "images/rooms/main_room/weather/sky.webp",
    "game.moon", "images/rooms/main_room/weather/night_sky_moon.webp",
    "True", "images/rooms/main_room/weather/night_sky.webp",
    )

image weather overcast = ConditionSwitch( # final
    "game.daytime", "images/rooms/main_room/weather/sky_overcast.webp",
    "game.moon", "images/rooms/main_room/weather/night_sky_moon_overcast.webp",
    "True", "images/rooms/main_room/weather/night_sky_overcast.webp",
    )

transform cloud_move:
    subpixel True
    choice:
        yoffset 0
    choice:
        yoffset 15
    choice:
        yoffset 30
    xoffset -120
    choice:
        linear 12 xoffset 100
    choice:
        linear 15 xoffset 100
    choice:
        linear 18 xoffset 100
    repeat

transform weather_cloudy_clouds(tim):
    # tim is either "day" or "night"
    xysize (155, 230)

    contains:
        animation
        pos (40, 40)
        pause 10
        "images/rooms/main_room/weather/"+tim+"_cloud_01.webp"
        cloud_move

    contains:
        animation
        pos (60, 60)
        pause 5
        "images/rooms/main_room/weather/"+tim+"_cloud_02.webp"
        cloud_move

    contains:
        animation
        pos (80, 80)
        "images/rooms/main_room/weather/"+tim+"_cloud_03.webp"
        cloud_move

image weather_cloudy_clouds = ConditionSwitch(
    "game.daytime", weather_cloudy_clouds("day"),
    "True", weather_cloudy_clouds("night"),
)

image weather cloudy = Fixed("weather clear", "weather_cloudy_clouds", fit_first=True) # final

image weather_rain_fx:
    animation
    "images/rooms/main_room/weather/rain_01.webp"
    pause.1
    "images/rooms/main_room/weather/rain_02.webp"
    pause.1
    "images/rooms/main_room/weather/rain_03.webp"
    pause.1
    repeat

image weather rain = Fixed("weather overcast", "weather_rain_fx", fit_first=True) # final

image weather_snow_fx:
    animation
    "images/rooms/main_room/weather/snow_01.webp"
    pause.07
    "images/rooms/main_room/weather/snow_02.webp"
    pause.07
    "images/rooms/main_room/weather/snow_03.webp"
    pause.07
    "images/rooms/main_room/weather/snow_04.webp"
    pause.07
    "images/rooms/main_room/weather/snow_05.webp"
    pause.07
    "images/rooms/main_room/weather/snow_06.webp"
    pause.07
    "images/rooms/main_room/weather/snow_07.webp"
    pause.07
    "images/rooms/main_room/weather/snow_08.webp"
    pause.07
    "images/rooms/main_room/weather/snow_09.webp"
    pause.07
    "images/rooms/main_room/weather/snow_10.webp"
    pause.07
    repeat

image weather snow = Fixed("weather overcast", "weather_snow_fx", fit_first=True) # final

image weather_blizzard_fx:
    animation
    "images/rooms/main_room/weather/blizzard_01.webp"
    pause.05
    "images/rooms/main_room/weather/blizzard_02.webp"
    pause.05
    "images/rooms/main_room/weather/blizzard_03.webp"
    pause.05
    "images/rooms/main_room/weather/blizzard_04.webp"
    pause.05
    "images/rooms/main_room/weather/blizzard_05.webp"
    pause.05
    "images/rooms/main_room/weather/blizzard_06.webp"
    pause.05
    "images/rooms/main_room/weather/blizzard_07.webp"
    pause.05
    "images/rooms/main_room/weather/blizzard_08.webp"
    pause.05
    "images/rooms/main_room/weather/blizzard_09.webp"
    pause.05
    "images/rooms/main_room/weather/blizzard_10.webp"
    pause.05
    repeat

image weather blizzard = Fixed("weather overcast", "weather_blizzard_fx", fit_first=True) # final

image weather_storm_fx:
    animation

    contains:
        animation
        pause 20
        Null()
        pause.1
        "images/rooms/main_room/weather/lightning_02.webp"
        pause.1
        "images/rooms/main_room/weather/lightning_03.webp"
        pause.1
        "images/rooms/main_room/weather/lightning_04.webp"
        pause.1
        Null()
        pause.1
        "images/rooms/main_room/weather/lightning_06.webp"
        pause.1
        Null()
        pause.1
        "images/rooms/main_room/weather/lightning_06.webp"
        pause.1
        Null()
        pause 20
        repeat

    contains:
        "weather_rain_fx"

image weather storm = Fixed("weather overcast", "weather_storm_fx", fit_first=True) # final