SparrohsTurbocharges
Adds strong Turbocharge effects to a large set of Exotic upgrades across weapons and grenades.
| Date uploaded | 2 weeks ago |
| Version | 1.0.0 |
| Download link | Sparroh-SparrohsTurbocharges-1.0.0.zip |
| Downloads | 94 |
| Dependency string | Sparroh-SparrohsTurbocharges-1.0.0 |
This mod requires the following mods to function
BepInEx-BepInExPack_Mycopunk
BepInEx pack for Mycopunk. Preconfigured and ready to use.
Preferred version: 5.4.2403README
Sparroh's Turbocharges
A BepInEx sandbox mod for Mycopunk that adds strong Turbocharge effects to a large set of Exotic upgrades across weapons and grenades.
This mod absorbs PesticideRework (Pesticide turbo range + missing-HP damage). You can remove the standalone PesticideRework mod when using this one.
What it does
For tracked Exotic upgrades, the mod:
- Enables
CanTurbochargeif the upgrade did not already support it - Supplies turbo preview/stat text through vanilla UI hooks (
GetTurbochargedInfo/GetStatList) - Applies strong turbo gameplay effects when an instance is turbocharged and equipped
? upgrades from the design list are not implemented yet and are left alone.
Covered turbos (non-?)
Cycler
- Corrode Siphon — Refunded ammo can exceed the 200 siphon magazine cap
- Scorching Detonation — Detonation triggers on Electrocute or Corrode (seed-locked) instead of Ignite
- Violent Ignition — On ignite, dump entire fire DoT as one fire damage hit
Jackrabbit
- All Powdered Up — Enable existing turbo
- Immolator — Teammate fire-element aura while nearby (+ linger)
- Pesticide — Range increase + damage scales with missing HP
- Pummeler — Charge speed increase
Swarm Launcher
- Breeding Season — Enable existing turbo
- Explosive Pellets — Explosion / impact size increase
- Mitosis — Fire rate increase in addition to vanilla turbo
- Munition Siphon — Kills refund grenade charge
Gunship Cannon
- Heavy Munitions — Max mag size > 1: large flat damage + knockback
- Lagrange Halo — Marked for turbo (orbital-while-sprint polish TBD)
- Missile Bay — Recoil converted into fire rate
- Tinderbox — Damage scales with % missing magazine (replaces vanilla mash-fire damage bonus)
Globbler
- Globulous Siphon — 25% less grenade charge per size gained (size rate unchanged)
Carver
-
Deflector — Chance to nullify incoming damage
-
Nutrition Sampler — After health chunk: saw area + reach for 3s
-
Rage — Turbo enabled / readout
-
Super Magnet — While sawing: also pulls fallen limbs toward the saw
-
Lockdown — Shackled targets also get Rot for the shackle duration
Shocklance
-
Auger Subroutine — After a shot: next Auger +50% drill damage and +25% launch duration
-
Battery Recursion — Charge speed increase
-
Laying Cable — Shared cable benefits increased
Accelerator
- Payback — Turbo enabled (stowed trigger polish TBD)
- Slipspace Bullet Transfer — Reduced ammo/stack consumption
Grenades
-
Grenade Belt — Extra charge
-
Cluster Bomb — Cluster count increase
-
Hearth and Home — Lingering fire area heals allies inside (plus recharge)
-
Internal Combustion — Detonation leaves a 6s fire puddle that ignites enemies
-
Flash Storm — Lightning strikes deal +40 flat damage (not grenade blast)
-
Live Wire — While self-shocked: lightning arcs to nearest 3 enemies within 8 m
-
Heavy Support — Weapons with "heavy" in API name: +100% mag, fully loaded
-
Overclock — Size + damage increase
Photon Disc
- Harmonizer — Chance increase
- Linked List — Damage/size scale with tumble count
- Pocket Grenade (Wait why is this one legal?) — 35% chance to refund one disc charge after each throw
Config
BepInEx/config/sparroh.sparrohsturbocharges.cfg
| Key | Default | Description |
|---|---|---|
| Enable All Turbocharges | true | Master toggle |
| Dump Exotic Upgrades On Load | true | Logs tracked turbo definitions on upgrade registration |
| Strength Multiplier | 1.0 | Global numeric strength scale (lower if too strong) |
Dependencies
- Mycopunk
- BepInEx 5.4.2403+
- Harmony (via BepInEx)
Building
dotnet build --configuration Release
Output: bin/Release/net48/SparrohsTurbocharges.dll
Installing
Place the DLL in:
<Mycopunk>/BepInEx/plugins/
Or install via Thunderstore / r2modman.
Turbo UI text (vanilla-style)
Turbo text follows the same paths as vanilla exotic turbos — not Description string hacks:
| State | Vanilla path | Our hook |
|---|---|---|
| Can turbo, not yet turbo'd | Hold interact → GetTurbochargedInfo lines + UI whenturbo header |
Base UpgradeProperty.GetTurbochargedInfo postfix |
| Already turbo'd | GetStatList / property GetStatData → TURBOCHARGED tag + turbo stats |
Upgrade.GetStatList postfix |
| Turbo available | CanTurbocharge flag | Upgrade.Flags postfix |
Notes / limitations
- Matching is primarily by localized upgrade display name (and known property types where available).
- Some complex turbos (true orbital-while-stowed Lagrange Halo, full Immolator multiplayer aura polish, exact Rage stack falloff) are strong first-pass implementations and may be refined after in-game testing.
- Marked sandbox because it changes combat power.
- Multiplayer clients need the same mod for consistent turbo behavior.
Authors
- Sparroh
License
MIT — see LICENSE
CHANGELOG
Changelog
1.0.0
-
Heavy Munitions: knockback via EnemyBrain.Ragdoll_Server + non-kinematic velocity (not hitForce/explosion VFX; avoids kinematic velocity warning)
-
Tinderbox: neutralize vanilla mashFireDamage mult when turbo'd (missing-mag scaling only; no double-dip); single OnBeforeDamage path; turbo text notes vanilla damage bonus is replaced
-
Globulous Siphon: 25% charge refund per siphon frame (size/timer unchanged); removed grenadeChargePerSecond mutate that caused oscillation
-
Lockdown: Rot on shackle charge spend (same-frame OnActiveUpdate); ApplyStatusEffect + duration = shackleDuration; no FloatEnemies RPC dependency
-
Nutrition Sampler: live scale damageArea + maxDamageRange (~2.15x) for 3s after health chunk; HUD stack; no permanent damageArea thrash
-
Pocket Grenade: 35% charge refund on Throwable.Fire (actual throw), not OnFirePressed; PhotonDisc/MiniDisc only
-
Live Wire: while self-shocked, arc GenericLightningEffect to nearest 3 enemies in 8m (no explosion spam)
-
Hearth and Home: heal allies over time inside fire-area ring (removed one-shot explosionHealing)
-
Internal Combustion: detonation spawns 6s fire zone (real Fire DPS + ignite), Player.Update tick, puddle+fire VFX; no AcidPuddle.Update hijack
-
Super Magnet: while sawing, pull detached limbs (Brain==null IPullable) toward saw; removed wrong bulletMagnetism hack
-
Auger Subroutine: after normal shot, next Auger +50% drill damage (forwardBoostDamage + upgrade mult) and +25% launch duration (consumed); HUD armed
-
Flash Storm: +40 on VoltaicGrenade in-flight strike hits via temporary data.damage boost in HandleCollisions (no DamageTarget patch; not electrocute DoT)
-
Initial release of Sparroh's Turbocharges
-
Enables turbocharge on a large set of Exotic upgrades
-
Implements strong turbo effects for all non-
?designs from the ideas list -
Absorbs PesticideRework (range + missing-HP damage scaling)
-
Mitosis turbo fire rate stacks with vanilla turbo ammo-cost effect
-
Turbo UI text uses vanilla paths (
GetTurbochargedInfo+GetStatList/ TURBOCHARGED tag), not Description hacks -
Exact/normalized upgrade name matching (fixes Pocket Grenade vs Illegal Pocket Grenade, Hearth & Home, false Rage matches)
-
Pocket Grenade scoped to PhotonDisc only; no auto APIName↔display matching; Illegal Pocket hard-denied
-
Removed custom Miniaturized Warp Core turbo (vanilla already handles it)
-
Clarified effects: Corrode Siphon lifts 200 siphon cap; Scorching Detonation seed-locks Shock/Acid trigger; Violent Ignition dumps fire DoT as one hit
-
Heavy Support matches API names containing "heavy"; Auger Subroutine buffs next charge only; Tinderbox uses % missing mag
-
Globulous Siphon: efficiency via size-per-charge + lower drain (no oscillation from re-multiply)
-
Lockdown: applies Rot to hit targets instead of changing weapon element
-
Nutrition Sampler: 3s buff after heal; Payback works while not held; Lagrange Halo sprint orbital (works unheld)
-
Payback: open FireAutoMissile Active gate / FireMissileBullet while not held (real homing missiles)
-
Slipspace: keep portion of refund stacks instead of clearing all
-
Globulous Siphon: frame-local lower charge cost only (no sizePerCharge thrash / oscillation)
-
Tinderbox: % missing mag on ModifyBulletData + ParentSource-aware OnBeforeDamage
-
Auger Subroutine: arm on Shocklance OnFire; boost augerAddedDamageMultiplier for next Auger charge duration
-
Lockdown: skip Melee/DOT saw hits; Rot only on non-melee lockdown-style hits
-
Nutrition Sampler: damageArea buff on HealFromCollectable / TryCollect (not Player.Heal)
-
Rage: UpdateRageStacks stepped -1 stack (slower when not held) instead of full dump
-
Lagrange Halo: GetBullet + OrbitalBullet.Setup sprint fire (no ammo, held or stowed)
-
Property binds: HealthDrop, Rage, MiniCannon_Orbital; gear types TheCarver / MiniCannon
-
Turbo UI: property stats under description (e.g. Pummeler → Charge Speed: +X%)
-
Registry cleanup: API-name-first matching from ideas.txt (TurboIds + ApiName on every def)
-
Pocket Grenade matches MiniDisc only (Illegal PocketGrenade never registered)
-
Lagrange Halo: sprint orbitals use gun damage + bulletsPerShot (spread per shot)
-
Scorching Detonation: turbo UI shows seed-locked Element: Shock/Acid
-
Config: master toggle, strength multiplier, exotic dump logger