banner
Rating
Voted0

Seasons

0
Mod version:1
Game version:all
The mod has been successfully tested for the absence of viruses
721.46K104.44K

Report mod

  • image
  • image
  • image
modalImage

About This Mod

Four customizable seasons.

Do you feel the influence on fps?


If so, your GPU may work better - try setting the startup option in Steam General Settings in Valheim to -gfx-enable-gfx-jobs -gfx-enable-native-gfx-jobs.

Try installing gfx-enable-native-gfx-jobs. To unlock the GPU power available for play.

This is more useful than editing the boot.config file. At least it's harmless.


Using the RenderLimits mod and setting the Distance Field to 10 or more can cause fps to drop noticeably in wooded areas; the tools included in the mod do not by themselves optimize the situation.


Customizes for different seasons


Environment. Add new weather, change existing weather properties, remove weather.

Random events. Make some events more frequent, remove them altogether, or change the limits of the biome.

Lighting. Controlling the brightness and density of fog by time of day and in the room.

Statistics. Manage a variety of stats and multipliers, including regeneration modifiers, endurance expense, skill level, skill gain speed, and damage modifiers.

Seasonal settings: number of days in a season, length of night, corresponding production and other multipliers.

Merchant's items. Supplementary items aimed at eliminating possible deficiencies of related items (the price may be high, but he is an entrepreneur, after all).


Setting the mode.


General settings for this mode are done through bepinex.


Custom Settings


Special season settings are made by creating/modifying JSON files.

The Mod creates the 'shudnal.Seasons' directory in the bepinex/config folder. It stores the cache, default settings, and user settings.


Default settings.


Each time the mod starts, it creates a 'Default settings' folder in the config folder. This folder contains files that have default values applied to them.

The Mod creates a "Default Settings" folder each time the world is loaded. Therefore, after downloading the mode, you need to start the world at least once.


Make changes.


To start making changes, copy files from the Defaults folder to the ˶BepInExconfig.˶ folder for seasonal settings or ˶BepInExconfig.˶ folder for repainting settings that will be overwritten the next time you enter the world.


Recolor Textures


The mod does not have built-in textures, but the textures are created the first time the mod is run.

If you don't like the default settings, you can change the cache settings to your liking.

Cache settings are synchronized with the server when you log in to the game.


Textures and rules for applying them to objects are stored in ㊦BepInExcacheshudnal.Seasons.

By default, the cache is stored as a human-readable binary file; it can also be stored as a JSON or PNG file.


The cache creation rules are stored in the 'Cache settings' folder in the config folder.

The list of objects is formed from the list of prefabs, clusters and locations after ZoneSystem.Start. The textures of the objects are procedurally generated, so if game-specific assets are loaded at this point, they will be recolored in the same way as the game's default assets.


You can replace the generated textures with your own.


The basic idea of this mode is to change only the vanilla color without changing other parts of the object's appearance.


Recolor Settings


Seasonal Settings


The basic seasonal settings are contained in JSON files: Spring.json, Summer.json, Fall.json and Winter.json. The default configuration files are located in the 'Default settings' folder; the mod creates a 'Default settings' folder each time the world is loaded. Therefore, after installing the fashion, you need to run the world at least once.


To start making custom changes, copy the corresponding files from the Defaults folder to the parent settings folder '\BepInExconfig\shudnal.Seasons'. After modifying the file, the line "[Info : Seasons] Settings updated: Season_Name" will be added to the bepinex console and the LogOutput.log file. bepinex console and LogOutput.log file.


All properties not present in the custom file will have default values in the Default Settings season file. This means that only values changed in a special file can be stored for greater significance.


Configuration description.

daysInSeason (whole number, 10) - length of season (days).

nightLength (integer, 30) is the percentage of the day that falls on the night. The default value is 30, which means that 30% of the day's length is at night. Changing this value immediately affects the position of the sun or moon and the corresponding value.

torchAsFiresource (bool) - makes the torch a source of heat.

torchDurabilityDrain (float) - vanilla drain is 0.0333, the hot torch wears out at a speed x3 to 0.1f.

