Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
RepoMutantEnemies
31 mutants + 6 optional Wesley variants. Stronger Trickster, breakable Resonance cages and Chatterjaw traps, fairer Necromancer, targeted Deathlight, working Flashpoint and warned Effigy. No text HUD; host cap; Wesley/Berserker compatible.
By matsu
CHANGELOG
Changelog
1.3.4 — Updated playtest feedback and readable counterplay
- Trickster: strengthen its runaway-original-valuable curse to 12 seconds, 5.8 m/s, a 14 m loot search and five-second recast. Larger purple feet and a source link identify the culprit. Grab/stun/death stop it; price, mass and excluded item types are unchanged.
- Resonance: replace the ordinary reflected wave with three destructible tuning forks forming a shrinking triangle. A 1.5-second warning precedes five seconds of closing sound walls. The whole cage deals at most one configured hit per player; break any 20-HP fork to cancel all sides and stun Upscream. Check grounding, solid cover and swept boundary contact.
- Necromancer: alternate fixed skull lanes and floor hands instead of stacking homing heads with fresh snares. Two skulls / one hand normally, three / two with a stolen head, on seven-/six-second casts. At most one summon-damage hit per victim per volley. Keep the 1.5-second warning, breakable summons, brief slow and single interruptible revival.
- Deathlight: shorten the first dive delay and place wider, wall-clipped floor-light strips at a visible player's captured floor position. Stun cancels pending strips; floor/slam defaults remain 25/80. The gold body halo and physical lift/slam remain.
- Chatterjaw: replace the hard-to-read stance/sector test with one open jaw on the floor. After arming for 1.5 seconds, entry starts a 0.65-second closing tell and one 75-damage bite. Jump, leave the two-metre circle, break its central 20-HP molar, or interrupt Headman.
- Flashpoint: target from the actual optional-enemy body, not its stale parent spawn position. Capture the player's floor rather than a ceiling. Add a brighter ignition tell, a separate six-second cooldown and at least 1.25 seconds of warning. Cover and other floors are safe.
- Effigy: a visible doll, closing circle and reddening tether give at least four seconds to escape seven metres. Use an independent eight-second cooldown without overlapping curses. Anchor the growing doll and its arms at the captured floor so they cannot drift off-screen. Replace the native execution and attack slow/time-lock on Effigy only. Suppress native attack transitions/impulses and remove execution events from per-instance clip copies, avoiding old Wesley builds' obsolete damage-method reference. Ordinary Voodoo animations are not modified.
- Preserve custom configs, the host-controlled level cap and the survey link. No new required dependency, activation/countdown text overlay or keyboard spawn binding.
1.3.3 — Playtest fixes and no activation text overlays
- Remove Blood Bank's overhead debt text too; its native-world link now reddens, thickens and pulses faster before payment. Stun cancels it locally before payment, and an expired debt cannot hit twice.
- Rework Trickster into runaway valuables instead of another attack: purple walking feet, one unattended original valuable per Gnome, 6.5-second limit, grab/stun/death counterplay. No tower, pounce, cloning, price/mass changes or weapon/cart interference.
- Fix Kaleidoscope selecting the upper face of a low ceiling as its floor. Use the combatant's floor-height band, and cancel its prism immediately when the source is stunned, dies or despawns.
- Aftershock activates against a nearby visible player without requiring the slap animation. Keep the closing corridor, side escape and 60 damage; add cooldown and pending-trap cleanup.
- Hydroshock only casts at reachable nearby players, shows a water-pressure charge, starts sooner, uses faster waves and its own shorter cooldown. Default radius/damage increase 9/24 to 12/32 once; keep customized values. Swept hits include the terminal segment after a frame hitch.
- Remove every custom activation/countdown text overlay. Keep world-space tells, native game UI and mutant names. No extra required dependency; Wesley and Berserker remain optional.
1.3.2 — Glutton fixes and balance improvements
-
Add Glutton counterplay and fix swallowed-loot retention, mass growth and HP initialization. Improve mutant balance and attack readability based on playtest feedback.
-
Redline starts its warned charge during native pursuit/notice states, checks visible targets, and probes the actual Reaper feet rather than its raised torso. Its travelled-route explosion remains player-only: no enemy damage or knockback.
-
Necromancer uses 2 skulls + 1 hand (3 + 2 with a stolen head), 11/9-second casts, a 1.5-second warning and a 6.5-second summon lifetime. Skulls hit once for 20 then dissipate; hands deal 16 once and slow movement to 55% for at most 0.8 seconds. All summons from one caster share a 1.2-second damage cooldown per victim. Breakable summons and the one-time revival remain.
-
Deathlight can commit its warned dive from ceiling roam, paints a warned strip even when stationary, and has a gold halo/light following the physical flying body. Default floor/slam damage is 25/80; old defaults migrate once while customized values remain unchanged.
-
Chatterjaw shows the entire floor sector and two closing rows of teeth. Its warning is 1.5 seconds, damage 75 and cast cooldown 6 seconds; crouch/crawl, cover and stun counterplay remain.
-
Big Bang rolls its natural three-Banger group together and reserves three cap slots atomically. The entire group stays ordinary if fewer than three slots remain. Summoned top-ups still cost a slot each.
-
Snatcher default damage reduced slightly from 45 to 40, with a one-time old-default migration. Belladonna retains its floor waves but no longer draws a text HUD. Other tested, appropriate kits stay unchanged.
-
Keep swallowed valuables deactivated independently of their Glutton, so temporary component or whole-rig despawns no longer expire the stash timer and lose the original loot.
-
Use the game's safe storage position instead of a below-map teleport that could trigger native valuable destruction, particularly when re-enabling an already full Glutton.
-
Apply meal mass growth to the native permanent baseline as well as the current body. Native mass resets preserve growth; returning loot during an override changes only the underlying baseline.
-
Mark Glutton's initial HP setup on guests too, preventing an unintended refill on promotion to host.
-
Initialize reworked-mutant HP before native damage is accepted, preventing the first update from restoring damage taken in the spawn frame. No change to ordinary healing or respawn rules.
-
Each hit that actually reduces a living Glutton's HP now returns one swallowed valuable. The original valuable is released, with brief damage protection; no replacement loot is spawned.
-
Damage pauses eating for 4 seconds by default. Repeated damaging hits restart the pause, including when its belly is empty. Returned loot cannot be swallowed by any Glutton during that window. Added
[Glutton] HurtEatCooldownSeconds(0.5–60 seconds). -
Returning a valuable removes the exact health, contact-damage and mass growth it originally granted. Re-swallowing therefore cannot accumulate duplicate growth from the same meal. Growth amounts and their removal are sent by the host to all peers.
-
Zero damage and fully resisted hits do not trigger a drop. Lethal hits retain the full-haul death return, and ordinary despawns still retain swallowed loot until respawn.
-
Fixed Glutton's death-event ordering so native Animal despawns cannot skip the remaining loot return or leave a stale kill flag. Loot returned on death also receives re-eating protection.
-
BerserkerEnemies Reborn's solo despawn reflection call now supplies the game's optional Photon sender metadata. This prevents its argument-count exception from blocking a Berserker Glutton's death and loot return; Berserker abilities and settings are unchanged.
1.3.1 — configurable mutants per level
- Added
[Mutation] MaxMutantsPerLevel(default 6,0for unlimited) in response to feedback that fifth-level surges become overwhelming in deep runs such as level 40. The cap applies to all built-in and optional Wesley variants even when the surge roll is 100%. - Counts distinct mutated enemy bodies admitted during the level. Respawns keep their identity without taking another slot; Trickster's natural quartet reserves four together, and Big Bang squad members consume remaining slots. A fresh game resets the budget even if it starts at the same displayed level number.
- The host now publishes the mutation-generation settings (chance, surge interval, disabled list and level cap) as room properties. Guests wait for those settings and use them even when their local values differ; settings are fixed for the room, so change them before creating a lobby. Other non-synchronized attack settings still need to match. The survey link remains in both descriptions.
1.3.0 — approved reworks, Wesley mutations and Berserker compatibility
-
Added Chatterjaw for Headman, a separate family from Faultline's Trudge. Its mouth marks a fixed high 130-degree sector for 1.3 seconds, then deals 65 damage to standing players. Crouching, crawling, leaving the arc, solid cover or stunning Headman avoids the attack; native bites remain.
-
Completed a GPU image audit of the HUD-free warnings. Resonance now previews the complete outbound and reflected route instead of only its origin, and Parallax uses a guaranteed-visible cyan humanoid echo, white outline and arrow rather than depending on Shadow Child's temporarily disabled teleport renderer.
-
Added Power Leech, a mutually exclusive second Tick mutation alongside Blood Bank. Its 14 m cyan aura drains 25 battery percentage points per second from every in-range battery-powered item: equipped slots use their owner's position, loose items use their own. The host calls the game's native
ItemBattery.Drain, retaining native charge-bar updates, saved charge and multiplayer synchronization. Stun or leave the radius to interrupt it. Both Tick variants respectDisabledMutants; the original Tick mutation roll remains unchanged. Tick's Berserker alias also includes the new name. -
Follow-up fixes: Trickster initializes a valid recovery destination on collapse and commits its strike from the host only after interrupt checks. Poltergeist can select loose objects without Photon IDs in solo. Redline's 1.5-second charge is independent of warning duration and caps its final physics step.
-
Native enemy hurt processing now skips only the transient spawn frame where an enemy rigidbody exists before its physics object or enemy reference is ready. Valid native hits still use the original method; the guard prevents the intermittent base-game
HurtCollider.EnemyHurtRigidbodynull exception. -
Destructible vines/summons/thorns use native weapon wall checks and cooldowns. Thorn hits use their raised box shape, and a destroyed target cannot run its break callback twice. Authority is read live; received effect IDs advance local counters so a promoted host cannot reuse existing IDs. Promotion no longer reruns the mutation's initial full-health assignment (full host-migration playtest pending).
-
Reworked Deathgaze into an invulnerable closed-eye wind-up, a 60-damage opening gaze flash and a three-second vulnerable open interval. Removed the exposure HUD, repeat-burn meter and forced gaze.
-
Poltergeist possesses up to three loose objects and rams warned lanes (50 damage, shared 0.8-second hit interval). No eligible objects: spectral rams. Grabbing the object or stunning the source interrupts it.
-
Trickster stacks its existing natural Gnome group into a breakable tower (75 strike / 50 ground attack). Base damage, grabbing or stun collapses it. Ceiling clearance is checked during assembly and movement. Removed disguises, death splits and split-child spawning; reforming does not refill health.
-
Redline commits to a warned charge (60), then its real route explodes after two seconds (75 once per player). Damage and impulse explicitly target players only. Explosion visuals disable all native hurt colliders before activation: no enemy damage, enemy knockback, prop damage or prop impulse.
-
Resonance previews and sends a broad travelling wave (55 per leg) with one wall reflection instead of the stillness test. Necromancer combines destructible skulls, grasping floor hands, stolen-head empowerment and one interruptible three-second half-health revival. Real death heads are released, never consumed.
-
Heartbreak combines a cuttable pulling vine (30 catch / 50 bite) with breakable side thorns (20/sec). Removed partner-chain HUD and native gas capture. Deathlight combines ceiling light trails (20/sec), a fixed dive, a clearance-capped carry and 70-damage slam. Tumble readiness, both bodies' swept movement, low ceilings and interrupted/disconnected victims are checked; carry overrides expire automatically.
-
Parallax now leaves a bright humanoid departure afterimage and a one-second-warned linear strike (65). Initial spawn and arrival do not produce an extra echo. Ricochet retains its three-reflection 60-damage kit and replaces its HUD with a pulsing world path, reflection flashes and sound.
-
Deadeye creates the actual Photon Blaster beam for every shot and keeps native damage/cooldown/force fields. Its full length can hit all contacted players, stopping at scenery/solid loot. Removed the old target-only 55-damage substitute and Clown/line-only fallback.
-
Restored House Edge's 1.1.0 rules: red movement restriction, yellow forced drop/grab lock, green enemy healing/resistance, white repeated launch, black safe cyclic position swap (solo impulse). The settled roulette angle selects the rule; host rule values are synchronized. The SAFE-pocket HUD is gone. The solo black rule now derives its horizontal push from Gambit instead of a floor-ray point, preventing the player's own collider from cancelling most of the intended upward launch.
-
Corrected base-enemy documentation and Berserker aliases: Faultline = Trudge, Aftershock = Loom, Parallax = Shadow Child (internal EnemyThinMan). Headman no longer incorrectly enables Faultline.
-
Rework events validate their host sender, use monotonically increasing serials and carry exact paths, target IDs, network time and a validated 22-value host-rule snapshot. Retired config keys for replaced mechanics are no longer bound; users do not need to delete their existing configuration.
-
Added six optional mutations, one for every currently registered Wesley's Enemies character:
- Hydroshock (Gusher): three expanding, jumpable pressure waves with swept collision and wall cover.
- Flashpoint (Roaster): a warned burn zone fixed to the target's captured floor position.
- Scrambler (Lost droid): a cover-blocked EMP that damages and throws exposed players.
- Crossfire (Lost Destroyer): two perpendicular, wall-clipped firing lanes.
- Barrage (Soldier): three warned firing lanes that resolve in sequence and cap at one mutation hit.
- Effigy (Voodoo): a tethered curse broken by escaping the captured seven-metre circle.
-
Wesley integration is a true soft dependency. A family is eligible only when the Wesley plugin is loaded, its exact runtime behaviour component is present, and its base enemy name matches. Other mods' similarly named enemies are ignored, and this package keeps no assembly reference to WesleysEnemies.dll.
-
Added BerserkerEnemies Reborn 1.6.0 compatibility. Its enabled base names now expand to the renamed mutant names, allowing one enemy to retain both the mutation component and Berserker controller. The accidentally omitted Hidden toggle is repaired, and Voodoo participates under
containModded. -
Berserker remains authoritative for its final health/damage settings when both modifiers select the same enemy; mutation attacks, aura and warnings remain active.
-
Restored the public bug-report/request survey link in both the English and Japanese package description.
-
Release compilation passes with zero warnings/errors. The linked production-helper suite passes 18,733 assertions. The real Wesley 1.3.6 and Berserker Reborn 1.6.0 assemblies load together; the compiled compatibility postfix verifies 18 representative aliases, including both Tick variants and Headman/Chatterjaw, with zero hard optional-mod references. Sixteen disabled-family/absent-Wesley checks pass. Game/PUN reflection checks verify 25 reflected fields, four private call targets, 12 inherited RPC receivers plus the Power Leech pulse, and 23 Harmony target signatures.
-
Isolated Unity 2022.3.67f2 probes for the final production DLL pass in all four optional-mod layouts: no optional mods 176/176 in non-batch Direct3D 11 with five inspected GPU captures, Wesley only 205/205, Berserker only 177/177, and both 208/208 in non-batch Direct3D 11 under a test-enforced 15 FPS cadence (14.730 FPS measured), with zero MOD runtime errors and zero rendering errors in the rendered runs. All 31 built-in mutations attach through their real native prefab path in every layout. The production player-list and radius helpers also return all 12 supplied entries without a six-player cap. The probes exercise real enemy prefabs and player HP for all selected reworks, three simultaneous real battery items for Power Leech, Necromancer's normal and equipped-head summon limits, native weapon destruction, one-time revival, Chatterjaw's standing/duck/cover/cancel cases, the five House Edge rules, the native hurt-initialization guard, and all six Wesley attacks (including Scrambler cover and Effigy escape). A final-DLL Steam-authenticated Photon run passes 26/26 checks with RoboUnion 0.6.2 in a real private room with
MaxPlayers = 12, including Headman SpawnRPC, deterministic Chatterjaw attach, inherited attack RPC, one owner-local 65-damage hit and pending-warning cleanup on room leave. Ozoka Gaming MorePlayers 1.1.0 separately passes the same 12-slot gameplay path at 22/22; both lobby mods remain optional. This confirms a 12-slot host path, not seven simultaneous distinct-account peers; a live host/guest, actual seven-player and full balance pass remain. The legacyzelofi-MorePlayers-1.0.5package is not compatible with the current game itself: its startup patch references the removedNetworkConnect.instancefield, so it fails before a room can be joined. The final rendered runs include Resonance's complete warning route and reflected return, Parallax's humanoid echo, Ricochet's three bounces, Redline's delayed route, Chatterjaw, every Wesley attack and the native Photon Blaster beam. Audio mix and combat balance remain live-play judgements. The final-DLL authenticated host-leave portion holds a Chatterjaw warning 30 seconds beyond its normal expiry, then confirms Photon teardown removes it with no pending local damage object. The final 176/176 no-optional graphics run includes a native singleplayer level transition: a warning held 60 seconds ahead is removed byRunManager.ChangeLevel, and no detached mutation effect survives. A separate native solo GAME OVER/new-run reset passed 176/176 checks and removed a pending Chatterjaw bite. With Wesley and Berserker installed, a controlled Direct3D 11 stress run kept all 37 mutation variants and 43 native enemy parents active for ten seconds: 211/211 checks, zero runtime/render errors, and 137.776 FPS on the test RTX 3060 Ti. Native AI movement was paused after attachment; this is not a 43-enemy combat or RPC benchmark. A live Headman component passed a synchronous simulated guest-to-host transition at 180/180 checks: wounded HP stayed at 37/500, the next event serial became 41 after receiving 40, and the temporary test authority override was removed. Distinct-account migration remains untested. The release number remains 1.3.0; no automatic upload is performed.
1.2.0 — major uniqueness and reliability update
- Added Ricochet, a mutually exclusive Huntsman alternative: up to three wall reflections, a fixed 0.9-second warning path, closing-door recheck, and one 60-damage hit per caught player.
- Replaced Parallax's rarely triggered portal pair with reliable targeted severance. Each Thin Man arrival fixes a cyan cut and perpendicular magenta cut onto a visible living player's position; they fire after 1.2 seconds and another 0.8 seconds for 55 each. Unsafe player/loot portal transport is gone.
- Separated mechanics that had copied another mutant's job:
- Poltergeist no longer aims or throws valuables. It owns the vertical gravity cycle: local-player zero-G lift, a white inversion warning, high-G force, and a 25-damage slam for anyone still in its field.
- Deathgaze no longer fires a second generic laser. Looking at the eye fills a visible exposure meter; looking away drains it, and an uninterrupted stare accelerates repeat 50-damage burns.
- Belladonna no longer orbits or shoots valuables. Every bell always creates a jumpable primary floor wave; nearby valuables remain fixed and answer with staggered cyan echo waves.
- Kaleidoscope replaces three static blast marks with three rotating prism blades. Players move with the gaps through one 120-degree sweep; swept-angle collision covers long frames.
- House Edge replaces five unrelated colour rules with one readable roulette game. Five pockets spin,
the winning colour is labelled
SAFE, and same-room marked players must enter it before settlement.
- Necromancer now casts on visible living players every 12 seconds even before a death. Its counter is
the inverse of Heartbreak: run beyond the 20 m range and hold until the soul chain turns white and snaps.
Added an owner-only
RUN AWAY/HOLD DISTANCEcountdown and host validation for the cast RPC. - Alpha retains enemy swapping and its global hunt, but a lone Alpha now swaps with loose loot or moves to a verified floor point instead of spending its countdown on an intentionally empty transformation.
- Contagion retains infected loot and now always leaves a warned spore field: 4 m radius, eight-second active life, and 50 damage per two seconds of exposure. Cover and retreat drain exposure twice as fast.
- Blood Bank retains ally healing/resistance and adds a visible 45-damage blood debt six seconds after feeding. Stun or kill that Tick to cancel the debt, so the mutant remains meaningful without allies.
- Heartbreak uses host-selected stable pairs, host-controlled pulses/resolution, and a complete NavMesh path plus travel-budget check for the solo phantom-heart objective.
- Deadeye now has a functional LineRenderer and the same explicit 55-damage cover test even when neither Photon Blaster nor Clown laser material can be loaded. Disabled/dead targets and stale beams are cleaned up.
- Redline checks every route segment crossed during a frame, preventing low-frame-rate tunnelling. Belladonna's rings and Kaleidoscope's blades use equivalent swept collision helpers.
- House Edge ignores players behind solid room boundaries and points the winning pocket toward the nearest visible participant. Its orbit radius now makes that participant's starting point part of the final safe ring, preventing an objective from being selected on an unreachable side of a narrow room.
- Added owner-readable countdowns for Heartbreak, Deathlight, Aftershock, Contagion, Parallax and Ricochet, plus Resonance's stillness state. Twelve central warnings use stable HUD lanes instead of overwriting one another during a mutation surge.
- Room-scale selection and damage now respect solid cover for Heartbreak, Resonance, Faultline and Aftershock. Necromancer and Aftershock ignore their own rig while testing visibility, fixing false self-blocking; the latter also clips its corridor at the first real wall and refuses to attack unseen players.
- Fully draining Deathgaze now clears hidden repeat acceleration, real walls break mutual gaze, and a missing first-person camera can no longer charge an invisible rule.
- Secured all 32 custom gameplay RPCs with sender metadata and current-host validation. Spawn and Thin Man Harmony postfixes mirror vanilla RPC authorization so rejected guest messages cannot trigger mod effects.
- Fixed Boomday balloon replacement/cleanup calls being mistaken for real pops, which could broadcast one explosion per peer. Only a genuine host-observed pop now detonates.
- Big Bang squad positions are announced before spawning and consumed on every peer, so a summoned squadmate is the same pink-aura mutant everywhere instead of becoming a normal guest-side Banger. PackSize is clamped to 1–12, and squad creation fails closed if the leader has no PhotonView.
- Belladonna's native contact-damage upgrade now applies on every peer, allowing REPO's victim-authoritative collider to deal the intended 60 to guest-owned players.
- Reused aura and Blackout work buffers to reduce repeated allocations while preserving their existing kits.
- Removed every keyboard spawn shortcut, its 29 configuration bindings, both input paths, forced-spawn helper, dedicated network event, and marker. Gameplay-created Trickster children and Big Bang squadmates remain.
- Displayed levels 5, 10, 15, ... still guarantee every enabled supported mutation. Strong established values were not reduced. All lobby members must use this same build.
- Release compilation and 6,518 live-helper geometry/director/timing assertions pass. Package layout, binary identity, removed-feature scans, and hashes are checked during release packaging. Solo/multiplayer gameplay and performance still require an in-game validation pass; this changelog does not claim otherwise.
1.1.0
- Strength-only 28-mutant normalization:
- No mutation was reduced below its original 1.1.0 threat. Mutant health remains 2.0x + 0.05x/level with a 3.5x cap; Big Bang remains 80 damage, Meltdown heads remain 75, Trickster remains 50, Belladonna remains 60, and Glutton keeps its original full growth.
- Weaker direct specials were raised toward the established high-threat group: Deadeye 40→55, Fenrir 45→60, Redline 42→55, Faultline 32→40, Kaleidoscope 28→40, House Edge 40→55, Resonance 45→55 and Contagion 35→50.
- Poltergeist now has an 11-metre field, faster throws, stronger gravity and a new 25-damage impact at the end of each inversion. Snatcher now deals 45 on relocation; Alpha's full-map hunt lasts 15 seconds.
- Physical/support kits were raised rather than reduced: Singularity reaches 10 metres with 8x debris impact, Blood Bank heals up to 25 with 45% resistance, Railgun uses 9x impact, and Blackout expands to 16 metres with 1.75x pursuit speed.
- The five newest mutants were raised: Necromancer 50, Heartbreak 10-per-pulse/50 snap, Deathlight 50, Aftershock 60 and Parallax 25, alongside stronger range, pull, duration or activation pressure.
- Balance revision 2 recognizes both original and temporarily lowered defaults and moves them to this stronger preset automatically, while preserving manually customized config values.
- Large mutation rework:
- Levels 5, 10, 15, ... are now guaranteed mutation surges: every enabled supported enemy mutates.
GuaranteedSurgeIntervalcontrols the interval andDisabledMutantsremains respected. - Trickster now rolls once per vanilla four-Gnome group, so all four mutate together. A killed Trickster splits into two real networked Gnomes once per life; children cannot split again, and a genuine respawn resets the entitlement.
- Deadeye no longer relies on the Photon Blaster prefab's visual/internal collider. An unobstructed beam now applies one explicit victim-authoritative line hit, so it cannot be visual-only.
- Poltergeist has stronger default range, lift and throw cadence, plus a periodic high-gravity inversion that slams players and floating objects back down.
- Belladonna replaces unreliable phantom decoys with cursed cargo: her bell pulls nearby real valuables into orbit and launches them at the target with boosted physical impact damage.
- Redline (mutated Reaper) — records its overclocked chase route, then sends a lethal moving pulse back through that exact path.
- Singularity (mutated Bowtie) — captures real valuables in orbit during its gravity-well yell, then slingshots every captured object at players when the yell ends.
- Faultline (mutated Trudge; earlier text incorrectly said Headman) — every mace attack leaves a persistent three-branch floor fracture; after warning, all branches remain dangerous for several seconds.
- House Edge (mutated Gambit) — roulette colours now invoke distinct house rules: Red Light, loot confiscation, enemy insurance, player launches, or a position shuffle.
- Resonance (mutated Upscream) — marks nearby players with a returning echo; players must stop moving before it returns or take explicit damage.
- Contagion (mutated Spewer) — puke infects nearby loose valuables. Infected loot visibly glows and triggers a one-shot toxic backlash when grabbed.
- Levels 5, 10, 15, ... are now guaranteed mutation surges: every enabled supported enemy mutates.
- Five additional mutants — 28 total:
- Necromancer (mutated Head Grabber) — a stolen death head soul-chains exposed players; sustained cover severs the chain, while failure disarms and recalls the victim toward the head.
- Heartbreak (mutated Heart Hugger) — forges paired player chains that require a held reunion to break, with a phantom-heart objective for an unpaired player.
- Deathlight (mutated Oogly) — photographs players in its hostile spotlight; cover erases the image, while failure rewinds the victim to the captured position.
- Aftershock (mutated Shadow Child) — each slap closes two giant shadow walls around a corridor; players must escape laterally before the final clap catches, disarms and throws them.
- Parallax (mutated Thin Man) — every teleport creates temporary two-way gates that transport and launch both players and loose physics objects between the exact endpoints.
- Snatcher keeps its instant safe-map teleport and initial damage, but its delayed destination bomb has been removed.
- Unchanged by request: Boomday Boy, Meltdown Crew, Kaleidoscope, Blood Bank, Railgun and Blackout retain their 1.0.0 abilities and tuning. Other mutations not listed above also keep their existing kits.
- Added tuning sections and host debug keys for Contagion and all five additional mutants.
1.0.0
- Nine brand-new mutants — 22 total:
- Redline (mutated Reaper) — an overclocked pursuit that leaves explosive wakes along its route.
- Singularity (mutated Bowtie) — its yell creates a gravity well followed by a final implosion.
- Faultline (mutated Trudge; earlier text incorrectly said Headman) — mace attacks trigger a telegraphed chain of four floor eruptions.
- Kaleidoscope (mutated Clown) — its laser impact splits into three delayed floor detonations.
- House Edge (mutated Gambit) — its roulette creates an explosive clockwise ring.
- Resonance (mutated Upscream) — attacks leave delayed echoes at players' recent positions.
- Blood Bank (mutated Tick) — bites convert stolen health into healing pulses for nearby enemies.
- Railgun (mutated Rugrat) — thrown valuables gain extra speed, impact damage and a projectile trail.
- Blackout (mutated Robe) — suppresses nearby room and carried lights while hunting.
- Threat escalation pass for five weaker mutants:
- Snatcher gained an unstable destination rift and 25 initial teleport damage.
- Deathgaze fires sooner, hits harder and accelerates repeated beams during an uninterrupted stare.
- Fenrir transforms sooner and releases an enemy-safe shockwave when its countdown reaches zero.
- Blood Bank also grants nearby enemies temporary damage resistance.
- Blackout gains a configurable pursuit-speed boost while its darkness field is active.
- Late-run threat scaling: mutant health gains a configurable bonus per completed level and respects a configurable maximum multiplier.
- Added
Mutation / DisabledMutants, allowing individual mutations to be disabled without removing the mod. - Gave each mutation type an independent deterministic roll salt so all clients agree without species sharing equivalent ViewID roll streams.
- Removed obsolete pity-state scaffolding and made per-level sticky mutation state explicit per mutant type.
- Added tuning sections and host debug keys for the nine new mutants, plus the new threat-scaling options.
0.10.0
- Hivemind is gone — meet the Trickster (mutated Gnome). The population-doubling Hivemind could lag the game badly, so the Gnome mutation was redesigned: the Trickster is a MIMIC — it disguises itself as a random valuable and ambushes whoever comes to collect it.
- Five brand-new mutants:
- Big Bang (mutated Banger) — twice the size, roams in a squad of five, and detonates with the full shop-grenade blast. One going off tends to set off the rest.
- Glutton (mutated Animal) — swallows any loose valuable it gets close to, and every meal makes it tougher, harder-hitting and heavier (bigger valuables feed it more). Kill it to get your haul back.
- Alpha (mutated Apex Predator) — freezes with a countdown before transforming; at zero it trades places with a random other enemy on the map, then howls — every enemy hunts its prey for a while. Works for provoked/touched transformations too.
- Belladonna (mutated Bella) — her bell-ring attack tell summons a swarm of identical phantom decoy tricycles that charge in alongside her. Same look, same sound — the real one hits hardest, but a decoy still costs you. She also escalates to her bell/attack sequence far faster than vanilla and holds a grudge much longer once provoked.
- Flambé (mutated Chef) — flings four real, armed shop grenades around itself each tumble attack. Its grenades can't hurt enemies — only players.
- New config sections:
Trickster,BigBang,Glutton,Alpha,Belladonna,Flambe(the oldHivemindsection is gone). New debug spawn keys: F3 / F1 / F11 / F12 / Insert. - Post-release polish pass: silenced the Trickster's disguise (its own footsteps/idle sounds no longer give it away); fixed Big Bang's squad occasionally summoning far more than its configured size when multiple mutants rolled near each other; fixed the Alpha sometimes showing its post-transform model/animation years before its countdown actually finished; Glutton's growth from eaten valuables now correctly resets when it's actually killed (a mere despawn still preserves it).
- Full self-audit: reviewed every mutation and Harmony patch for host/client desync bugs. Fixed one
narrow edge case — a Flambé grenade's fuse time could go out of sync between the host and clients if
Flambe/GrenadeFuseSecondswas changed away from its default, causing an occasional client-side double detonation effect. Everything else checked out: mutation rolls are correctly deterministic across every client, all damage/knockback correctly reaches every player, and no other host-only gaps were found.
0.9.3
- Fixed: Boomday Boy balloons not exploding when physically touched/punched. Vanilla's own
balloon pop handler (
CheckForPoppedBalloons→RemoveBalloon) runs before our distance-based check, silently removing the balloon before the explosion could trigger. Now intercepted via a Harmony Prefix onRemoveBalloon: any Boomday Boy balloon that gets popped also detonates.
0.9.2
- Fixed: Mutation aura/glow only visible on host. The mutation component was attached during
EnemyParent.Spawnwhen Photon ViewID is still 0, causing the deterministic roll to disagree between clients — only the host's copy would mutate. Fixed by switching toSpawnRPCwhich fires after ViewID is assigned, so all clients always agree. - Fixed: Deadeye (mutated Huntsman) Photon Blaster beam dealt no damage to non-host players.
The beam's
HurtColliderwas incorrectly disabled on non-host clients. REPO's damage system is victim-authoritative (IsMinecheck insideHurtCollider.PlayerHurt) — each client must have its own active collider to register damage on its own player. Restored for all clients. Also fixed: beam could stop firing permanently after the first shot (_activeBeamnull-check bug). - Fixed: Boomday Boy explosions (proximity blast, death blast, balloon chain, balloon contact)
dealt no damage to non-host players. All four explosion paths now broadcast via
[PunRPC]on the enemy'sPhotonViewso every client spawns the explosion locally. Victim-authoritativeHurtColliderprevents double damage automatically. - Confirmed: Fenrir countdown display runs on every client independently (state is RPC-synced by vanilla EnemyElsa). No fix needed.
- Confirmed: Meltdown Crew 3 heads fully synced — extra heads are Photon network objects
(
SpawnNetworkPrefab) and their explosions use[PunRPC] ExplodeRPC. No fix needed. - Stronger mutation auras — default glow intensity 4.5 → 12, light range 3.7 m → 6 m. Adjustable in BepInEx config.
0.9.1
- Fixed mutations happening far too often — enemies could all end up mutated even on early levels, ignoring the configured chance. Mutation odds now work as intended.
- New
MaxChancecap (default 25% per enemy type) so the per-level scaling can't run away to a near-guaranteed mutation on deep runs. Raise it to 1 for the old behaviour, or lower it to make mutants rarer.
0.9.0
- Three new mutants:
- Deadeye (mutated Huntsman) — shoots the players' own Photon Blaster: a sustained laser beam.
- Hivemind (mutated Gnome) — multiplies over time. One gnome becomes two, becomes four...
- Fenrir (mutated Elsa) — the dog freezes and a countdown appears over its head when it spots you; when it hits zero it transforms and hunts as normal. Just enough time to run. Petting won't save you.
- Mutants now show their name when you grab one (e.g. "Fenrir", "Boomday Boy").
- Mutation chance reworked: now a flat 2.5% per level with no upper cap (was 1% + a pity system), so deeper runs get much wilder.
- Brighter auras — mutants now glow more strongly so they're easier to spot.
- Fix: Deathgaze's beam no longer gets blocked when the Peeper is mounted on the ceiling.
0.8.0
- Auras are now actually visible — the coloured mutation aura is a proper light now, so you can spot a mutant at a glance (even the otherwise-invisible Snatcher).
- Meltdown Crew now lobs three heads at once (normal / sluggish / frantic speed) instead of one at a time — fully synced for everyone.
- Poltergeist — its zero-gravity field range is now shown, its thrown objects hurt players properly again, and it no longer damages/stuns itself with its own throws. Field range trimmed a little.
- Boomday Boy — its blasts deal damage again, no longer knock/hurt itself, and it turns hostile and chases you after it goes off.
- Deathgaze stare time increased a bit, and its beam no longer gets blocked by the Peeper itself.
0.7.0
- New mutant: Deathgaze (mutated Peeper). Don't let it hold you in its stare for too long.
0.6.0
- Two new mutants:
- Meltdown Crew (mutated Cleanup Crew, toxic-green aura): instead of lobbing one bomb-head, it fires a 3-shot volley — normal speed, then a sluggish half-speed head, then a frantic double-speed head.
- Snatcher (mutated Hidden, violet aura): instead of slowly dragging a grabbed player far away on foot, it instantly teleports them to a random spot on the map (verified to be solid ground, never a pit) and hurts them the moment it grabs.
- Mutation chance reworked into a pity system: chance is now
level% + pity, where pity grows by that level's own level% for every level a given mutation type fails to appear, and resets to 0 the moment it does — so a long dry streak makes the next appearance increasingly likely, independently per mutant type. - Sticky per-individual mutation: once a specific enemy mutates, it stays mutated through every despawn/respawn cycle within the same level (previously it could theoretically re-roll). Verified this also works correctly with two enemies of the same type alive at once, one mutated and one not.
- New jacket artwork.
0.5.0
- Everyone must install: mutation attachment now happens independently on every client (a deterministic per-enemy roll), so mutation auras and visuals render correctly for all players, not just the host.
- Mutation auras recolored: replaced the point-light aura with a Fresnel rim-glow on the enemy's own model (Boomday Boy = orange, Poltergeist = light blue), visible to every client.
- Real explosions: Boomday Boy's blasts now use the game's actual explosion (damage, knockback, and sound), replacing the old fixed-damage/VFX-only approach.
- Balloon rules overhauled:
- A player touching a balloon now explodes only that single balloon — no more chain reaction on touch.
- An enemy touching a balloon just pops it harmlessly.
- Death/recurring-blast chain reactions now detonate balloons in the order they were placed, one every 0.1 seconds, and this fix also makes the touch-explosion actually trigger reliably.
- Multiple Boomday Boys now correctly track only their own balloons.
- Slightly reduced Boomday Boy's explosion damage.
- Poltergeist rework: removed the indiscriminate telekinetic damage entirely. Thrown valuables now use the same throw physics as the game's own loot-throwing enemy — the object's own impact deals the damage, so there's no more artificial or unavoidable hit.
- Mutant health multiplier (2x by default) now reliably applies to the enemy's current health, not just its maximum.
0.4.2
- Rebalanced Boomday Boy explosion damage and mutation chance scaling (level x 1% by default).
0.4.0
- Added Poltergeist (mutated Mentalist): persistent zero-G field + telekinetic barrage.
0.1.0
- Initial release. Boomday Boy (mutated Birthday Boy): recurring bomber with chain-exploding balloons.