matsu-RepoMutantEnemies 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
Last updated 10 hours ago
Total downloads 449
Total rating 2 
Categories Mods Monsters Client-side Server-side AI Generated
Dependency string matsu-RepoMutantEnemies-0.8.0
Dependants 0 other packages depend on this package

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.

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個同時に射出してきます — 通常速度・鈍足・凶暴な倍速の3つが同時に迫り、まとめて爆発します。
  • 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