You are viewing a potentially older version of this package. View all versions.
Y4NGZ313-BetterArmory-1.0.5 icon

BetterArmory

Standalone weapons pack: Heavy Shotgun, Revolver, Assault Rifle, Bolt-Action Rifle, Pistol and Flame Thrower, with configurable shop listings, interior spawns, damage and ammunition, plus an ammo HUD.

Date uploaded a week ago
Version 1.0.5
Download link Y4NGZ313-BetterArmory-1.0.5.zip
Downloads 2237
Dependency string Y4NGZ313-BetterArmory-1.0.5

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
TeamXiaolan-DawnLib-0.9.25 icon
TeamXiaolan-DawnLib

A modern API for Lethal Company content and all sizes of mods [V81]

Preferred version: 0.9.25
Rune580-LethalCompany_InputUtils-0.7.13 icon
Rune580-LethalCompany_InputUtils

API/Library for creating Unity InputActions with in-game re-binding support. Provides an alternative UI that allows for supporting mods to have in-game re-bindable keybinds.

Preferred version: 0.7.13
Y4NGZ313-Y4NGZInteractions-1.0.1 icon
Y4NGZ313-Y4NGZInteractions

Shared local animation presentation, resource ownership, lifecycle, and restoration API for Lethal Company mods.

Preferred version: 1.0.1

README

Better Armory

About Y4NGZ

I am Y4NGZ, an up and coming rapper out of NYC/Detroit. All of my mods are inspired by the music I write. If you are interested in knowing more about me, check out my SoundCloud: https://soundcloud.com/y4ngz

Generative AI usage

The entire code base of this mod was created with generative AI. Assets are free, licensed, paid for, or generated with AI tools. If you do not wish to play with AI-generated content, do not install this mod.

What BetterArmory does

Better Armory is a standalone weapons pack for Lethal Company. Six weapons, four ammunition families, first- and third-person animation, authored audio and impact effects, a bottom-right ammo panel, and configurable/toggled options for how you can acquire them.

Weapon Roster

Weapon Ammunition Magazine Default price
Heavy Shotgun Shotgun Shells 4 110
Revolver Small Caliber Rounds 5 80
Pistol Small Caliber Rounds 17 95
Assault Rifle Heavy Caliber Rounds 30 140
Bolt-Action Rifle Heavy Caliber Rounds 5 165
Flame Thrower Fuel 100 120

Ammunition now works as a pickups: Shotgun Shells, Small Caliber Rounds, Heavy Caliber Rounds, and Fuel Tanks. Collecting a pickup banks rounds into a personal reserve that your weapons reload from, so ammunition does not eat inventory slots once it is picked up. Nor does it disappear/drop upon player death.

The vanilla Lethal Company shotgun can share the Shotgun Shells reserve as a fallback once its own hotbar shells run out. Alternatively, you can set it up so that vanilla shotgun shells are disabled and only Better Armory shells are used.

Gameplay

Every firearm fires with a muzzle flash and lands a per-surface impact. Concrete, metal, wood and soft surfaces each get their own burst, their own bullet-hole decal and their own impact sound, so a missed shot reads off the wall it hit. Fire and reload audio is authored per weapon.

Every weapon is animated in first person. Each one has its own hold, fire, reload and running animations. Right now running has no third person animation, and third person animations are still WIP.

Damage is tuned against Lethal Company's own enemy health for balance reasons. Damage, carry weight, and whether a weapon is two handed all can be modified via the config. By default, weapon damage is configured conservatively as to not disrupt the vanilla nature of Lethal Company not being a combat heavy game.

Heavy Shotgun

Heavy Shotgun

Bolt-Action Rifle

Bolt-Action Rifle

Pistol

Pistol

Flame Thrower

Flame Thrower

Configuration

Everything below is in BepInEx/config/com.y4ngz.betterarmory.cfg, generated on first launch with one section per weapon and one per ammunition family.

The store is on out of the box. Every weapon and every ammunition family defaults to Purchasable In Shop = true — a buyable armoury is the point of the mod. Turn any of them off individually, or price them out with the global Shop / Shop Price Multiplier.

Per weapon:

  • Enabled — register the weapon at all.
  • Purchasable In Shop / Shop Price — terminal store listing and price.
  • Spawns In Interiors / Interior Spawn Rarityoff by default; turn it on to find weapons as interior loot instead of (or as well as) buying them.
  • Enemy Damage Near, Enemy Damage Far — host-authoritative damage falloff against creatures, on Lethal Company's own enemy scale (most creatures have 1 to 10 hit points and a shovel hits for 1). Per pellet on a weapon that fires a pattern.
  • Player Damage Near, Player Damage Far — friendly-fire falloff in player health, out of 100. A completely different scale from the enemy pair above.
  • Magazine Size, Fire Cadence Multiplier, Spread Multiplier, Scrap Value.
  • Weight, Two Handed, Two Handed Animation — carry weight and whether the weapon occupies both hands. All three are applied when the item is built, so they take a restart, and every player in a lobby must agree on them.
  • Flame Thrower only: Enemy Damage Per Tick, Damage Tick Interval Seconds.

Per ammunition family:

  • Purchasable In Shop / Shop Price — on by default, priced 20 to 40 credits per pickup.
  • Rounds Per Box — how much reserve one pickup grants.
  • Spawns In Interiors / Interior Spawn Rarity — on by default; ammunition has always been findable and stays that way.
  • Max Reserve Per Player — hard reserve cap, 0 for unlimited.
  • Starting Reserve — a one-time per-save grant.

