mrov-WeatherRegistry icon

WeatherRegistry

A mod for controlling the game's weather system.

Last updated a week ago
Total downloads 1525307
Total rating 25 
Categories Mods Tools Libraries BepInEx Client-side Server-side Weather
Dependency string mrov-WeatherRegistry-0.7.2
Dependants 631 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100
mrov-MrovLib-0.3.6 icon
mrov-MrovLib

Common methods for my mods.

Preferred version: 0.3.6

README

WeatherRegistry

A Lethal Company mod for controlling game's weather system.

Features

  • A system for registering custom weathers and weather effects
  • Weight-based weather selection system
  • Level-based weather filtering system
  • Scrap value/amount multipliers based on active weather
  • Editor support for creating new weathers
  • Weather effect overrides for customizing existing weather visuals

Editor components

WeatherRegistry provides Unity Editor components to help mod developers create custom weather systems:

  • WeatherDefinition: Create new weathers without writing code, offering the same capabilities as code-based weather creation
  • EffectOverride: Design custom weather effect overrides directly in the Unity Editor
  • Visual tools for configuring weather properties, effects, and transitions

Command support

  • Forecast command for viewing probabilites of weathers

Weight-based weather selection system

Contrary to the vanilla algorithm, this mod uses a weight-based system for selecting weathers. You can set the weights based on 3 criteria:

  1. Level weight: the weight of the weather based on specific level
  2. Weather-to-weather weight: the weight of the weather based on the previous weather
  3. Default weight: the base weight of the weather

During the weather selection process, the algorithm will try to use one of the weights in the order listed above.

For developers

Install the mod from Nuget:

<PackageReference Include="mrov.WeatherRegistry" Version="*-*" />

To install the mod in Unity Editor, add WeatherRegistry and MrovLib dlls to your project. To create a new weather, create a new WeatherDefinition object.

License

This project is licensed under GNU Lesser General Public License v3.0.

Credits

Thank you to everyone who contributed to this project, reported bugs and suggestions! Special thanks to:

  • Generic and s1ckboy for helping me test editor addons and providing feedback
  • XuXiaolan for helping me test the mod on various occasions
  • Beanie, Monty, Kenji, Autumnis for helping me playtest the mod a lot of times
  • Zigzag for sending me multiple detailed bug reports

Code used in this project is based on the following works: