You are viewing a potentially older version of this package. View all versions.
matsu-RepoMutantEnemies-0.7.0 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 a day ago
Version 0.7.0
Download link matsu-RepoMutantEnemies-0.7.0.zip
Downloads 64
Dependency string matsu-RepoMutantEnemies-0.7.0

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 lobbing a single bomb-head, it fires a 3-shot volley — one at normal speed, then a sluggish half-speed one, then a frantic double-speed one that chases players down. Each head explodes into a uranium cloud, just like the normal one.
  • 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.

How it works

  • On spawn, a vanilla enemy has a chance to mutate. The base chance scales with the level (default +1% per level, e.g. level 1 = 1%, level 10 = 10%, capped) — and on top of that, each mutant type builds up pity: every level it fails to appear adds that level's own share to the odds, reset to 0 the moment it does appear. Long dry streaks make the next appearance more and more likely.
  • 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, MaxChance, HealthMultiplier (mutants have 2x HP by default)
  • Per-mutant tuning (damage, cooldowns, ranges, touch radius, head volley speeds, teleport damage)
  • Debug spawn keys (host only): F9 = Boomday Boy, F10 = Poltergeist, F8 = Meltdown Crew, F7 = Snatcher, F6 = Deathgaze

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連続のボレーで投げてきます — 通常速度→鈍足(0.5倍速)→凶暴な倍速、の順。それぞれの 頭は通常と同じくウランの雲をまき散らして爆発します。
  • Snatcher(突然変異した Hidden/隠れ者/紫のオーラ): 通常のHiddenはプレイヤーを掴むと徒歩でゆっくり 遠くまで連れ去ってから離します。Snatcherは連れ去りを省略し、掴んだプレイヤーをその瞬間にマップ中の ランダムな地点へ瞬間移動させ(足がつく安全な地面だけを選ぶよう検証済み、奈落には飛ばされません)、 その場でダメージを与えます。
  • Deathgaze(突然変異した Peeper/覗き魔/赤いオーラ): その視線はもう不快なだけでは済みません。長く ロックオンされる前に、視線を切りましょう。

仕組み

  • スポーン時、バニラ敵が一定確率で突然変異します。基本確率はレベルに応じて上昇(既定でレベル×1%。 例: レベル1で1%、レベル10で10%、上限あり)。さらに各変異タイプごとに**天井(ピティ)**が蓄積し、出現 しなかったレベルごとにそのレベル分の確率が上乗せされ、出現した瞬間に0にリセットされます。長く出ない ほど次に出やすくなります。
  • 一度突然変異した個体は、レベル中にデスポーン→リスポーンを繰り返しても変異したままです。
  • 突然変異の判定は各クライアントが決定論的な乱数で独立して行うため、追加の通信は発生しません。ただし 体力・爆発・投擲・瞬間移動などのゲームプレイはホストが処理し、ゲーム本体のネットワークダメージ/物理 経由で全員に届きます。
  • 爆発はダメージ・ノックバック・効果音のあるしっかりした爆発です。

設定・デバッグ

BepInEx/config/com.matsu.repomutations.cfg

  • Mutation / ChancePerLevelMaxChanceHealthMultiplier(既定で変異体はHP2倍)
  • 各変異個体の調整(ダメージ・クールダウン・範囲・接触半径・頭ボレーの速度・瞬間移動ダメージ)
  • デバッグ召喚キー(ホストのみ): F9 = Boomday Boy、F10 = Poltergeist、F8 = Meltdown Crew、 F7 = Snatcher、F6 = Deathgaze

バグ報告・要望

不具合や要望があれば、こちらのフォームからお願いします: 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.