plantsGrowthMultiplier (float) is a multiplier of the growth rate of plants and selections (consumables).

beehiveProductionMultiplier (float) is a speed multiplier for the production of hives.

FoodDrainMultiplier (float) - multiplier of the leakage rate of food.

staminaDrainMultiplier (float) - affects all actions that consume endurance.

fireplaceDrainMultiplier (float) is a multiplier of the amount of firewood used in fireplaces, stoves and baths.

sapCollectingSpeedMultiplier (float) - a multiplier of the juice harvesting rate (the recovery of the juice level remains the same).

rainProtection (bool) - ensures that construction debris is not affected by the weather.

woodFromTreesMultiplier (float) is a multiplier for the maximum number of pieces of a tree that can fall from a tree or bush.

WindIntensityMultiplier (float) is a multiplier for wind strength and intensity (affecting boats and wind turbines).

restedBuffDurationMultiplier (float) is the multiplier for the remaining buffa time.

RestockProcreationMultiplier (float) is a compound multiplier of a creature's reproduction rate (affecting the likelihood of conception, its speed, distance from a companion, and distance from other creatures).

OverheatIn2WarmClothes (bool) - the effect of a hot state reduces the restoration of stamina and Eitr by 20% when wearing two items of armor with the modifier ResistantVSFrost.

meatFromAnimalsMultiplier (float) is a multiple of the maximum number of times that meat can be dropped from non-insects such as wild boar and deer.

treesRegrowthChance (float) - the probability that after the destruction of the stump there will be seedlings. If there are no seedlings, the tree will not grow. All custom seedlings are supported when configured correctly.



Some explanations and ideas behind the default settings

The default season duration is 10 days, which should be long enough for the season to be effective.

Nights are shorter in summer and longer in winter. At night, the environment looks lighter and there is white snow on the ground.

Autumn and winter can be cold, so it is useful to use a lamp for heating.

Plants do not grow in winter, in autumn they grow slowly, and in spring and summer - quickly.

Bees sleep in winter and do most of their work in summer and fall.

In spring and summer, they don't need a lot of wood, but in autumn and winter, they need a lot of wood to warm up.

Snow falling in winter does not damage buildings.

It is windy in summer and autumn.

Organisms breed more in spring and summer.

In winter, it is difficult to give the body rest.

In summer, two warm clothes simultaneously overheat the body.

Living creatures often gain weight to survive in winter, so there are more fleshy enemies in autumn and winter.


Seasonal environments


There is an unloaded vanilla environment 'Default environments.json' (mostly vanilla weather list) and a biomes environment file 'Default biome environments.json' (distribution between biomes). This file is for informational purposes only. You need it to get an idea of the vanilla weather and later reproduce and customize this weather.


Environments.


The environment structure reflects in-game environment settings. This is useful for changing the properties of the vanilla environment:

m_default (bool) - The default weather in Balheim (the default for "Clear" is true and should remain so).

m_name (string) - Name of the environment.

m_isWet (bool) - Will the exposed characters receive a debaff for wetting.

m_isFreezing (bool) - The character receives a freeze debaff (regardless of the time of day).

m_isFreezingAtNight (bool) - The character receives a freeze debaff (at night).

m_isCold (bool) - Allows environmental characters to receive a cold debaff.

m_isColdAtNight (bool) - Does the environmental character receive a cold debaff (at night).

m_alwaysDark (bool) - if set to true, the environment will darken all colors (for example, vanilla swamp).

m_psystems (string) - names of particle systems separated by commas (e.g. fog, rain, snow effects).

m_ambientLoop (string) - name of the sound clip that will be looped (for example, wind, snow, rain).


Special Properties

m_cloneFrom (string) - what properties of vanilla media to copy to the user media.


Biome environment


The environment structure of the biome reflects the in-game environment settings of the biome. Custom Biome Environment Settings

m_name (string) - Name of the biome environment setting.

m_environments - an array of environments represented by name and weight. A heavier environment means that the weather will be so more frequent.


The weather is chosen from a list of environments based on a pseudorandom value common to all customers.


User Environments.

The file "Custom environments.json" contains default user environments that are added to the list of environments. This is essentially a list of new weather conditions.


The properties of this file are the same as those of Environment, but only the changed ones are displayed.


Basically vanilla weather has seasonal changes.


Specialized music

Music files can be added to the ". ˶BepInExconfig˶shudnal.SeasonsCustom music" folder.


All media tracks that the Unity Engine engine can read will be uploaded to music and made available to the user environment.

For example, the track 'runichills.mp3' will be uploaded as a music track 'runichills'.


To specify a custom music track, create a .json file with the same name as the music track.

For example, a track named 'runichills.mp3' may have a configuration file named 'runichills.json'.


Insert this code into the *.json file you created.

{

 «m_enabled": true,

 «m_volume": 1.0,.

 «m_fadeInTime": 3.0,.

 «m_alwaysFadeout": false,

 «m_loop": true,

 «m_resume": true,

 «m_ambientMusic": true, „m_ambientMusic“: true

}


m_enabled (bool) - includes music.

m_volume (float) is the volume of the track.

m_fadeInTime (float) is the time (in seconds) it takes to incrementally increase the volume of a track since it was started.

m_alwaysFadeout (bool) - a track always has a fading effect, regardless of whether it intersects with another track.

m_loop (bool) - if enabled, the track is played continuously, if disabled, then only once with a random start interval.

m_resume (bool) - resumes playback of a track from the place where it stopped.

m_ambientMusic (bool) - If set to true, the track will be played in a loop if the "Continuous Music" option is enabled in the game settings.


The music track and json configuration file must be accessible to all clients, either through a modpack or manually. Otherwise, the music won't play.


Special biomes


Special biomes file. "json" contains the default user environment and distribution between seasons.


"Environments set by the 'add' property are added to the m_environments list of the vanilla biome environment; environments set by the 'replace' property are added to the m_environments list of the vanilla biome environment; and environments set by the 'remove' property are completely removed from the biome environment.


Use the Add property to add brand new weather to the biome environment. Use the Modify feature if you have made seasonal changes to the weather (for example, if you change the particle system from "Rain" to "Snow" in the "LightRain" Meadows weather state, the rainy weather will become snowy without changing any other parameters). Use the Delete option to remove some weather conditions.


Some explanations and ideas behind the default settings

Replaced the rain component in the weather with the snow component for the winter version.

Added wet weather for summer marshes.

Added dark weather for summer marshes (slightly different color scheme)

Added combinations of freezing conditions to winter weather variables (freezing at night or getting wet during rain or storm).

Night cold added to summer weather variables

Added sunny summer weather

Rain added in autumn weather

The default weather for spring

Darker options added to winter weather (to indicate cloudy days)


Random events.


Random vanilla events are stored in the file 'Default events.json' by default. They are the name of the event and the distribution of biomes. Weight values can be ignored. This file is intended only to provide information for copying the event name and biome.


Custom events.


The 'Custom events.json' file contains user-defined default events and their distribution between seasons. Other settings are omitted because they don't make sense in the logic of the season.


Event structure.

m_name (string) - an event with that name will be modified.

m_biomes (string) - comma separated list of biomes.

m_weight (integer) - probability of event being initiated, 0 - never, 1 - normal.


This option is only taken into account when selecting a possible event.


Some explanations and ideas behind the default settings

In winter there is a possibility of wolves, as well as mountains and plains.

Skeletons, blobs, trolls, and satlings do not appear in winter, but dragons and wolves are more likely to attack.

In autumn, the number of draugs, blobs and skeletons increases due to the wet weather.

There are no wolves in the summer, but more sutlings, bats and cackling goblins.

There will be more trolls, mi-ty and gray dwarves in spring.


This will make the raid as a whole more balanced and exciting.


Custom lighting.


The 'custom lightings.json' file contains the default user lighting settings and their distribution between seasons.


It sets the brightness and density of fog for morning, day, evening, night, and enclosed spaces. 'luminanceMultiplier' controls the brightness component of the ambient lighting HSL color model. 'fogDensityMultiplier' controls how much light is blocked by 'air'.


