You are viewing a potentially older version of this package. View all versions.
matsu-RepoMutantEnemies-0.9.2 icon

RepoMutantEnemies

Vanilla enemies now have a chance to spawn mutated: a mutant keeps the base enemy's look but glows with a coloured aura and gains a nastier ability. More mutants added over time.

By matsu
Date uploaded 5 hours ago
Version 0.9.2
Download link matsu-RepoMutantEnemies-0.9.2.zip
Downloads 3
Dependency string matsu-RepoMutantEnemies-0.9.2

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305
Zehs-REPOLib-4.2.0 icon
Zehs-REPOLib

Library for adding content to R.E.P.O.

Preferred version: 4.2.0

README

REPO Mutant Enemies

Rarely, a vanilla R.E.P.O. enemy spawns mutated — it keeps the base enemy's model but glows with a coloured mutation aura and gains a new, nastier ability.

⚠ Everyone in the lobby must install this mod (not just the host) — it's the only way for every player to see the mutation auras and visuals correctly.

Mutants

  • Boomday Boy (mutated Birthday Boy, orange aura): a tougher Birthday Boy that periodically sets off an explosion when a player gets close — and survives it, re-arming after a cooldown. Its balloons are tinted orange as a warning:
    • A player touching a balloon explodes only that balloon — no chain reaction.
    • An enemy brushing a balloon just pops it harmlessly.
    • When the Boomday Boy dies (or blasts on its recurring fuse), every balloon it placed detonates in the order it placed them, one every 0.1s — a rolling chain reaction.
    • Multiple Boomday Boys each track their own balloons independently.
  • Poltergeist (mutated Mentalist, light-blue aura): its anti-gravity power runs wild. It projects a persistent zero-G field that makes nearby valuables, props and the cart float, and it periodically hurls a floating valuable at a player using the same throw physics as the game's own loot-throwing enemy — the thrown object's own impact deals the damage, so there's no artificial or indiscriminate damage.
  • Meltdown Crew (mutated Cleanup Crew, toxic-green aura): instead of a single bomb-head, it launches three heads at once — one at normal speed, one sluggish, and one frantic — all chasing at the same time, then detonating together.
  • Snatcher (mutated Hidden, violet aura): normally, Hidden grabs a player and slowly drags them far away on foot before letting go. The Snatcher skips the walk — the instant it grabs a player, it teleports them straight to a random spot on the map (checked to be solid ground, never a pit or void) and damages them on the spot.
  • Deathgaze (mutated Peeper, red aura): its stare isn't just uncomfortable anymore. Break line of sight before it locks onto you for too long.
  • Deadeye (mutated Huntsman, blue aura): it's got its hands on your Photon Blaster. When it shoots, so does the blaster — a sustained laser beam.
  • Hivemind (mutated Gnome, purple aura): one is never one for long. It keeps multiplying — two, four, eight... deal with them before the room fills up.
  • Fenrir (mutated Elsa, icy-blue aura): the dog freezes and a countdown ticks over its head the moment it spots you. When it hits zero it transforms and hunts you as normal. Just enough time to run — petting won't help.

Grab a mutant and its name shows up, so you always know what you're dealing with.

How it works

  • On spawn, a vanilla enemy has a chance to mutate. The chance is a flat 2.5% per level with no cap (e.g. level 4 ≈ 10%, level 20 ≈ 50%), rolled independently per mutant type — so deeper runs get wilder.
  • Once a specific enemy mutates, it stays mutated for the rest of the level, even if it despawns and respawns later.
  • Every client decides mutation independently (from a deterministic per-enemy roll), so no extra networking is added — but gameplay (health, explosions, throws, teleports) is still driven by the host, and reaches every player through the game's own networked damage and physics.
  • Explosions deal proper damage, knockback and sound.

Config & debug

BepInEx/config/com.matsu.repomutations.cfg

  • Mutation / ChancePerLevel (2.5%/level), HealthMultiplier (mutants have 2x HP), aura light range/intensity
  • Per-mutant tuning (damage, cooldowns, ranges, beam duration, Elsa countdown, Hivemind interval, etc.)
  • Debug spawn keys (host only): F9 = Boomday Boy, F10 = Poltergeist, F8 = Meltdown Crew, F7 = Snatcher, F6 = Deathgaze, F5 = Deadeye, F4 = Hivemind, F2 = Fenrir

Bug reports & requests

Found a bug or have an idea? Please use this form: https://docs.google.com/forms/d/e/1FAIpQLSfl7f-oNiwjXjd7mUkfQoqBIhbJhQhhfV-ZmovjJVQ9orwuYQ/viewform


REPO Mutant Enemies(日本語)

R.E.P.O. のバニラ敵が、まれに突然変異してスポーンします。見た目はベース敵のモデルのままですが、 色つきの変異オーラをまとい、より厄介な新しい能力を得ます。

⚠ このMODはロビー全員が導入する必要があります(ホストのみでは不可)。全員が変異オーラや挙動を 正しく見るために必要です。

