
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.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

Bolt-Action Rifle

Pistol

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 Rarity— off 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,0for 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.2305TeamXiaolan-DawnLib-0.9.25Rune580-LethalCompany_InputUtils-0.7.13y4ngz313-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.