You are viewing a potentially older version of this package. View all versions.
Sparroh-SparrohsTurbocharges-1.0.0 icon

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-5.4.2403 icon
BepInEx-BepInExPack_Mycopunk

BepInEx pack for Mycopunk. Preconfigured and ready to use.

Preferred version: 5.4.2403

README

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:

  1. Enables CanTurbocharge if the upgrade did not already support it
  2. Supplies turbo preview/stat text through vanilla UI hooks (GetTurbochargedInfo / GetStatList)
  3. 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