変異個体

  • Boomday Boy(突然変異した Birthday Boy/オレンジのオーラ): 通常より頑丈な Birthday Boy。プレイヤー が近づくと爆発を起こし、しかも自分は生き残ってクールダウン後にまた爆発します。風船は警告として オレンジ色に変異します:
    • プレイヤーが風船に触れるとその風船だけが爆発します(連鎖なし)。
    • 敵が風船に触れると連鎖もダメージもなく、ただ割れるだけです。
    • Boomday Boy が死亡(または周期爆発)すると、設置した風船が設置した順番に0.1秒間隔で次々に 爆発する連鎖反応が起きます。
    • 複数の Boomday Boy がいる場合、それぞれ自分の風船だけを個別に管理します。
  • Poltergeist(突然変異した Mentalist/メンタリスト/水色のオーラ): 反重力の力が暴走。周囲に持続する 無重力フィールドを張り、近くの宝・小物・カートをふわふわ浮かせ、周期的に浮いた宝をプレイヤーに ブン投げます。投擲のロジックはゲーム本体の投擲敵(赤ちゃん系)と同じ物理挙動で、当たった宝自体の 衝突ダメージで倒れます。人為的・無差別なダメージはありません。
  • Meltdown Crew(突然変異した Cleanup Crew/掃除屋/毒々しい緑のオーラ): 爆弾頭を1つ投げる通常とは 違い、頭を3個同時に射出してきます — 通常速度・鈍足・凶暴な倍速の3つが同時に迫り、まとめて爆発します。
  • Snatcher(突然変異した Hidden/隠れ者/紫のオーラ): 通常のHiddenはプレイヤーを掴むと徒歩でゆっくり 遠くまで連れ去ってから離します。Snatcherは連れ去りを省略し、掴んだプレイヤーをその瞬間にマップ中の ランダムな地点へ瞬間移動させ(足がつく安全な地面だけを選ぶよう検証済み、奈落には飛ばされません)、 その場でダメージを与えます。
  • Deathgaze(突然変異した Peeper/覗き魔/赤いオーラ): その視線はもう不快なだけでは済みません。長く ロックオンされる前に、視線を切りましょう。
  • Deadeye(突然変異した Huntsman/青いオーラ): プレイヤーのPhoton Blasterを手に入れています。撃つとき、 ブラスターも一緒に火を噴きます — 持続するレーザービーム。
  • Hivemind(突然変異した Gnome/紫のオーラ): 1体で済むことはありません。時間とともに増殖 — 2体、4体、 8体…。部屋が埋まる前に対処を。
  • Fenrir(突然変異した Elsa/氷青のオーラ): 犬がプレイヤーを見つけると立ち止まり、頭上にカウントダウン が出ます。0になると変身して通常通り襲ってきます。逃げる時間はほんの少し — 撫でても止まりません。

変異体を掴むと名前が表示されるので、何と対峙しているのか一目で分かります。

仕組み

  • スポーン時、バニラ敵が一定確率で突然変異します。確率は一律レベル×2.5%・上限なし(例: レベル4で約10%、 レベル20で約50%)。各変異タイプごとに独立して判定するので、深く潜るほど荒れていきます。
  • 一度突然変異した個体は、レベル中にデスポーン→リスポーンを繰り返しても変異したままです。
  • 突然変異の判定は各クライアントが決定論的な乱数で独立して行うため、追加の通信は発生しません。ただし 体力・爆発・投擲・瞬間移動などのゲームプレイはホストが処理し、ゲーム本体のネットワークダメージ/物理 経由で全員に届きます。
  • 爆発はダメージ・ノックバック・効果音のあるしっかりした爆発です。

設定・デバッグ

BepInEx/config/com.matsu.repomutations.cfg

  • Mutation / ChancePerLevel(レベル×2.5%)、HealthMultiplier(既定で変異体はHP2倍)、オーラ光の範囲/強さ
  • 各変異個体の調整(ダメージ・クールダウン・範囲・ビーム時間・Elsaのカウントダウン・Hivemindの増殖間隔など)
  • デバッグ召喚キー(ホストのみ): F9 = Boomday Boy、F10 = Poltergeist、F8 = Meltdown Crew、 F7 = Snatcher、F6 = Deathgaze、F5 = Deadeye、F4 = Hivemind、F2 = Fenrir

バグ報告・要望

不具合や要望があれば、こちらのフォームからお願いします: https://docs.google.com/forms/d/e/1FAIpQLSfl7f-oNiwjXjd7mUkfQoqBIhbJhQhhfV-ZmovjJVQ9orwuYQ/viewform

CHANGELOG

Changelog

0.9.3

  • Fixed: Boomday Boy balloons not exploding when physically touched/punched. Vanilla's own balloon pop handler (CheckForPoppedBalloonsRemoveBalloon) runs before our distance-based check, silently removing the balloon before the explosion could trigger. Now intercepted via a Harmony Prefix on RemoveBalloon: 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.Spawn when Photon ViewID is still 0, causing the deterministic roll to disagree between clients — only the host's copy would mutate. Fixed by switching to SpawnRPC which 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 HurtCollider was incorrectly disabled on non-host clients. REPO's damage system is victim-authoritative (IsMine check inside HurtCollider.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 (_activeBeam null-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's PhotonView so every client spawns the explosion locally. Victim-authoritative HurtCollider prevents 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 MaxChance cap (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.