Custom Effects

版本 v1.2.0·更新於 2026-10-08

A modder's tool: adds a new library of custom SideLoader effects for XML mods.

模組介紹 作者原文

Overview

A standalone SideLoader library for mod authors. It adds SL_UseSkill, SL_LearnSkillHidden, SL_Banish, SL_PlayVFXOnWeapon, SL_PlayVFXOnChar, SL_PlayVFXPulsed, SL_PlayTimedSound and SL_ReliableVisuals you can use from XML.

SL_UseSkill

Makes a character cast a skill they already know.

0

OwnerSync

None

8100102

Owner

3

| Field | Meaning |

|---|---|

| SkillID | Item ID of the skill. The target must already know it |

| Target | Owner (the caster) or AffectedCharacter |

| MaxWait | Seconds to wait for the character to be free before giving up |

It goes through Item.TryQuickSlotUse() — the same path as pressing a quickslot key — so the game

handles requirements, cooldown, costs, animation and networking.

SL_LearnSkillHidden

Teaches a skill permanently without it appearing in the skill menu. For skills your mod triggers

itself rather than ones the player casts.

0

OwnerSync

None

-88002

The skill is genuinely learned, castable and networked — it simply never shows in the menu.

It survives saves and reloads.

Why you need this.

SL_UseSkill cannot cast a skill the character has not learned — Item.TryQuickSlotUse refuses one

outright. Without a way to teach invisibly, a mod that fires its own skill must either put it in the

player's menu or not work at all.

The learning is vanilla's TryUnlockSkill. Only the display lists are patched; the authoritative

knowledge is left alone. So the skill is genuinely learned, castable and networked — it simply is not

listed, and skill-limit mods, which count those same display lists, do not see it.

Nothing is persisted: the display lists are rebuilt from scratch every session, which is why

uninstalling this library just makes the skill visible again rather than corrupting a save.

SL_Banish

Sends a character beyond the veil (inert, untouchable, untargetable and unseen) for a duration, then

returns it exactly as it was.

0

MasterSync

None

10

Use MasterSync on enemies. Ends early if the character dies, restoring it as a lootable corpse.

A banished character is silent, and cannot start an attack while it is away. An attack it had already

begun is not cancelled — it is held exactly as it was and resolves normally when the banish ends.

Damage already under way still lands: DoTs applied before the banish keep ticking, and

a banished creature can die from them. What it cannot take is a fresh hit — its hitboxes are gone.

Loading a save mid-banish releases the creature immediately rather than starting the duration over,

and in co-op a client that joins while a banish is running follows the host's rather than running a

clock of its own.

Why you need this.

Vanilla has no equivalent. SL_Stun is cancelled by almost any state change, and SL_Petrify

makes the target count as dead and revivable. Neither gives you a timed removal from the fight

that returns the character untouched.

There are no toggles: Duration is the only field.

SL_PlayVFXOnWeapon

SL_PlayVFX, but able to land on weapons the vanilla hook silently refuses.

0

OwnerSync

None

VFXRunicBlade

false

This

false

true

Keep

| Field | Meaning |

|---|---|

| VFXPrefab | Same list as SL_PlayVFX |

| AllowSkinnedMesh | Let the emitters find a SkinnedMeshRenderer. Default true |

| Slot | Keep (the prefab's own value), MainHand or OffHand |

Everything else behaves exactly as SL_PlayVFX.

Why you need this.

A weapon VFX like VFXRunicBlade has no position of its own. Its particle systems each carry a

VFXParticlesOnWeapon, which does not follow the hand — it takes the weapon's mesh and makes it the

particle emission shape.

Two things make it give up, and both are silent. When it gives up, the particle system keeps

whatever shape the prefab was authored with and the effect still plays — just in the wrong place

and the wrong form, with nothing logged. That fallback looks exactly like a positioning bug, which

it is not: no Position, Rotation, ParentMode or Delay can affect it, because position was

never the mechanism.

This ef

安裝與使用 安裝:BepInEx 外掛

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

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

前置依賴

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

BepInEx-BepInExPack_Outwardsinai-dev-SideLoader

檔案與校驗

檔案名稱
Custom_Effects-1.2.0.zip
檔案大小
59.7 KiB