ATS-StockAlert is a BepInEx mod for Against the Storm that warns you when your stock of a good drops below its in-game global production limit.
Displays goods that have a production limit set in the Recipes menu, and shows their current/max stock in a compact, movable, hideable HUD anchored to the bottom-right or bottom-left corner.
Stock below production limit that cannot be produced further (after current in-progress productions), are now marked in red.
It can also optionally auto-adjust production limits for all goods you currently have a recipe for, based on the number of people consuming them and an adjustable multiplier.
It can also optionally auto-adjust the Purging Fire production limit in blight posts to the number of existing cysts plus one.
It can also optionally queue a chosen race for a worker slot by Ctrl+clicking a race portrait, so the slot auto-fills the next time it becomes empty and a matching free villager becomes available.
It can also optionally show how much of each insufficient ingredient is currently sitting in non-warehouse buildings in the ingredient selection wheel.
It can also optionally show the embarkation bonus cost range on the top-left and the current cost on the top-right, colored by where it falls in the possible range.
It can also optionally show estimated trade route profit as a percentage compared to selling the raw material inputs at the bottom of the production chain.
It also shows a countdown badge on bottom-left event modifier icons when the modifier has a repeating time-based trigger, such as Friend or Foe.
It also shows alerts when timed orders have 1 minute and 30 seconds remaining.
It also changes the base-game top-left builder counter from available to available/needed, where needed is how many additional builders could immediately work on active construction sites. Deactivated construction sites and sites blocked by missing construction materials are not counted.
When assigning a villager to a building from the builders pool, it also preserves the game's normal builder choice formula but deprioritizes builders who are currently carrying goods. The base game scores eligible builders by break status plus distance to the target building, with lower scores picked first. Stock Alert adds a penalty to builders carrying goods and a small tie-breaker bonus for idle non-carrying builders, so a nearby builder hauling materials is less likely to drop their delivery when another suitable free builder is available.
Hovering an assigned worker slot or a race portrait in the worker selection wheel highlights the villager who is assigned or would be assigned with a bright ring at their feet and a vertical yellow column above them.
Holding Shift while the vanilla Alt worker overlay is open filters the overlay to the race currently selected at the cursor.
Clicking Hearth decoration upgrade requirements selects a matching decoration for construction: Park for Comfort, Garden for Aesthetics, and Marble Fountain for Harmony.
When the Grazer/Forest Eater event is active, it can show the Grazer's currently chosen path with an arrow marking the next direction.
Hovering the bottom blightrot icon shows unlocked buildings that you currently have zero of, with building icons, excluding decorations, houses, warehouses, hearths, hydrants, roads, gathering posts, geysers, farm fields, mines, and similar source-only buildings.
It can also show an overlay for finding items by Ctrl+clicking an item's icon. The overlay appears above buildings, events, and resource nodes that contain or provide that item.
It can also optionally show a persistent alert when you have idle builders, and optionally pause with an alert 3 seconds before a season ends so you can check trade routes.
It can also optionally highlight recipe buildings in the world when they have an enabled recipe for goods that are currently under threshold:
Building shortage indicators also show the matching shortage product icons next to the worker icon, and also mark farms when fields in range need seasonal work. Mines are marked only for the active recipe matching the ore currently under the mine, and water-collecting buildings are marked when their current water type has free tank capacity.
When a good is marked red because it cannot continue production after current in-progress productions, these building indicators can also extend to gathering/source posts that can provide its missing ingredients.
Warehouses with assigned haulers show a small hauler indicator with the current hauler count.
Integrated Builder Icon mod made by ~DGH into my mod with some changes:
Newly triggered shortages go at the top of the list.
Options for HUD anchor, movable, hideable, building indicators, builder status icons, idle builders alert, timed orders alert, queued worker assignments, Grazer direction overlay, ingredient wheel building stock, embarkation cost ranges, trade route profit, season ending trade routes alert, Purging Fire auto-adjust, and production limit multiplier are available in the F8 settings window.
The timed orders alert is enabled by default and can be disabled in the F8 settings window.
The builder demand counter is enabled by default and is configured only in the BepInEx config file, not the F8 settings window. To disable it, edit BepInEx/config/StockAlert.cfg and set:
[HUD]
ShowBuilderDemandCounter = false
Some other default-on HUD helpers are also configured only in BepInEx/config/StockAlert.cfg, not the F8 settings window. To disable them, set:
[HUD]
ShowWorkerHoverHighlight = false
FilterWorkerOverlayByRace = false
EnableHearthDecorationRequirementShortcuts = false
ShowZeroBuildingBlueprintHover = false
If a good has no production limit, it is ignored by the mod.
F8 to open the Stock Alert settings window.F8 window to make the mod set eligible global production limits for you.F8 window to make blight posts keep that limit at existing cysts + 1.F8 window to spot where extra staffing would help with current shortages.F8 window to distinguish idle free builders from busy free builders and mark matching race portraits in the building worker assignment wheel.F8 window, then Ctrl+click a race portrait to reserve that race for a worker slot until the next vacancy.F8 window to show its chosen path during the Forest Eater event.F8 window to show how much of each insufficient ingredient is currently sitting in non-warehouse buildings.F8 window to show the possible cost range and current cost on embarkation bonuses.F8 window to show estimated percentage profit on trade route offers.consumers x multiplierF8 window from 1.0 to 9.0existing cysts + 1BepInEx/config/StockAlert.cfg and set:[Workers]
AvoidAssigningCarryingBuilders = false
BepInEx/config/StockAlert.cfg and set:[HUD]
ShowWorkerHoverHighlight = false
BepInEx/config/StockAlert.cfg and set ShowZeroBuildingBlueprintHover = false; set it back to true to re-enable it:[HUD]
ShowZeroBuildingBlueprintHover = false
available/needed valueShowEmbarkationCostRanges = true in the BepInEx configAvailable inputs option to only use recipe chains that can currently be crafted from available raw ingredientsIgnore disabled recipes checkbox to use only enabled recipes from placed production buildingsBuilderIcon source by ~DGHUpdate StormPath in StockAlert.csproj to match your game install, then build the project.