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
Rare mutated enemy variants: Boomday Boy (recurring bomber w/ chain-exploding balloons) and Poltergeist (mutated Mentalist: a zero-G field floats your loot, then hurls it at you). Host-authoritative; chance scales with level.
By matsu
| Date uploaded | 2 days ago |
| Version | 0.4.2 |
| Download link | matsu-RepoMutantEnemies-0.4.2.zip |
| Downloads | 79 |
| Dependency string | matsu-RepoMutantEnemies-0.4.2 |
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
REPO Mutant Enemies
Rarely, a vanilla R.E.P.O. enemy spawns mutated — it keeps the base enemy's model but gains an orange mutation aura and a new, nastier ability. Host-side. Work in progress.
Mutants
- Boomday Boy (mutated Birthday Boy): a tougher Birthday Boy that periodically detonates a blast when players get close — and survives it, re-arming after a cooldown. When you finally kill it, it sets off a bigger blast and chain-explodes every balloon it has placed. Its balloons are mutated orange as a warning.
- Poltergeist (mutated Mentalist): its anti-gravity power runs wild. It projects a persistent zero-G field that makes nearby loot, props and the cart float, and it periodically hurls a floating object at a player — your own valuables become weapons (and can shatter on impact).
How it works
- On spawn, a vanilla enemy has a chance to mutate. The chance scales with the level (default +1% per level, e.g. level 1 = 1%, level 10 = 10%, capped).
- Host-authoritative: only the host drives mutations. Damage is dealt through the game's networked damage, so it affects everyone — the mod works even if only the host installs it. (The aura light and explosion visuals are shown on the host's screen only.)
- Reuses the game's own explosion effect and sound, so no custom prefabs are added over the network.
Config & debug
BepInEx/config/com.matsu.repomutations.cfg
Mutation / ChancePerLevel,MaxChance- Per-mutant tuning (health, damage, cooldowns, ranges)
- Debug spawn keys (host only):
F9= Boomday Boy,F10= Poltergeist
REPO Mutant Enemies(日本語)
R.E.P.O. のバニラ敵が、まれに突然変異してスポーンします。見た目はベース敵のモデルのままですが、 オレンジの変異オーラをまとい、より厄介な新しい能力を得ます。ホスト側処理。開発中。
変異個体
- Boomday Boy(突然変異した Birthday Boy): 通常より頑丈な Birthday Boy。プレイヤーが近づくと周期的に 爆発し、しかも自分は生き残ってクールダウン後にまた爆発する再発型です。倒すと、より大きな爆発とともに 設置した風船が全部連鎖爆発します。風船は警告としてオレンジ色に変異します。
- Poltergeist(突然変異した Mentalist/メンタリスト): 反重力の力が暴走。周囲に持続する無重力 フィールドを張り、近くの宝・小物・カートをふわふわ浮かせ、周期的に浮いたオブジェクトをプレイヤーに ブン投げます。自分の宝が凶器になり、投げられた宝は割れることも。
仕組み
- スポーン時、バニラ敵が一定確率で突然変異します。確率はレベルに応じて上昇(既定でレベル×1%。 例: レベル1で1%、レベル10で10%、上限あり)。
- ホスト権威: 突然変異の処理はホストのみが行います。ダメージはゲームのネットワークダメージ経由なので 全員に効き、ホストだけ導入でも成立します(オーラの光や爆発の見た目はホスト画面のみ)。
- 爆発はゲーム既存のエフェクト/効果音を流用し、ネットワークに独自プレハブを追加しません。
設定・デバッグ
BepInEx/config/com.matsu.repomutations.cfg
Mutation / ChancePerLevel、MaxChance- 各変異個体の調整(HP・ダメージ・クールダウン・範囲)
- デバッグ召喚キー(ホストのみ):
F9= Boomday Boy、F10= Poltergeist
CHANGELOG
Changelog
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.