You can check it out yourself to see what it really looks like.


"lghtIntensityDayMultiplier" and "lghtIntensityNightMultiplier" control the amount of light from the sun or moon: the smaller the luminanceMultiplier, the more light tIntensityNightMultiplier, if set higher, the night becomes more realistic, and the steppe, lit by the moon, looks magnificent.


Some explanations and ideas behind the default settings

The default is spring.

Summer nights are lighter.

It's darker in autumn.

In winter, the nights are darker, but this is compensated by the large amount of moonlight and the generally white environment that reflects the light.


Special statistics


The 'Custom stats.json' file contains the default user statistics settings and the distribution between seasons.


To see the actual effect, a tooltip for the current statistics is displayed in the almanac. After changing the background statistics settings, reopen the almanac. The structure of the statistics file reflects the vanilla effect of the SE_Stats state with the following properties

m_tickInterval (float) is the time (in seconds) that m_healthPerTick takes damage or heals.

m_healthPerTickMinHealthPercentage (float) is the percentage of maximum HP affected by m_healthPerTick healing/damage.

m_healthPerTick (float) - Actual HP, healed if m_healthPerTick > 0, damaged otherwise.

m_healthHitType (string) - damage type m_healthPerTick.

m_staminaDrainPerSec (float) is the power consumption per second.

m_runStaminaDrainModifier (float) - the endurance consumption decreases by 1.0 for 100%, 0.1 for 10% and -0.5 for -50%.

m_jumpStaminaUseModifier (float) - Reduces the power consumption by 1.0 for 100%, 0.1 for 10% and -0.5 for -50%.

m_healthRegenMultiplier (float) - +20% for 1.2, -20% for 0.8.

m_staminaRegenMultiplier (float) - +20% regeneration at 1.2, -20% regeneration at 0.8.

m_eitrRegenMultiplier (float) - +20% regeneration at 1.2, -20% regeneration at 0.8.

m_raiseSkills (string, float) - Specifies a pair of skills and their multiplier.

m_skillLevels (string, float) - A pair of common skills and their additional value: +15 to jump skills at 15.0.

m_modifyAttackSkills (string, float) - Sets a pair of weapon skills and their additional value: +15 to sword skills at 15.0.

m_damageModifiers (string, string) - Sets the damage type and the next pair of damage modifiers.

m_noiseModifier (float) - 0.2 increases generated noise by 20% and -0.2 reduces it by 20%.

m_stealthModifier (float) - 0.2 increases the invisibility effect by 20% and -0.2 reduces the invisibility effect by 20%.

m_speedModifier (float) - 0.05 increases movement speed by 5%, -0.05 - slows by 5%.

m_maxMaxFallSpeed (float) - 5 is the default value for Feather SlowFall.

m_fallDamageModifier (float) - the damage modifier from falling, 0.7 reduces the damage from falling by 30%.


Type of damage

Tupoy

Oblique stroke

Puncture

Kotleta

Crane wound

Fire

Frost

Lightning

Poison

Spirit

Physical

Elemental


Damage modifier

Normal

Resistance

Weak

Immunity

Ignore

Very Strong

Very weak


Some explanations and ideas behind the default settings

Spring is slower in terms of resistance to poison and the speed of recovery.

It is easier to walk in spring and summer and provides more skills.

In autumn and winter, the focus is on resource harvesting and fishing.

In summer, they move faster, spend less stamina, make less noise and hide more easily.

In summer, the weather is better and energy recovers faster.

Pessimistic thinking in the fall speeds up the restoration of endurance.

Fresh air in winter speeds up the restoration of endurance.

Winter makes you more resistant to fire.

The noise is louder in the snow and they may hide less.

Movement speed is reduced by 5% on snow.

Fall damage is reduced in snow.


Merchant's Special Items


The file 'Custom trader items.json' contains special merchant items by default and the distribution of items between seasons.


Items can be customized for each season and for each merchant. You can use custom merchant names.


The structure of the subjects is the same as in TradersExtended, so the list of TradersExtended subjects can be routed.


