PeakShotgun
A shotgun from PEAK's blowgun. Roots always has at least two luggage with one; optional any-biome spawns. Blasts flip zombies harder than a coconut.
| Date uploaded | 3 days ago |
| Version | 1.0.6 |
| Download link | FakeGameDevelopers-PeakShotgun-1.0.6.zip |
| Downloads | 159 |
| Dependency string | FakeGameDevelopers-PeakShotgun-1.0.6 |
This mod requires the following mods to function
BepInEx-BepInExPack_PEAK
BepInEx pack for PEAK. Preconfigured and ready to use.
Preferred version: 5.4.2403README
peak-shotgun



Turns PEAK's leftover blowgun into a shotgun.
A blast throws eight pellets in a short cone, about every 0.85 seconds. Scouts who are hit take a heavy Injury and get flipped. Zombies ignore Injury. The first hit flips them and adds Drowsy. The second hit knocks them out, and they stay down until PEAK kills them. See the zombie page.
Requirements
- BepInExPack for PEAK
- PEAKLib Core
- PEAKLib Items
PEAK does not include a shotgun model. The mod builds the gun from the blowgun already in the game, names it Shotgun, and makes it fire on its own. Installing the mod is the whole setup.
Where it spawns
- Roots: every run, at least two random luggage anywhere on the Roots map are forced to contain a shotgun. This always happens; no config turns it off.
- Other biomes: by default the shotgun does not appear in luggage outside Roots.
- Set
CanSpawnOnAnyBiome = trueunder[Shotgun]inBepInEx/config/PeakShotgun.cfgto also allow very rare random shotgun rolls in other biomes. Roots still forces two suitcases either way. - Cap: at most 4 luggage per biome can contain a shotgun in a single run (including Roots).
It looks like the blowgun, because that is the model PEAK ships. It does not replace the blowgun.
Configuration
After one launch, edit BepInEx/config/PeakShotgun.cfg:
| Section | Key | Default | Meaning |
|---|---|---|---|
[Shotgun] |
CanSpawnOnAnyBiome |
false |
false = Roots luggage only (plus the two forced suitcases). true = can also roll in luggage in other biomes |
[Shotgun] |
Shots |
5 |
Shots per shotgun (host's value in multiplayer) |
[Shotgun] |
EnableRecoil |
true |
Push the shooter back on each shot |
[Shotgun] |
Recoil |
5 |
Recoil strength in m/s (0–10) |
[Combat] |
FriendlyFire |
true |
true = injure other scouts. false = knockback only, no Injury |
[Shootables] |
Zombies |
true |
Hit / knock down zombies |
[Shootables] |
Mandrake |
false |
Destroy mandrakes |
[Shootables] |
Beetles |
false |
Kill beetles |
[Shootables] |
Spiders |
false |
Stun spiders |
[Shootables] |
Spores |
false |
Break spore bombs / clear spore clouds |
[Shootables] |
Scorpions |
false |
Kill scorpions |
[Shootables] |
Dynamite |
false |
Light dynamite fuses |
[Debug] |
EnableDebugMode |
false |
Host spawns test zombies, a shotgun, and luggage at the Airport / Shore |
Install
- Install the package with r2modman / Gale, or drop
PeakShotgun.dllintoBepInEx/plugins/PeakShotgun/. - Launch PEAK from r2modman. Starting the game from Steam skips BepInEx.
How to test
- Set
EnableDebugMode = trueunder[Debug]in the PeakShotgun config file (it appears after one launch). Host a run. On the Shore, three zombies appear near you, and a Shotgun is on the ground in front of you. With debug mode off (the default) nothing is force-spawned there; open Roots luggage to find the two guaranteed shotguns. - Press primary fire. It shoots a spread of pellets about every 0.85 seconds, plays the shotgun fire sound and pushes you back a little. Each shotgun has 5 shots. Tune
Shots,EnableRecoil, andRecoilunder[Shotgun]as needed. - Shoot another scout. They take a heavy Injury and get flipped. You cannot hit yourself.
- Reach the Roots (Peak ascent or higher for natural zombies). Open luggage until you find a shotgun, then shoot a zombie. The first blast flips it, and it can get back up. The second blast knocks it out, and it stays down. Or use debug Shore zombies from step 1.
Build
Requires PEAK installed (auto-detected under common Steam paths), or set PEAK_GAME_DIR / -p:PeakGameRootDir=.
dotnet build Peak.Shotgun.slnx -c Release
Optional deploy: -p:DeployToPeak=true -p:PeakPluginsDir="/path/to/BepInEx/plugins/PeakShotgun"
Optional overrides: copy Config.Build.user.props.example → Config.Build.user.props (gitignored).
The DLL is artifacts/bin/Peak.Shotgun/release/PeakShotgun.dll.
Developers
AGENTS.md is the code map: what each type does, where icons and sounds live, and how zombie knockdown and ammo work.
Thunderstore packaging (CI)
Every push to master runs .github/workflows/thunderstore.yml:
- Builds a Thunderstore ZIP (using FakeGameDevelopers.PEAKGameLibs stripped refs for compile references)
- Uploads a workflow artifact named
FakeGameDevelopers-PeakShotgun
Every push still builds that zip. Thunderstore publish runs when <Version> in src/PeakShotgun/Peak.Shotgun.csproj is not yet the live Thunderstore release, and the organization secret TCLI_AUTH_TOKEN is set. The publish step copies the categories already on the package, so a new version keeps the same tags. A commit that leaves the version matching live only builds the artifact.
Local package build
./build.sh
# or: dotnet build Peak.Shotgun.slnx -c Release -target:PackTS
# zip lands in artifacts/thunderstore/
Credits
- Original author: Arman Ossi Loko
- This mod belongs to Fake Game Developers
- Based on Peak_AKGun by TheCodinPro
Contributors
Work based on this mod must credit Arman Ossi Loko and Fake Game Developers. See LICENSE.
CHANGELOG
Changelog
1.0.10
- Luggage stays Roots-only only when Zombies is the sole enabled shootable; any other
[Shootables]mix unlocks rare rolls in every biome
1.0.9
- Fix scouts sometimes taking no Injury or knockback when shot by a non-host player in multiplayer
1.0.8
- Fix
[Shootables] Spores: hit real spore bombs (BreakableSporeShroom / ExploShroom / PoisonShroom), not Cloud Fungus
1.0.7
- Host authorizes each shot before it fires, so ammo and hits stay consistent in multiplayer
Shots,FriendlyFire, and every[Shootables]toggle come from the host for the whole lobby- Roots picks and the per-biome shotgun cap survive quicksave reloads and host migration (
PeakShotgun.loot.json) - Custom runs that disable the shotgun no longer get forced Roots luggage shotguns
- Remaining ammo updates the correct inventory slot (by gun instance), not just the selected hotbar slot
- Knocked-down zombies stay silenced for late joiners and after host migration
- Require PEAKLib Core 1.7.2
1.0.6
- Add
[Shootables]toggles for zombies, mandrake, beetles, spiders, spores, scorpions, and dynamite (only zombies on by default) - Add
[Combat] FriendlyFire(default on): off keeps scout knockback but removes Injury
1.0.5
- Make luggage shotgun spawns much rarer when allowed outside Roots (
RidiculouslyRareinstead ofCommon) - Cap shotgun luggage at 4 per biome per run
1.0.4
- Fix ammo resetting to full when a shotgun is dropped or given to another player
- Remaining shots stay in sync for everyone in the lobby, including late joiners
- Magazine size and remaining shots are host-authoritative (clients use the host's
Shotsvalue)
1.0.3
- Changing
Shotsin the config now applies on a new map without quitting PEAK - Newly spawned shotguns always use the current
Shotsvalue
1.0.2
- CI publish test bump
1.0.1
- Fix README preview images on the Thunderstore package page (absolute GitHub URLs)
1.0.0
- Builds a shotgun from the blowgun already in PEAK, so the mod needs no extra files
- Roots always forces two random luggage to have a shotgun;
CanSpawnOnAnyBiome(default false) allows rolls in other biomes - With
EnableDebugModeon, spawns three test zombies and a shotgun near you on the Shore. Off by default - Each shot pushes the shooter back.
EnableRecoilturns it on or off,Recoilsets the strength (0-10) - Blasts injure scouts and flip them
- Each shotgun holds 5 shots, set by the
Shotsconfig entry. The hotbar name and shoot prompt show how many are left - Knocked-out zombies stop making sounds while the game still has them alive
- Hotbar icon is a shotgun drawing
- Each shot flashes a short light at the barrel
- Shot fire sound is
shotgun_fire_01.wav - Blasts flip zombies harder than a coconut and add Drowsy damage