DFG-TurretAmmoFix icon

TurretAmmoFix

Allow all bolt/ammo items to be loaded into turrets and ballistas by appending them to each Turret's allowed-ammo list at spawn.

By DFG
Last updated 3 days ago
Total downloads 18
Total rating 1 
Categories Utility AI Generated
Dependency string DFG-TurretAmmoFix-1.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2333 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2333

README

TurretAmmoFix

Let your turrets and ballistas actually use all ammo-type items.

In vanilla, a Turret (ballista) only accepts the specific ammo prefabs assigned to its Turret.m_allowedAmmo list. TurretAmmoFix scans every Ammo item in the game (ObjectDB and ZNetScene prefabs) and appends any that are missing to each turret's allowed-ammo list the moment it spawns — so bolt ammo from other mods, custom bolts, and any ItemType.Ammo item can be loaded and fired.

A Valheim BepInEx 5 plugin.

Features

  • Works on every Turret (ballista) instance at spawn, including modded ammo.
  • No new items, no recipes, no prefab injection, no networking — purely client-side list expansion.
  • Fully configurable.

Requirements

Installation

  1. Install through your mod manager (recommended).
  2. Manual: drop TurretAmmoFix.dll into BepInEx\plugins\.

How to use

Load the game and place a turret/ballista as usual. Open the turret's ammo-storage slot — every Ammo-type item in your inventory (vanilla bolts, custom bolts, and any ammo added by other mods) will now be loadable. Firing behaviour is unchanged; the mod only expands the allowed-ammo list.

Configuration

Config file is generated on first launch at BepInEx\config\custom.turretammofix.cfg:

Key Default Description
Enabled true Master toggle. When false the mod makes no changes.
AllowAllBoltAmmo true Add every ItemType.Ammo item to turrets.

How it works

A postfix on Turret.Awake collects all Ammo items reachable from ObjectDB.m_items and ZNetScene.m_prefabs, then appends any that are missing to m_allowedAmmo (each entry gets an inactive empty child visual, matching the vanilla pattern).

Changelog

See CHANGELOG.md.