Trader name.


The same salesperson may use different names. They are not case sensitive.

Original prefab name (internal identifier - haldor 'Haldor')

Non-localized name (value m_name, '$npc_haldor' for haldor)

Localized name (the result of translating a non-localized name into the current language. In English, '$npc_haldor' becomes 'Haldor')

Vanilla Haldor and Hildir can be used as 'haldor' and 'hildir'.


Merchant items


The structure of the merchant's items reflects the description of in-game items.

prefab (string) is the name of the prefab of the game object. It contains the current list of subjects. Incorrect prefab names are ignored.

stack (int) - the number of items sold.

price (int) - the stack price.

requiredGlobalKey (string) is a global key for tracking progress in the game world. You can see the current list of keys here.


Some explanations and ideas behind the default settings

The Hildir hat is just an example of a file structure. It's a seasonal hat, so why not?

The Khaldir stock meat in winter and sell it in spring.

Haldor has more meat than the autumn harvest.

Haldor has things that can't be found in winter.

Haldor keep seeds in winter because they know they will need them in spring.


Seasonal disorganization.


Three new prefabs have emerged:

Meadow flowers (red and blue)

Black Forest Flowers (Pink)

Swamp Flower (White)


By default, this prefab is active only in spring and adds the necessary color.


The 'Custom clutter settings.json' file contains the clutter distribution settings between seasons.


You can add your own clutter using other modes, and manage seasonal conditions through this file.


Seasonal Clutter Settings

clutterName - string is the name of the clutter specified in ClutterSystem.m_clutter.

spring - bool - Activate whether in spring.

summer - bool - Activate in summer.

autumn - bool - activate whether autumn.

winter - bool - activate in winter.


Special Textures


Custom textures can be placed in the 'BepInExconfig.shudnal.SeasonsCustom textures' folder.


The mod comes with several predefined textures by default. These patterns are placed in the 'Custom texturesDefaults' folder. The default textures are overwritten when the mod version changes.


If you want to make changes to the default textures, copy the required folders into the ∕BepInExconfig∕SeasonsCustom textures folder.


The folder in the Textures folder must have the same name as the texture name. If different objects use the same texture, it is replaced in all objects.


To find out the texture name, set the global configuration parameter 'Test - Cache format' to 'SaveBothLoadBinary' and rebuild the cache (run the console command or remove the old one in the ⾊). Next, you create a new cache folder that contains cache.json, cache.bin, and the textures folder. cache.json contains all the objects, materials, and colors that you want to change.


In this file you will find the prefab and texture numbers corresponding to the folders in the 'texture' directory.


In this texture directory you will find a file whose name ends with ".orig.png". This is the name of the texture you want to change.


Texture numbers can be generated differently for each cache assembly.


The files in the textures folder correspond to seasons and variations. The name is Season_Number.png. Textures should be named accordingly.


Example:


You want to change the winter texture of the beech tree.


Locate the current cache revision folder. It is located in the cacheshudnal.Seasons folder in BepInExcache and is called the Cache Revision Number. To find the current revision number of the cache, enable logging and locate it in the log file. Alternatively, delete all other folders and rebuild the cache.


The last folder will be the current cache folder. In our example, this is the 2054891382 folder. Get in there.


Open the cache.json file and look for the name of the Beech prefab - you can find it in the Jotunn prefab list or by using RuntimeUnityEditor.


In this case, there are three Beech prefabs in the cache.json file.

Beech_Sapling - a small boarding version of the beech.

Beech_small1 is a smaller option.

Beech_small2 - a small option.

Beech1 is a real big meadow tree, the current target for changing the texture.


Beech_Sapling, Beech_small1 and Beech_small2 have the same texture and are numbered 112892 (numbers may be different).


Beech1 has the material beech_leaf and its _MainTex (basic texture) number 171264. It also has cortex material and its _MossTex. This should be ignored.


So take the number 171264 and go to 'beech_leaf.Seasons'. There are several season files, the properties.json file, and the beech_leaf.orig.png file. The last file is the original texture used in the vanilla game. The file name for the original texture is {texture name}orig.png, so the texture name is beech_leaf.


Next, create a 'beech_leaf' folder named 'beech_leaf'.

In this example, move the Winter_1.png file from the ∕BepInExcache∕Seasons∕Textures∕171264 folder to the ∕BepInExconfig∕Seasons∕Custom textures∕beech_leaf folder.


You can now edit this file as you wish. It will be loaded into the game as the winter version number 1 in the Beech1 prefab.

Any changes you make to this file are applied immediately.


Only the textures visible in the cache.json file will be changed.


Custom biomes settings.


The file 'Custom biome settings.json' contains seasonal override settings for the biome relief color and the mini-map winter color.

Changes to this file will not take effect until you change the current season. You can easily change the season override in the Season Override general settings.


Season background color

biome - String is the name of the biome. It is not case sensitive. Custom biomes are also supported (you can specify a biome name if you add it correctly, as in Expand World Data, or specify a numeric biome identifier).

spring is a string of land used by this biome in the spring.

summer - string - the land used in summer for this biome.

autumn - string - the land used by this biome in the fall.

winter - string - the land in the biome that should be used by this biome in winter.

Colors of winter


Set pair 'biome' to 'color hex code'.


The vanilla winter color was created by interpolating the original biome color into "#FAFAFFFF" while retaining the original alpha channel. #FAFAFFFF is also called Ghost White and is not just white, but a slightly snowy hue.


Some explanations and ideas behind the default settings

Ashes, Mountains and the Deep North do not change the terrain.

In winter, all biomes become mountainous and snowy.

The meadows change their color in autumn to smooth and yellowish.

Black forests change their color in autumn to swamp forests, creating the effect of wet earth.

In spring, the plains change color to meadow and create the effect of a flowering flower field.


General Settings


The mini-map is repainted using seasonal color settings.

Seasonal items will be active in the respective season.

You will not die from the "Frost" debate unless you are in the mountains or in the deep north; your HP will remain at 1.

Seasonal stats are only valid outdoors. In dungeons they do not give any advantages.

You can hide the current season's buffs, and you can set the timer to the current day or to the time remaining until the next season.

Seasons change on the morning of the first day.

The seasons change with a slight attenuation effect.

Seasons change instantly and can cancel the current season.

You can set up localized strings for season titles and tooltips.

Due to seasonal changes in honey production and plant growth, there is an adjustment to display estimates of plant and hive production (as in BetterUI).

Seasons can be adjusted to change only during sleep.

In winter, ice floes appear at sea after a certain number of days.

In winter, the water freezes after a certain number of days.

When the water freezes, the boat can be pushed out of the water.

Some lawn materials can be hidden for winter.


Special World Settings for Real-Time Seasons


The file 'Custom world settings.json' contains an example of populating special world settings.


You can set the start time in UTC and the duration of the day in seconds. The world name must match the world name configured in the settings to be valid.


If the world is configured, the season is calculated from the configured date time using the current UTC time, the configured length of the day in seconds, and the number of days in the season is calculated from the season setting.


Thus, there is no way to change the season during sleep. The season changes when the time comes.


For example.

The start time is set to 0:00 on Monday.

Set the daily duration to 86400 seconds (1 day).

Number of days per season = 7


There will now be a week-long season in your world starting on Monday.


Change seasonal buffer icons


You can place the file in the settings folder to replace the current buffa icon (requires a reboot):

season_fall.png

season_spring.png

season_summer.png

season_winter.png


Global key for seasons


You can enable server-wide global key setting for seasons. It is disabled by default. The key can be configured if necessary.

Default Season Key

season_autumn

season_spring

season_summer

winter_season


Installation (manual)

Extract Seasons.dll into the BepInExPlugins folder.


Configuration.

The best way to adjust your settings is to use Configuration Manager.

Or an official BepInEx configuration manager.

You can use any text editor to edit JSON. Or edit it as a tablehttps://jsoneditoronline.org/ 

Similar Mods/Addons

Game Version *

all (Seasons.zip-2654-1-3-3-1722000329.zip)