EnemyOrbMerge

版本 v4.0.0·更新於 2026-05-10

【Host Only MOD】Merges touching enemy orbs into one orb with indestructible-priority selection and optimized contact processing.敵オーブ同士を不滅付き優先と軽量化された接觸処理で1つにまとめるMOD

模組介紹 作者原文

COMPATIBLE WITH COSMETICS UPDATE V0.4.0.

EnemyOrbMerge

This mod is a host-only mod that merges touching enemy drop orbs into one orb, transfers the combined value to the surviving orb, prioritizes indestructible-effect orbs, and reduces merge-check load with contact-queue processing.

Overview

Enemy drop orbs created from defeated enemies can combine with each other when they touch.

The host decides the merge result, updates the surviving orb value, and removes the losing orb over the network.

Participants do not need to install the mod to see the merged result.

The latest version changes the merge decision order and performance model.

The surviving orb is now selected by indestructible effect first, then player-held state, then higher value.

The merge scan is also optimized so normal operation uses queued contact pairs instead of repeatedly checking every tracked orb against every other tracked orb.

Main behavior

  • Targets enemy drop orbs only
  • Ignores normal valuables and unrelated objects
  • Merges touching enemy orbs into one surviving orb
  • Adds the losing orb value into the surviving orb
  • Deletes the losing orb over the network
  • Reapplies vanilla-style invincibility to the surviving orb after a successful merge
  • Suppresses orb-to-orb breakage during contact checks
  • Uses host-authoritative processing

Priority rules

The surviving orb is selected with the following order.

  • An orb currently affected by an indestructible orb or indestructible drone survives
  • If only one orb is being held by a player, the held orb survives
  • If both have the same priority state, the higher value orb survives
  • If the values are equal, the lower internal sort token survives

This means an indestructible-protected orb is kept even if the other orb is being held or has a higher value.

Performance improvements

The original merge scan checked tracked orbs as broad pair candidates.

This version keeps the same merge behavior while reducing unnecessary work.

Contact queue processing

Orb-to-orb collision callbacks enqueue only the touching pair.

The merge loop then processes queued pairs up to a configured limit per tick.

This avoids expensive full-pair checks during normal contact-heavy situations.

Low-frequency fallback scan

A fallback all-pair scan is still available for rare cases where Unity collision callbacks do not enqueue a pair.

This fallback is slower, but it runs at a lower configurable frequency.

Indestructible target cache

Indestructible orb and indestructible drone targets are cached for a short interval.

This avoids repeated scene-wide searches during every priority comparison.

Limit rules

Two independent limit systems are included.

Value cap

If MaxOrbValue is set to 0, value is unlimited.

If it is set to 1 or higher, that number becomes the maximum allowed value for a merged orb.

A merge is rejected when either condition is true.

  • One of the touching orbs is already at or above the configured cap
  • The merged result would exceed the configured cap

When this happens, the orbs do not merge.

Both orbs only receive invincibility again so they do not immediately break from the attempted impact.

No merge-success effect is played in this case.

Merge-count cap

If MaxOrbMergeCount is set to 0, merge count is unlimited.

If it is set to 1 or higher, an orb lineage that has already reached that many successful merges can no longer merge again.

Merge count starts at 0 on a fresh orb.

After a successful merge, the resulting orb stores max(left lineage, right lineage) + 1.

This prevents bypassing the cap by forcing survival onto a lower-count orb.

When the merge-count cap blocks a merge, both orbs only receive invincibility again and no success effect is played.

Visual behavior

Merge success effect

A built-in network-visible impact effect can be played at the merge position.

This is a success-only effect.

If a merge is rejected by a cap, this effect is not played.

Invincibility electricity effect

A built-in electricity v

安裝與使用 安裝:BepInEx 外掛

  1. 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
  2. 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
  3. 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
  4. 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。

帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

BepInEx-BepInExPackTheRavenNest-UnlimitedOrbs

檔案與校驗

檔案名稱
EnemyOrbMerge-4.0.0.zip
檔案大小
138.8 KiB