meta data for this page
Weather system in Winter Resort Simulator 2
This guide is an introduction to the weather system in Winter Resort Simulator.
It is divided into the following sections:
1. General information
Every map/savegame has its custom/specific weather information which is saved in the environment
term of the savegame.
It consists mainly of the two parts followingSituationList
and weatherSituations
.
followingSituationList
is like the weather forecast for the next days. You can have a look at it ingame in the ESC menu of the savgame.
weatherSituations
consists the data of every single weather situation. If you want to know which weather situations are available in the savegame you are currently playing you can use
/getWeatherSituations
as ingame text box command. Have look at this page to learn more about the commands for the weather system.
This tutorial shows you how to change the upcoming weather, how to change existing weather situations and how to add new weather situations to the savegame.
Open your savegame folder at Documents/My Games/WinterResortSimulator2/savegames
and select the .lua
file from the savegame you want to change something.
The best way to run the “.lua” file is with a text editor like “Notepad ++”.
Important: Please always create a backup of your savegame before you start editing it. Otherwise you are at the risk of losing the savegame in case the changes do not work as intended.
2. Change the upcoming weather
Use CTRL + F
to search for the term followingSituationList
.
Now you should see the term followingSituationList
.
{ situation = "snowy1", duration = 105862, },
Every entry in this list consists of situation
and duration
.
situation
is the name of the weather situation.
duration
is the time in seconds this weather situation will last.
To change the upcoming weather scenarios change the weather situation to the desired situation (always edit the text between the double quotes “
).
{ situation = "cloudy2", duration = 105862, },
You can choose between following situations:
- cloudless
- cloudy1
- cloudy2
- snowy1
- snowy2
These five weather situations are the standard ones (Please keep in mind that they may have other names, e.g. sunny instead of cloudless).
You can use other weather situations if they are available in the your savegame. To find out which weather situations are available use the text box command mentioned above or have a look at weatherSituations
in your .lua
file.
3. Weather situations
Use CTRL + F
to search for the term weatherSituations
There you will find all the weather situations of this savegame with all their data.
The table of a weather situation (here cloudless
) looks like that:
cloudless = { durationMin = 28800, durationMax = 86400, updateInterval = 900, avalancheRisk = 0, guestShare = 1, icon = 1, dailySnowfall = 0, dailyThaw = 0.5, dailyHardenDay = 0, dailyHardenNight = 4, snowProductionCoeff = 1, weatherData = { { probability = 0.95, weather = 0, }, { probability = 0.05, weather = 1, }, }, followingSituations = { { probability = 0.3, situation = "cloudless", }, { probability = 0.2, situation = "cloudy1", }, { probability = 0.2, situation = "cloudy2", }, { probability = 0.2, situation = "snowy1", }, { probability = 0.1, situation = "snowy2", }, }, },
These five weather situations are the standard ones (Please keep in mind that they may have other names, e.g. sunny instead of cloudless).
- cloudless
- cloudy1
- cloudy2
- snowy1
- snowy2
cloudless
is the name of the weather situation in this example. This name can be freely chosen. Please keep in mind that changing an existing name also necessitates changes at the followingSituations
of this and the other weatherSituations
.
The name is followed by a part of various variables.
durationMin
and durationMax
are the minimal/maximal time in seconds this weather situation lasts. The actual duration is randomly selected in this range.
guestShare
affects the number of the unvisible (eco system) guests.
dailySnowfall
is the amount of snow in metres that falls within one ingame day, depending on the snow info layer level.
dailyThaw
is the amount of snow in metres that thaws within one ingame day, depending on the snow info layer level.
dailyHardenDay
and dailyHardenNight
affect how fast the slopes harden during day/night (the higher the faster).
snowProductionCoeff
influences the amount of possible snow production (0.0 = no snow production; 1.0 = regular snow production) (available since WRS 2 main game update on December 1, 2022).
avalancheRisk
indicates the risk of avalanches when this weather situation is active. (There is currently no avalanche system in Winter Resort Simulator 2, influences only the text on the infoscreens)
icon
selects the icon displayed in the weather forecast for this weather situation.
icon = 10
→ Storm/Thunderstormicon = 9
→ Rainicon = 5
→ Heavy Snowicon = 4
→ Light Snowicon = 6
→ Windyicon = 11
→ Foggyicon = 12
→ Heavily cloudyicon = 3
→ Heavily cloudyicon = 8
→ Cloudyicon = 2
→ Partly cloudyicon = 7
→ Clear Skyicon = 1
→ Sunnyicon = 0
→ Unknown
This order in the list was intentionally chosen because it represents the precedence of the icons (from top to bottom). That means for example that Storm/Thunderstorm overwrites all the other icons (only the icon Storm/Thunderstorm will be shown in the forecast if there is thunderstorm and heavy snowfall on the same ingame day).
The next part is weatherData
. Here you can set/change the type of weather which will be shown when the respective weatherSituation is active.
The following eleven weather types/patterns are available in Winter Resort Simulator 2.
weather = 0
→ Clear Skyweather = 1
→ Cloudy 1weather = 2
→ Cloudy 2weather = 3
→ Cloudy 3weather = 4
→ Cloudy 4weather = 5
→ Foggyweather = 6
→ Light Rainweather = 7
→ Heavy Rainweather = 8
→ Light Snowweather = 9
→ Heavy Snowweather =10
→ Storm
weatherData = { { probability = 0.95, weather = 0, }, { probability = 0.05, weather = 1, }, },
Every entry in this list consists of probability
and weather
.
At weather
you select one of weather types from the list above. Just set the number of chosen weather. If you want to change the type of weather just replace the number at weather = *
.
probability
sets the probability that this weather type will be shown when this weather situation is active. (The sum of all probabilities at weather data of a weather situation should be 1 = 100%, like in the example 0.95 + 0.05 = 1)
The last part is the list of followingSituations
. The weather situations in this list can follow the active weather situation.
followingSituations = { { probability = 0.3, situation = "cloudless", }, { probability = 0.2, situation = "cloudy1", }, { probability = 0.2, situation = "cloudy2", }, { probability = 0.2, situation = "snowy1", }, { probability = 0.1, situation = "snowy2", }, },
Every entry in this list consists of probability
and situation
.
At situation
you select one weather situation available in the savegame (can also be the one you are editing the followingSituations of).(always edit the text between the double quotes “
)
probability
sets the probability that this weather situation will follow the currently active weather situation. (The sum of all probabilities at followingSituations of a weather situation should be 1 = 100%, like in the example 0.3 + 0.2 + 0.2 + 0.2 + 0.1 = 1)
4. Add a new/further weather situation
First step: Copy the table of an existing weather situation and insert it into the weatherSituations
term of your savegame.
Next step: Set a name for your new weather situation by replacing the name of the copied situation.
foggywinter = { durationMin = 24000, durationMax = 80000, updateInterval = 900, avalancheRisk = 1, guestShare = 0.8, icon = 11, dailySnowfall = 0, dailyThaw = 0.1, dailyHardenDay = 0.25, dailyHardenNight = 1, snowProductionCoeff = 0.9, weatherData = { { probability = 0.90, weather = 5, }, { probability = 0.05, weather = 8, }, { probability = 0.05, weather = 3, }, }, followingSituations = { { probability = 0.5, situation = "cloudless", }, { probability = 0.15, situation = "cloudy1", }, { probability = 0.15, situation = "cloudy2", }, { probability = 0.1, situation = "snowy1", }, { probability = 0.09, situation = "snowy2", }, { probability = 0.01, situation = "foggywinter", }, }, },
For this example the table of the weather situation cloudless
(from above) has been copied. The name cloudless has been replaced by foggywinter as the name of the new weather situation. Also some of the variables have been adapted to the new weather situation. All important information about the different variables can be found above.
Optional step: you can add the new weather situation to the list of followingSituations
of new weather situation as in the example. If you do so you create the possibility that the weather situation will be followed by the same weather situation.
Last step: to ensure that the new weather situation will also occur automatically and randomly, it must be added to the list of followingSituations
of at least one other weather situation.
followingSituations = { { probability = 0.3, situation = "cloudless", }, { probability = 0.2, situation = "cloudy1", }, { probability = 0.1, situation = "cloudy2", }, { probability = 0.2, situation = "snowy1", }, { probability = 0.1, situation = "snowy2", }, { probability = 0.1, situation = "foggywinter", }, },
In this example, foggywinter
has been added to the list of following situations of the weather situation cloudless
.
5. Season weather system
Now we can use the knowledge about the WRS weather system to create a season weather system.
There is no limit on the number of seasons and they do not have to have special names either.
Each season consists of multiple normal weather situations. The names of the weather situations can be chosen freely, however, it is recommended to add the name of the season as supplement, e.g. foggywinter.
First step: Make a list with all seasons and the weather situations that each season should consist of. For example:
- Winter: sunny, cloudy1, cloudy2, snowy1, snowy2, foggy,….
- Summer: sunny, cloudy1, cloudy2, rainy1, rainy2, storm,….
- Spring: sunny, cloudy, foggy, rainy, snowy,…
Next step: Create (add new/adapt existing weather situations) all the necesarry weather situations by using the part above of this tutorial. It is recommended to create one weather situation for each season which is namend like the season. This is going to be the first weather situation after the season change. It does not really matter which weather pattern you choose at weatherData
if you set durationMin
and durationMax
to quite low values.
To continue the example from the list above we would have to create the weather situations winter
, summer
and spring
.
Last step: For the season weather system the most important part of each weather situation is the list of followingSituations
. Every season is like an island and consists of different villages (= weather situations). The list of following situations represents the routes from one village to another one on the same island.
As changing from one season to another one should only be possible manually by using the text box command, we have to ensure that the list of following situations of a weather situation only consists of weather situations from the same season.
To continue the example from above again the list of following situations of the weather situation sunnywinter
should/could look like this:
followingSituations = { { probability = 0.3, situation = "sunnywinter", }, { probability = 0.2, situation = "cloudy1winter", }, { probability = 0.1, situation = "cloudy2winter", }, { probability = 0.2, situation = "snowy1winter", }, { probability = 0.1, situation = "snowy2winter", }, { probability = 0.1, situation = "foggywinter", }, },
To change the season ingame use the text box command
/changeSeason x
and replace x
by the name of the desired season.
Please note: This command is part of the Riedstein DLC. The DLC has to be activated in your savegame.
As the seasons are just weather situations (with specific lists of following situations), the command /changeSeason
does the same as /setWeather
, but in addition the weather forecast will be recalculated on base of the list of followingSituations
of the selected season. /changeSeason
works with any weather situation.