Service_Accounts-ZombieLogistics icon

ZombieLogistics

Lets zombies use the cross-zone shared storage pool. Requires SharedStorage 1.2.0.

Last updated 4 days ago
Total downloads 193
Total rating 0 
Categories Mods
Dependency string Service_Accounts-ZombieLogistics-1.0.6
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

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

Preferred version: 5.4.2305
Service_Accounts-SharedStorage-1.2.1 icon
Service_Accounts-SharedStorage

Cross-zone shared storage pool for workstations, building, planting and repairs. Includes the 1.2.0 snapshot API for Zombie Logistics.

Preferred version: 1.2.1

README

Zombie Cross-Zone Logistics

Thunderstore install: install the BepInEx-BepInExPack dependency, then copy the included DLL to BepInEx/plugins/GraveyardKeeper2.ZombieLogistics/.

If a nearby chest is empty, the zombie should still walk there and draw the required material from your base-wide storage.

Features

  • Nearest eligible container as anchor: caretakers, gardeners and porters use the nearest eligible container in the current zone, even when that specific container does not contain the requested item.
  • Cross-zone withdrawal: requirement checks and consumption use eligible storage across all base zones.
  • Vanilla movement retained: no cross-zone pathfinding is added. Movement, animation, delivery, output and station handoff stay vanilla.
  • No pool-internal porter trips: when every delivery target of a porter trip already belongs to the shared pool, the porter stays at its station instead of pulling goods out of the pool for the whole walk. A trip with any target outside the pool (town, delivery points, unshared or inactive zones) is unchanged, and a delivery the game itself resolves (town palette, small town crates) is never skipped.
  • Role and container blacklists: disable a zombie role or exclude containers by WgoData.id.
  • Fail-closed rules: blacklist or bridge failures do not silently fall back to a vanilla withdrawal path that would bypass the configured limits.

Required dependency: SharedStorage 1.2.0

This add-on requires SharedStorage 1.2.0. SharedStorage 1.1.x does not expose the required storage snapshot API and the add-on falls back to vanilla behavior.

SharedStorage Workshop item: https://steamcommunity.com/sharedfiles/filedetails/?id=3807651104

Installation

Workshop subscriptions do not install BepInEx DLLs automatically.

  • Close the game and make sure BepInEx 5.4.x is installed.
  • Install SharedStorage 1.2.0 first.
  • Open CopyToGameFolder in this item's Workshop directory and merge its BepInEx folder into the game folder.
  • Verify these files exist: BepInEx\plugins\GraveyardKeeper2.SharedStorage\GraveyardKeeper2.SharedStorage.dll BepInEx\plugins\GraveyardKeeper2.ZombieLogistics\GraveyardKeeper2.ZombieLogistics.dll

Configuration

File: BepInEx\config\gk2.zombielogistics.cfg

  • DisabledZombieTypes: caretaker, gardener, porter, conveyor_transporter.
  • ExcludedContainerIds: exclude containers by WgoData.id.
  • VerboseLogging: enable detailed anchor and snapshot logging.
  • PorterSkipPoolInternalTransport: skip porter trips whose delivery targets all belong to the shared pool (default on).
  • Zone exclusion uses ExcludedZoneIds in SharedStorage's config.

Verification

Check BepInEx\LogOutput.log for:

Shared Base Storage 1.2.0 loaded Zombie Cross-Zone Logistics 1.0.6 loaded. Active groups=3/3.

Notes

  • Ordinary stackable resources are the supported scope.
  • Complex NBT, durability, bags, quest items and unique-instance items are not guaranteed on this path.
  • This item does not bundle SharedStorage; the two mods update independently.

Version 1.0.6 - automated checks passed (build, 131 unit tests, static verification); the core gardener path was validated in-game, the porter pool-internal fix still needs an in-game check.

Changelog

  • 1.0.6: Porter trips whose delivery targets all belong to the shared storage pool are skipped. Previously such a trip pulled the cargo out of the pool the moment the porter loaded it and returned it only on arrival, so the materials were invisible and unusable through the shared pool for the whole walk. Trips with any destination outside the pool (town, delivery points, unshared or inactive zones) keep the vanilla load-and-depart behavior. Set PorterSkipPoolInternalTransport=false in the config to restore the old behavior.

  • 1.0.5: Gardener seed and order-safety update. Carried seeds are counted first, only the missing amount is withdrawn, the same seed candidate is reused, and stale orders are released safely. This fixes repeated consumption, disappearing seeds, and stuck orders.

  • 1.0.1: Updated cover art and clarified dependencies.

  • 1.0.0: Initial release.