Damage is resolved on the host, so the host's damage numbers are the ones that land. Every other value is evaluated on each player's own machine: keep magazine sizes, cadence, spread, prices, and reserve caps identical across a lobby.

Required Dependencies

These install automatically with a mod manager:

  • BepInEx-BepInExPack-5.4.2305
  • TeamXiaolan-DawnLib-0.9.25
  • Rune580-LethalCompany_InputUtils-0.7.13
  • y4ngz313-Y4NGZInteractions-1.0.1

DawnLib supplies the terminal store and interior scrap registration. Input Utils owns the rebindable weapon keys. Y4NGZ Interactions is the shared first-person, third-person, and live-body animation API that every weapon in this pack plays through.

LethalCCTV Integration (optional)

Forcing weapon spawns to be Company Stash exclusive makes it so weapons aren't too accessible without also being out of reach.

Y4NGZ Upgrades Integration (optional)

When Y4NGZ Upgrades is installed, the two detect each other at runtime and light up the extras:

  • Scavenger upgrade increases the amount of ammo received from an ammo pickup

Blood FX (optional)

Vanilla + some modded creatures will bleed upon being shot via both decal and particle effects.

Compatibility

  • There is nothing that this should automatically be incompatible with. Given the nature of how animations are implemented some things may break but they can all be easily fixed upon being reported to the GitHub.

Credits

Impact audio uses selected sounds from Bullet Impact VFX with Bullet Hole Decals and Sounds by Medartimus, shipped as compiled AudioClips under the Fab Standard License. Full notices ship in THIRD_PARTY_NOTICES.md inside this package.

Troubleshooting

When reporting a problem, include BepInEx/LogOutput.log, the weapon name, whether the store or an interior spawn produced it, and whether the issue affected the host, a client, or both.

CHANGELOG

Changelog

1.0.5

  • Fixed guns firing blanks after leaving a lobby and joining another: the animation and gunshot played but no pellets left the barrel and nothing took damage. Rejoining leaves streamed scene bundles (custom moons) in Unity's loaded-bundle list, and probing one of them for our effects threw an error that cancelled the rest of the shot. Reported in BetterArmory-public #1.
  • A failure while spawning the muzzle flash can no longer cancel a shot's pellets or damage; the shot now resolves fully and the failure is only logged.
  • Dev spawn settings (weapon hotkey spawn, auto-spawn, ammo spawn key, free shells on equip) now ship disabled. Configs from 1.0.4 that still hold the old defaults are reset once; anything you re-enable afterwards stays enabled.
  • The Heavy Shotgun now reloads shell by shell until the tube is full, the reserve runs out, or you press fire to cut the reload short and keep the shells already loaded.
  • Heavy Shotgun sounds now land on their motions: the shell sound plays as each shell goes in, the racking sound plays on the rack, and the authored fire, dry-fire, and drop sounds are used. Reload sounds no longer play louder than the gunshot.
  • Revolver reload sounds no longer lag behind the animation; every chamber cue and the cylinder close land earlier, on their motions.
  • Weapons can no longer fire while their reload or action cycle is still playing - the Kar98K waits for the bolt, the Heavy Shotgun waits for the pump. The Heavy Shotgun's rate of fire is a little slower as a result.
  • Existing configs and saves carry over untouched apart from the dev spawn reset above.

1.0.4

  • Fixed a startup fault that stopped every mod in the profile from loading whenever Better Armory and Y4NGZ Upgrades were installed together. Each plugin declared the other as a soft dependency, and BepInEx answers a dependency loop by aborting the entire plugin load, so the game booted vanilla with the reason buried in a single line of the log. Better Armory no longer declares that dependency, and waits for the loader to finish before reading anything from Y4NGZ Upgrades.
  • Fixed the Flame Thrower's visible stream drifting outside its server-authoritative damage cone after roughly three metres, which made flames visibly cover enemies without hitting them.
  • Fixed the Flame Thrower's fuel tank staying attached throughout reload by rebinding the authored removal animation in the prop controller.
  • Fixed the Flame Thrower's third-person/world model appearing roughly three-and-a-half times too small and sitting incorrectly between the holder's hands.
  • Existing configs and saves carry over untouched.

1.0.3

  • Weapon asset bundles now use the .armorybundle extension instead of .lethalbundle. LethalLevelLoader loads every .lethalbundle under plugins/ at startup, including these five, which none of it needed — that double load produced "The AssetBundle ... can't be loaded because another AssetBundle with the same files is already loaded" spam, and alongside the Faster Load AssetBundles patcher it could hang the main menu on the second launch. Reported in Y4NGZCompany-public #2.
  • No gameplay, balance, or config changes. Existing configs and saves carry over untouched.

1.0.2

  • Removed the Grenade and Grenade Launcher for now. They are coming back once their handling is up to the standard of the rest of the pack.
  • Added drop sounds for every weapon.
  • Retuned all weapon damage against vanilla enemy health, so kill counts are predictable rather than incidental. Shotgun damage is now per pellet.
  • You can climb ladders while carrying any weapon. The weapon is stowed on the way up and restored at the top; requires Y4NGZ Upgrades.
  • Added per-weapon carry weight and two-handed configuration.
  • New logo, and a readme gameplay section with GIFs.
  • Assorted fixes.

1.0.1

  • Weapons and ammo register reliably on hosts and mod setups that keep the manager object visible.
  • Registration receipts are written to the log, so a missing weapon or ammo item is diagnosable from the log alone.

1.0.0

  • Initial release. Heavy Shotgun, Revolver, Assault Rifle, Bolt-Action Rifle, Pistol and Flame Thrower, with configurable shop listings, interior spawns, damage and ammunition, plus an ammo HUD.