TurretMod
Deployable automated turrets with weapon sockets, upgrades, targeting controls, recall, and surface placement.
By PonyFisher
| Date uploaded | 3 days ago |
| Version | 0.1.18 |
| Download link | PonyFisher-TurretMod-0.1.18.zip |
| Downloads | 845 |
| Dependency string | PonyFisher-TurretMod-0.1.18 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
TURRET MOD
Anti-Air Seagull Cannon
Version 0.1.18 for How to Fish / BepInEx 5
TURRET MOD adds portable automated defenses that can protect an island from seagulls, loose fish, and bosses. Turrets have purchasable weapons, ten upgrade levels, three targeting tiers, unlimited reserve ammunition, player protection, ownership, naming, recovery, and a dedicated metallic control-center interface.
Controls and first use
| Control or menu action | What it does |
|---|---|
| F2 | Opens or closes the Turret Control Center. Opening it selects the turret in your hands or the closest owned deployed turret within 12 m. |
| Hold E for one second while holding a turret | Deploys it on the surface under the crosshair, up to 8 m away. |
| Look at a deployed turret and hold E | Picks it up when you are within 4 m. A free inventory slot is used first; empty hands are used when the inventory is full. |
| Build Turret | Purchases an empty portable turret for $5,000. |
| Weapon Socket | Opens the gun shop. Buying a different gun replaces the current gun. The equipped gun cannot be purchased twice. |
| Remove Gun | Clears the weapon from the turret. It does not drop or create an inventory item. |
| Deploy / Recall Turret | Deploys the held turret at the targeted surface or retrieves a deployed turret remotely. Recall requires a free slot or empty hands. |
| Rename | Saves a custom turret name of up to 32 characters. |
| Install Level | Buys one of ten upgrades to damage, range, reload speed, and accuracy. |
| Unlock Targeting | Adds fish targeting for $20,000, then boss targeting for $100,000. |
| Friendly-Fire Safety | Protects players from turret fire. This is enabled by default; disabling it requires confirmation. |
| Sell Turret | Sells an empty turret for half of its kit, upgrade, and targeting-tier investment. |
- Press F2 and buy an empty turret.
- Hold the turret and hold E while aiming at a surface to deploy it.
- Open F2, select the weapon socket, and buy a gun.
- Purchase upgrades or targeting tiers as desired.
- Recall the turret from F2, or look at it and hold E, when you want to move it.
Turret Control Center
The F2 interface uses a dark metallic console layout with cyan system information, orange purchase and deployment controls, red removal and sale controls, framed system sections, and a live status feed. The left panel lists every available owned turret and marks it as deployed or portable. The selected unit panel shows its name, owner, distance, weapon, combat statistics, ammunition state, upgrades, targeting tier, and safety setting.
Nearby management uses a spherical 12 m distance from the live turret object. Direction, player facing, crosshair position, and walls do not affect this check. Recall remains available remotely.
Deployment and ownership
Deployment uses the exact surface under the crosshair up to 8 m from the camera. Flat and steep upward-facing surfaces are supported; undersides are rejected. The compact base needs 0.55 m separation from another deployed turret. Its bottom snaps to the hit point and follows the surface angle.
Deployed turrets are anchored, cannot be destroyed or knocked over by explosions, and remain solid so players can collide with or stand on them. Looking at a turret within 6 m displays its name and owner when terrain does not block the label.
Picking up another player's turret preserves its owner. Hold it and use Authorize Ownership Transfer in F2 to claim it. Only the owner can manage, recall, upgrade, or sell a turret. Each player can own up to eight available turrets, with a limit of 32 per world.
Weapons
Turret guns are purchased only through the F2 weapon socket. Buying a different gun charges its full displayed price and replaces the previous gun immediately. The equipped gun is marked EQUIPPED — no charge and is protected by both interface and host-side duplicate-purchase checks.
| Weapon class | Base detection and firing range |
|---|---|
| Shotgun | 25 m — short range |
| Pistol | 45 m — medium range |
| SMG | 55 m — medium range |
| Assault rifle | 75 m — long range |
| Sniper rifle | 120 m — longest range |
The complete gun-and-hands model is normalized to a 1.35 m longest dimension and centered above the socket. The orange cradle rotates only around its Y axis. A separate weapon pivot keeps the muzzle upright and 30 degrees above the local horizon during the slow idle scan, then aims directly at an acquired target.
Mounted guns use their native firing animation, muzzle particle, report, mechanical audio, and reload animation when available. Procedural recoil and reload movement provide a fallback. The muzzle, targeting laser, and shot tracer share the same aim point.
Reserve ammunition is unlimited. Deployment fills the magazine. An empty magazine reloads automatically using the base weapon's reload duration. Reload speed compounds by 10% per level, so level ten reloads about 2.59 times as fast as level zero.
Targeting and accuracy
Tier 1 targets living seagulls by default. Tier 2 adds ordinary fish. Tier 3 adds bosses. NPCs and unrelated creatures are excluded. Dead creatures are ignored. Fish cannot be targeted while attached to a fishing line, held by a player, or stored in inventory; a fish becomes eligible after it is dropped from the line.
Acquiring a target starts a two-second lock period, plays the target-acquired sound, and projects a red laser at the target before firing. Losing or switching targets restarts acquisition. With no target, an armed turret performs a slow scan. An empty turret stays centered and stationary.
Level zero has 85% accuracy within a 3-degree cone. Each level adds 1.5 percentage points of accuracy and narrows the cone, reaching 100% accuracy and a 0.3-degree cone at level ten. Misses consume magazine ammunition and appear through the shot tracer.
Upgrades and resale
Ten upgrades are available. Upgrade prices start at $1,500 and rise by $1,500 each level. Bonuses compound on the previous level: 10% damage, 5% range, 10% reload speed, and 10% firing rate per level, plus improved accuracy. At level ten, damage, reload speed, and firing rate are about 2.59 times their level-zero values, while range is about 1.63 times its base value.
Turret kit pricing doubles for each currently owned turret. The first costs $5,000, the second $10,000, the third $20,000, then $40,000, $80,000, $160,000, $320,000, and $640,000. Each turret remembers its purchase price for half-price resale calculations.
Fish targeting costs $20,000. Boss targeting costs $100,000 after fish targeting. Selling returns half of the turret kit price, purchased upgrade levels, and purchased targeting tiers. Remove the gun before selling. NoSharedMoney wallets are credited when that mod is installed.
Saves and multiplayer
The host stores turret records in BepInEx/config/AASC-worlds.json; the normal game save stores the physical turret items. Keep both saves together. Startup recovery compares saved records with loaded world and player inventory kits. Missing records are retained for recovery but hidden from management. Sold serial numbers are retired so older saves cannot restore sold turrets.
Every co-op player needs TURRET MOD 0.1.18. The mod uses network protocol 3 for commands and synchronized state. Build checks, API compatibility checks, balance and targeting tests, package validation, and save/network serialization round-trip tests are included in the development project.
Installation
Install the Thunderstore package for How to Fish, enable TURRET MOD, and launch the game through the mod manager. Restart the game after updating the mod.
CHANGELOG
Changelog
0.1.20
- Allows another player's turret to enter the mod's long-press pickup path while it is lying loose on the ground.
- Allows the physical pickup command for deployed and undeployed turrets while preserving the original owner and turret state.
- Reduces the imported turret base, animated mount height, solid bounds, and pickup bounds by 10%.
0.1.19
- Replaced the procedural turret base with the supplied textured GLB model while retaining the existing independent gun-and-hands mount, scan, targeting, recoil, and reload animations.
- Replaced the hotbar base artwork while preserving the live fitted-gun preview layer.
- Added a bottom-center inspection tooltip showing the turret name and owner when the player looks at a nearby deployed turret.
- Allows any player to pick up and redeploy a turret while preserving its original owner and all saved turret state.
- Added a host-side held-item check to deployment requests.
0.1.18
- Changes damage, range, reload speed, and firing rate upgrades from linear bonuses to compound growth.
- Compounds damage, reload speed, and firing rate by 10% per level and range by 5% per level.
- Makes turret kit prices double with each currently owned turret: $5,000, $10,000, $20,000, and onward.
- Stores each turret's purchase price so resale includes half of the amount originally paid for its kit.
- Shows the upgraded firing rate and the next turret's price in the F2 control center.
0.1.17
- Replaces the plain F2 window with a dark metallic Turret Control Center console.
- Adds cyan system accents, orange action buttons, red removal controls, framed sections, selected-unit highlighting, and a dedicated status feed.
- Reorganizes the README with a complete controls and usage table near the top, followed by detailed system documentation.
0.1.16
- Increases the complete mounted gun-and-hands visual by 50%, from a 0.9 m to a 1.35 m longest dimension.
- Removes fitting guns from player inventory; turret weapons are now purchased only through F2.
- Allows a purchased gun to replace the currently fitted gun immediately.
- Prevents duplicate charges when the selected gun is already fitted.
- Makes Remove gun clear the turret socket without dropping or returning an inventory item.
0.1.15
- Aligns both the muzzle's forward and up axes so mounted guns remain upright instead of inheriting an upside-down inventory preview roll.
- Centers the complete gun geometry directly over the socket and raises it slightly before yaw and pitch are applied.
- Excludes lasers, trails, particles, and effect renderers from weapon bounds so attachments cannot shrink the gun model until it appears invisible.
0.1.14
- Separates the orange cradle's yaw from the gun pivot's pitch so the cradle remains level while the gun scans 30 degrees above the local horizon.
- Configures cloned weapons through their native saved-item path before removing gameplay behavior.
- Applies the selected skin to every active gun and attachment renderer and explicitly activates the complete selected sight, barrel, and laser hierarchy.
- Logs the saved customization and active renderer count for each mounted weapon to make any remaining model-specific issue identifiable.
0.1.13
- Gives every turret a stable base hotbar icon and overlays a separate preview of its fitted gun, skin, and visible attachments.
- Removes the turret's hidden inventory mesh from hotbar rendering so multiple turret slots cannot interfere with each other.
- Aims the actual gun muzzle 30 degrees above the local horizon during its slow idle scan.
- Activates alternate weapon-model hierarchies and selected attachment parents, and removes invalid cloned lightmap assignments so customized and transferred guns remain visible.
0.1.12
- Measures the 12-metre management radius from the live turret object and its physical base, in every direction and without a line-of-sight requirement.
- Selects the closest owned deployed turret in range when F2 opens.
- Slowly rotates an equipped gun in an idle scan until a valid target is acquired.
0.1.11
- Uses the saved deployed position for nearby management checks, avoiding stale network-transform distance failures.
- Increased the management radius to 12 metres and displays the current range state in F2.
- Explicitly activates the weapon's world-model hierarchy and renderers while retaining the selected attachments and skin.
0.1.10
- Made long-press E retrieval use the same recall path as the F2 menu for owned turrets.
- Added visible turret ownership and explicit ownership transfer while holding another player's turret.
- Fixed selling so held, inventory, world, and network references are cleared before despawning the turret.
- Resale now returns half of the kit, upgrade, and targeting-tier investment.
- Rebuilds mounted weapon visuals when saved skins or attachments change and restores inactive source gun rigs.
0.1.9
- Restricted targeting to living birds and fish, excluding NPCs and unrelated creature components.
- Kept fish ineligible while attached to a line, held, or stored in inventory.
- Added synchronized active-target state so empty turrets and armed turrets without an in-range target remain centered and idle.
0.1.8
- Mounted a safe visual clone of the selected base-game weapon rig instead of a static inventory mesh.
- Added native fire and reload animations, muzzle particles, barrel-specific gunshots, and mechanical audio sequences.
- Synchronized reload events and aligned turret rotation, lasers, and tracers with the selected barrel's actual fire point.
- Added procedural recoil and reload motion as a fallback for weapons without matching animation clips.
0.1.7
- Fixed long-press pickup so ownership is assigned before inventory insertion.
- Added a two-second lock delay, red acquisition laser, and the supplied target-acquired sound.
- Added level-based accuracy from 85% to 100% and a cone that narrows from 3 degrees to 0.3 degrees.
0.1.6
- Renamed the public mod and in-game interface to TURRET MOD.
- Added the new Turret Mod package and manager icon.
- Preserved the existing plugin ID and save path for compatibility with current turrets.
0.1.5
- Added crosshair surface deployment, weapon customization transfer, automatic targeting and reloads, friendly-fire controls, recall, selling, and startup recovery.