Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
StickHead
Aim at a teammate, press R to ride their head. Stamina drops only on real HP loss. F shakes off riders. G fires a spirit orb that hunts and stuns enemies. Config zh/en.
By Yanyan_mod
| Date uploaded | 3 days ago |
| Version | 1.2.4 |
| Download link | Yanyan_mod-StickHead-1.2.4.zip |
| Downloads | 71 |
| Dependency string | Yanyan_mod-StickHead-1.2.4 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
StickHead — Ride on Your Teammate's Head 头顶黏人
Aim at a teammate (within 10 m, 30° cone, unobstructed), press R to teleport onto their head and stick there — he walks, you ride. Pressing R again does nothing; press the tumble key to drop off, with a 3-second cooldown on landing.
准星对准队友(10 米内、30° 锥形、无遮挡),按 R 直接传送到他头顶并黏住,跟着他走。再按 R 无效,要下来请按翻滚键,落地后有 3 秒冷却。
中文
功能
- 挂载:瞄队友按 R,位置每帧硬写(连人一起走),不会被甩掉
- 高度自适应:头顶高度取「碰撞体顶部 / 模型顶部 + 0.12m」,队友蹲下爬行会跟着降
- 能量条:右下角胶囊,5 格。真掉血才掉一格(0.35 秒去重);你挂着的那个队友掉血也算,一样掉一格;被顶住、被物品击打或被翻滚的队友撞到都不扣。掉光强制落下 + 5 秒冷却
- 甩人(F):你被别人挂在头顶的时候,按 F 演 0.7 秒「我倒了」,对面那套插件一看到挂着的队友倒了就会主动松手。自己血量一点不掉(只是给别的客户端发了个假信息),0.7 秒后自动广播回真实血量
- 灵球(G):从胸前射出一颗浅绿色光球,沿准星方向飞 5 米停住悬停 3 秒。从出膛那一刻起它一直在扫,球心 5 米内有敌人就立刻拐弯追过去,命中后那家伙在原地疯狂闪现(高频传送)3 秒。冷却 10 秒。这一套数值全部写死,不进配置菜单
- 右下角能量条旁边有个常驻小方块:亮绿「G」=可以放,黄字数字=还剩几秒冷却(内部由下往上充能)。只要在关卡里活着就一直显示,死了才消失,不用挂在谁头上
- 三连小球(Y):从背后甩出小球,5 轮 × 每轮 3 颗 = 共 15 颗,每 2 秒甩一轮。球慢慢散开、乱飘最多 8 秒。同一时刻只允许一颗球索敌 —— 轮到的球在球心 5 米内扫到怪就追上去(9 m/s),一球只认一只、认了不换;打中之后闸门关 1 秒,这 1 秒里其余球照原样乱飘、完全不索敌,闸门一开下一颗才开始扫(扫到别的怪就去追别的)。命中定身 1 秒,效果跟灵球一样(原地不动,不是抖)。五轮甩完进 15 秒冷却。数值同样全部写死,不进配置菜单
- 能量条左边还有一个小方块(琥珀色「Y」):甩球过程中显示「×N」=还剩几轮;冷却中显示剩余秒数(同样由下往上充能)
- 主动落下:按翻滚键,3 秒冷却
- 抗翻滚:被物品打、被翻滚的队友撞到都不会把你从头顶掀下来
- 增益队友(输血):队友掉血超过阈值时,拿自己的血换他的血——扣多少就补多少(一比一),每挂一次最多 5 次
- 队友死亡 / 血量归零 / 换场景,自动松开
安装
- 先装 BepInExPack(r2modman 里直接搜 BepInEx 装上)
- 把本包里的
plugins/StickHead.dll放进REPO/BepInEx/plugins/ - 启动游戏,配置在
BepInEx/config/com.yanyan.stickhead.cfg
用 r2modman / Gale 直接安装更省事。
配置
| 组 | 说明 |
|---|---|
| 0.Language | 界面语言(中文 / English) |
| 1.热键 | 准星挂载键(默认 R)、甩人按键(默认 F) ※灵球 G、三连球 Y 是写死的,不在这张表里 |
| 2.头顶 | 高度偏移、蹲下额外补偿 |
| 3.能量 | 格数、掉光冷却、主动落下冷却 |
| 4.传送 | 最大距离、锥形角度 |
| 5.显示 | 显示能量条、界面缩放、提示停留秒数 |
| 6.调试 | 日志开关 |
| 7.增益队友 | 开启、触发阈值、扣多少=回多少、最多次数、自己最低保留血量 |
界面语言
配置菜单最上面一项 0.Language > Language,可选 中文 / English。默认中文。
- 改完立即生效:菜单正开着的话会自己重开一次,分组名、条目名、说明当场就换成对应语言,不用重启游戏。
- 切语言不会丢设置:每个设置项本身没被重建,只是把它的名字/说明换掉再落盘,你调过的值原地不动。配置文件里始终只有一种语言的键。
- 屏幕右下角的提示文字(挂上、落下、冷却、输血那些)即时跟随,不用重启。
注意事项
- 别和 RepoCheat 的「黏队友头顶」同时开,两边都在抢位置,会互相拉扯。
- 客机上应该也能用(挂载靠位置硬写 + 面向同步),但队友视角是否完全对齐取决于网络同步,实测后再调。
- 输血功能里「扣自己血」优先走游戏原版受伤流程,非战斗状态会被游戏拦掉,此时改为直接写血量兜底,可能没有红屏反馈。
English
What it does
- Attach — Aim at a teammate and press R; your position is force-written every frame, so you travel with them and can't be shaken off.
- Adaptive height — Standing height is
max(collider top, renderer top) + 0.12 m; it follows automatically when your teammate crouches or crawls. - Stamina bar — A capsule in the bottom-right corner, 5 pips. Only real HP loss costs a pip (0.35 s de-dupe); HP lost by the teammate you are riding also costs a pip; shoves, object strikes and bumps from rolling teammates are free. At zero you're forced off, plus a 5 s cooldown.
- Shake-off (F) — If someone is riding your head, press F to fake a 0.7 s knockdown. Their copy of this plugin sees a dead teammate and lets go. Your own HP never changes — it is only a spoofed message to other clients, and the real value is broadcast back 0.7 s later.
- Spirit orb (G) — Fires a pale-green orb from your chest. It flies 5 m along your crosshair, then hovers for 3 s. From the moment it leaves your hands it keeps scanning; any enemy within 5 m of the orb makes it turn and chase, and on contact that enemy flickers (fast-teleports) in place for 3 s. 10 s cooldown. Every number in this feature is hard-coded and deliberately kept out of the config menu.
- A small badge sits just left of the stamina bar: bright green G = ready, amber number = seconds of cooldown left (it fills from the bottom). It stays on screen the whole time you are alive in a level, you do not need to be riding anyone.
- Trio mini-orbs (Y) — Flicks small orbs out from behind your back: 5 rounds × 3 orbs = 15 in total, one round every 2 s. Each orb drifts apart and wanders for up to 8 s. Only one orb is allowed to seek at any moment — the orb whose turn it is locks onto any enemy within 5 m of it and chases at 9 m/s; one orb, one enemy, no switching. After a hit the gate shuts for 1 s, during which the other orbs just drift and never scan; when it reopens the next orb starts scanning (if it finds a different enemy it chases that one). A hit pins the target in place for 1 s — same hold as the spirit orb (perfectly still, not wobbling). After the fifth round it goes on a 15 s cooldown. These numbers are hard-coded as well, deliberately kept out of the config menu.
- A second badge sits left of the spirit-orb badge (amber Y): while firing it shows ×N = rounds left; on cooldown it shows the remaining seconds (also filling from the bottom).
- Manual drop — Press the tumble key; 3 s cooldown on landing.
- Anti-tumble — Being hit by items or knocked by a tumbling teammate won't throw you off.
- Team support (blood donation) — When a teammate loses more HP than the threshold, you trade your own HP for theirs: what you lose is exactly what they gain (one for one). Up to 5 donations per attach.
- Detaches automatically if the teammate dies, hits 0 HP, or the scene changes.
Installation
- Install BepInExPack first (search "BepInEx" inside r2modman).
- Drop
plugins/StickHead.dllintoREPO/BepInEx/plugins/. - Launch the game. Settings live in
BepInEx/config/com.yanyan.stickhead.cfg.
Installing through r2modman or Gale is simpler.
Config groups
| Group | Contents |
|---|---|
| 0. Language | Interface language (中文 / English) |
| 1. Hotkeys | Attach key (default R), shake-off key (default F) — note: the spirit orb (G) and trio orbs (Y) are hard-coded and do not appear here |
| 2. Head | Height offset, extra compensation while crouching |
| 3. Stamina | Pip count, zero-stamina cooldown, manual-drop cooldown |
| 4. Teleport | Max distance, cone angle |
| 5. Display | Show stamina bar, HUD scale, message duration |
| 6. Debug | Logging toggle |
| 7. Team support | Enable, trigger threshold, HP moved (cost = heal), max donations, own HP floor |
Interface language
The first entry in the config menu is 0.Language > Language, offering 中文 / English. Defaults to Chinese.
- Applies instantly — if the menu is open it rebuilds itself on the spot, so section names, entry names and descriptions switch over immediately. No restart.
- Switching never loses your settings: each entry object is relabelled in place rather than re-bound, so your values stay exactly as tuned. The cfg file only ever holds one language's keys.
- On-screen messages (attached, dropped, cooldowns, donations) follow immediately, no restart needed.
Notes
- Don't run this together with RepoCheat's "stick to teammate's head" — both fight for your position and will drag you back and forth.
- It should work for non-host clients too (position is force-written and rotation is synced), but whether other players see you perfectly aligned depends on network sync — tune it after testing.
- The HP cost in the team-support feature prefers the game's own damage path. Outside of combat the game blocks that, so it falls back to writing HP directly, which may mean no red-screen feedback.
Found a bug? Leave a comment below. 有问题在评论区留言。
CHANGELOG
Changelog
1.2.5
中文
新增
- 护盾条:原来那条 5 格能量条换成一条护盾值,默认 100,
3.护盾 > 护盾值里可调 50~200。护盾顶在血前面:自己被怪打的时候先扣护盾、扣掉多少就把自己的血补回多少(等于这一下被护盾吃掉);你挂着的队友掉血也从这份护盾里扣、原样补给他,一对一,没有阈值也没有次数上限 —— 护盾和你挂的那个人共用同一个数。护盾扣空自动落下 + 10 秒冷却,重新挂上去时护盾刷新满。 - 前后偏移:配置
2.头顶里多一项,把挂载点沿队友正面往前/往后挪(正数往前走、负数往后,范围 -1~1)。往上往下还是原来的高度偏移管,两项互不影响;高度偏移的范围也一起放宽到 -1~1。 - H 键输血:挂在队友头顶、且他不是满血时按 H,按他缺多少补多少,正好补满为止,不会多给一点。例:他满血 180 只剩 20(缺 160),你满血 180 → 给他 160,你自己剩 20。
- 一定给自己留至少 1 点血 —— 你血不够补满他时只给到你还剩 1 点为止,绝不会为了给他加血把自己献祭掉。
- 只有挂在他头上才能按;他本来就是满血、或者你自己只剩一口气,按了只会提示一句话,什么都不扣。
- 被挂着那个人按 H 没有任何作用,这键只对骑手生效。
- 补完血被补的那个人屏幕正中偏上会过一行绿字:谁给他输送了多少点血。只发给他一个人,别人屏幕上不冒。
- 开关在
7.队友护盾 > H 键输血,默认开。
改动
- 主动落下的冷却 3 → 5 秒。
7.增益队友这组改名7.队友护盾,只留「开启」和「H 键输血」两项。原来的触发阈值、最多次数、自己最低保留血量三项已经不需要了(补血改成从护盾里出,不再是拿自己的血换),一并删掉。- 护盾条和灵球 G、三连球 Y 那两块小方块的排布不变,仍然是并排显示在右下角。
English
Added
- Shield bar: the old 5-pip stamina bar is replaced by a single shield value — 100 by default, adjustable 50-200 under
3. Shield > Shield points. The shield stands in front of your health: when a monster hits you the damage comes out of the shield and the same amount is healed back into your HP (the hit is eaten by the shield); when the teammate you are riding loses HP that amount comes out of the same shield and is handed back to him one for one, with no threshold and no cap — you and your rider share a single pool. An empty shield drops you off with a 10 s cooldown, and it refills to full every time you attach again. - Forward/back offset: new entry under
2. Headthat slides the mounting point along the teammate's facing direction (positive = forward, negative = back, range -1 to 1). Height is still controlled by the existing offset; the two are independent, and the height offset range is widened to -1 to 1 as well. - H-key transfer: while riding a teammate's head and he is not at full HP, press H to top him up by exactly what he is missing — never more. Example: his max is 180 and he is at 20 (missing 160), you are at 180 → he gets 160, you keep 20.
- You always keep at least 1 HP: if you cannot cover his full gap, you give only down to your last HP. You never sacrifice yourself to heal him.
- Only works while attached to his head. If he is already full, or you are down to your last HP, pressing H just prints a message and costs nothing.
- Pressing H as the carried player does nothing — the key only responds for the rider.
- After the transfer, a green outlined line appears slightly above the centre of the healed player's screen saying who transferred how much. It is sent only to that player; nobody else sees it.
- Toggle:
7. Team shield > H-key transfer, on by default.
Changed
- Manual-drop cooldown 3 → 5 s.
- The
7. Team supportgroup is now7. Team shieldand keeps only "Enable" and "H-key transfer". The old trigger threshold, max donations and own-HP floor are gone — topping up now comes out of the shield instead of trading your own HP, so those three no longer apply. - The shield bar sits in the same place as before, still flanked by the spirit-orb (G) and trio-orb (Y) badges in the bottom-right corner.
1.2.4
版本更新
1.2.3
中文
新增
- 三连小球(默认 Y):按一下从背后甩出小球,一轮 3 颗、每 2 秒一轮,一共 5 轮 15 颗。球出来先往上散开,然后慢悠悠乱飘最多 8 秒;球心 5 米内一出现敌人就拐弯追过去(9 m/s),1 米算命中,命中后那家伙被定住 0.5 秒。命中、消散都会炸一团绿色发光烟雾。5 轮打完冷却 15 秒,冷却里再按 Y 会提示还剩几秒。数值全部写死,不进配置菜单。
- 联机同步(灵球 G + 三连小球 + 定身):球的位置、命中、爆破现在都会同步给房里其他人 —— 别人也能看到你的球飞出去、命中、以及怪被钉在原地发闪。走的是自定义 PUN 事件(EV 187),不占用 RPC 名额。
- 全局联机位置/定身状态机:新加
OrbSync,自带幽灵球插值(0.7 秒没更新自动收)、迷你球批量位置(5Hz 一批)、定身是每帧末硬写位置(压住导航和网络回放)。定身不做任何偏移——目标就停在命中那一刻的真身位置,靠每 0.02 秒把它传送回同一个点压住,不是抖来抖去。(锚点必须取Enemy.CenterTransform:客机上Enemy.transform只是出生锚点,拿它当锚点等于把怪传送回它出生的地方。)
改动
- 灵球命中现在带绿色烟雾:命中瞬间在怪物身上起一团,烟雾跟着目标走,定身结束烟雾同步消失(以前命中只有怪在跳,没有特效)。
- 灵球命中时会把自己的定身状态播出去,客机上别人也能看见那只怪被按在那儿,不是只有你一个人看见。
- 三连球也上了 HUD:右下角现在是并排两块 —— 右边绿色的是灵球 G,左边琥珀色的是三连球 Y。就绪亮字母,冷却亮剩余秒数(方块内部由下往上充能),甩球期间显示这一轮还剩几发(×5 → ×0)。
- 两个球都拖尾了:灵球和三连球飞起来时后面拖着一条青绿色的尾巴,速度越快拉得越长,不再是两个光点在空气里平移。
- 球整体提亮:核心改成纯白、光晕加大加亮、发光强度 1.6 → 2.6,点光源更亮更远;三连球保持小颗(0.34),每颗自带一点光,暗处不会糊成一团。
- 灵球冷却 10 → 15 秒:跟三连球对齐。
- 三连球改成一颗一颗来:同一时刻只允许一颗球索敌,其余球该怎么飘怎么飘、完全不扫怪。轮到的球在 5 米内扫到怪才追,一球只认一只、认了不换(那只没了这颗就散)。打中之后闸门关 1 秒,这 1 秒里别的球不会凑上去也不会贴着等;闸门一开,下一颗才开始扫——扫到的是同一只就接着打它,扫到另一只就去追另一只,几只怪轮流挨打。命中后是原地不动的定身,时长 1 秒:位置锚在怪的真身位置(
CenterTransform,不是 root 出生锚点、也不是球心),本机先把它的移动部件静音(跟随力 / 远距 Warp 修正 / 寻路 / 位置同步,只动自己这一份),再摘掉它的 PhotonView 位置同步,然后每 0.02 秒把它传送回同一个点、每帧末硬钉 transform + CenterTransform,并把刚体锁成 kinematic。导航、跟随力、网络回放三路都拽不回去。以前只写一次 transform、下一帧就被盖回,看着像没定住;上一版加的是随机偏移闪烁、会左右抖,这版偏移全去掉,只保留反复传送回同一点。
修复
OrbFx.cs第一次真正进了编译:这颗灵球的整套特效(核心球、两层光晕、三条环线、粒子、点光)以前一直只躺在源码目录里,没被工程引用过,所以成品里其实没有它。这版补进构建清单了。
English
Added
- Trio orbs (Y): launches small orbs from behind you — 3 per volley, one volley every 2 s, 5 volleys (15 orbs). They fan upward, then drift slowly for up to 8 s; any enemy within 5 m of an orb's centre pulls it in at 9 m/s, hitting at 1 m and freezing the target for 0.5 s. Hits and expiries both pop a green glowing smoke puff. 15 s cooldown after the fifth volley; pressing Y during cooldown reports the remaining seconds. All numbers are hard-coded and intentionally kept out of the config menu.
- Multiplayer sync (orb G + trio orbs + stuns): orb position, hits and bursts are now mirrored to everyone else in the lobby — they see your orb fly, connect, and the enemy pinned in place. Transport is a custom PUN event (EV 187), so it never eats an RPC slot.
- Global netcode state machine: new
OrbSyncwith ghost-orb interpolation (an orb disappears after 0.7 s without updates), batched mini-orb positions (5 Hz), and per-frame stun enforcement that overrides navmesh and position sync. Stuns apply no offset at all — the target stays exactly at its real body position at impact, held by re-teleporting it to the same point every 0.02 s. (It must beEnemy.CenterTransform: on a guest,Enemy.transformis only the spawn anchor, so using it as the hold point would literally teleport the enemy back to where it spawned.)
Changed
- Orb hits now spawn green smoke: a puff appears on the enemy at the moment of impact, rides along with the target, and disappears together with the stun.
- Orb hits broadcast their stun state, so other clients also see the enemy held in place instead of it being a local-only illusion.
- Trio orbs now have a HUD: two pills sit side by side in the bottom-right corner — green for orb G on the right, amber for the trio Y on the left. Ready shows the letter, cooldown shows the remaining seconds with a bottom-up fill, and while a set is running it shows how many volleys are left (×5 → ×0).
- Both orbs leave a trail: orb G and the trio orbs now drag a teal trail behind them instead of moving around as bare light points.
- Brighter orbs overall: pure-white core, larger and brighter halos, emission 1.6 → 2.6, stronger and longer-reaching point lights; the trio orbs stay small (0.34) and each carries a faint light of its own so they don't smear together in the dark.
- Orb G cooldown is now 15 s (was 10 s), matching the trio.
- The trio orbs now work strictly one at a time: only a single orb is allowed to seek at any moment — the rest just drift and never scan. The orb whose turn it is locks onto any enemy within 5 m and never switches (if that enemy vanishes the orb fizzles). After a hit the gate shuts for 1 s; during that second no other orb closes in or hovers waiting. Once it reopens the next orb scans — if it finds the same enemy it hits it again, if it finds a different one it chases that one instead, so several enemies get hit in turn. A hit holds the enemy perfectly still for 1 s: the anchor is the enemy's real body position (
CenterTransform— not the root spawn anchor, not the orb). This client first mutes the enemy's own movement pieces (follow force / long-range Warp correction / pathfinding / position sync, local copy only), then drops its PhotonView position sync, then re-teleports it to that same point every 0.02 s and re-pins both transform and CenterTransform at the end of every frame, with the rigidbody locked kinematic. Navmesh, follow force and network replay all lose. The old code wrote the transform once and it was overwritten on the next frame, which looked like nothing happened; the previous build used a random-offset flicker that made the enemy wobble sideways — that offset is gone here, only the repeated re-teleport to the same point remains.
Fixed
OrbFx.csis compiled for the first time: the orb's whole visual stack (core sphere, two halo layers, three ring lines, particles, point light) only ever existed as source and was never referenced by the project, so shipped builds did not actually contain it. It is in the build manifest now.
1.2.2
中文
新增
- 甩人键(默认 F):别人挂在你头顶时按一下,演 0.7 秒「我倒了」——对面那套插件会主动松手。你自己血量一点不掉,只是给别的客户端发个假的血量归零,0.7 秒后自动把真实血量广播回去;这 0.7 秒里你要是真死了就不覆盖。前提是对方也装了本插件(「队友倒了就松手」这个判断老版本里没有),没装也不报错,只是甩不下来。
- 灵球(G):从胸前射出一颗浅绿色光球,沿准星方向以 9 m/s 飞 5 米然后悬停 3 秒。从出膛那一刻就开始扫,球心 5 米内只要有敌人就立刻拐弯以 16 m/s 追过去,0.85 米算命中,命中后那家伙被定住 3 秒、在命中点附近每秒疯狂传送约 18 次(就是你看到的闪烁)。冷却 10 秒。特效全是运行时现搭的:亮白绿核心球、两层会呼吸的叠加光晕、三条翻滚的圆环线、每秒 110 颗的世界空间火花粒子(贴图程序生成)、外加一盏浅绿色点光源,着色器走回退链。这一整套数值全部写死,刻意不进配置菜单。
- 灵球 HUD:右下角能量条左边一个常驻小方块。就绪=亮绿「G」+ 外框呼吸脉动;冷却=黄字剩余秒数(如 3.4),方块内部由下往上充能。只要在关卡里活着就一直显示,不依赖「挂在队友头顶」;死亡自动隐藏,复活回来接着显示。挂了人时能量条往左让一格,两块并排。
- 挂着的队友掉血也算你挨了一下:以前能量条只盯自己的血,现在你黏着的那个人挨打掉血,同样掉一格能量。
改动
- 输血改成一比一:原来的「自己扣血」和「给队友回血」两条合并成一条「扣多少=回多少」(默认 5)。扣自己 5 就给他补 5,屏上提示变成「输血:自己 -5 / 队友 +5」,两边数字必定相同。老配置里残留的「给队友回血」会被 BepInEx 归到孤儿项,不影响使用。
- 死亡时按 G 静默无效:不再刷「还没认到自己的角色」那种误导提示。
修复
- 被顶住、被撞翻滚不再白扣能量:以前被物品击打或被翻滚的队友撞到,即使没掉血也算挨了一下,白扣一格;现在只有真掉血才扣。
- 顺带修了个反的毛病:那次拦截会占用 0.35 秒的挨打冷却,导致紧跟其后的真掉血反而不算 —— 现在两件事分开记,互不顶掉。
注意
- 灵球 HUD 跟着「显示能量条」那个总开关走,关掉能量条它也不画。
- 灵球的定身用的是本插件一贯那套搬怪手段(
EnemyTeleported加每帧硬写位置、静音跟随力/寻路/位置同步),所以目标看起来就是原地不动。怪的 AI 仍跑在房主端,客机上只是「看起来被钉住」。敌怪列表每 0.4 秒刷新一次。
English
Added
- Shake-off key (default
F) — when someone is riding your head, press it to fake a 0.7 s knockdown. Their plugin checks "is the teammate I'm riding dead / at 0 HP" and lets go on its own. Your real HP is untouched: this only broadcasts a spoofedUpdateHealthRPC(hp = 0) to other clients, and the true value is sent back 0.7 s later. If you actually die inside that window the restore is skipped. Requires the rider to also run this plugin — the "my ride went down, let go" check does not exist in older builds. Nothing breaks otherwise, you just stay stuck. - Spirit orb (
G) — Press G to throw a pale-green orb from your chest along your crosshair. It travels 5 m at 9 m/s, then hovers for 3 s. It scans from the instant it is fired; the first enemy within 5 m of the orb makes it break off and chase at 16 m/s, and on contact (0.85 m) the target is stunned for 3 s, flickering around its hit position by fast-teleporting roughly 18 times a second. 10 s cooldown. Visuals are built at runtime: bright white-green core, two additive glow shells that pulse, three spinning ring line-renderers, a 110/s world-space spark particle system with a procedurally generated soft-dot texture, and a pale-green point light; shaders fall back through a chain. Every number in this feature is hard-coded and deliberately kept out of the config menu. - Spirit orb HUD — A small badge sits just left of the stamina bar. Ready: bright green G with a breathing outline. Cooling: amber countdown in seconds (e.g. 3.4) with the badge filling from the bottom. Visible the whole time you are alive in a level, not tied to riding a teammate; hidden while dead and back on revive. While riding someone the stamina bar shifts left so the two badges sit side by side.
- Losing HP while someone rides you now costs the rider a pip too. The energy bar used to watch only your own health; the teammate you are attached to losing HP is just as much "you got hit".
Changed
- Donation is now one-for-one — the two knobs ("your HP cost" / "HP given") are merged into a single slider, HP moved (default 5); whatever you lose is exactly what the teammate gains. The on-screen message reads "Donate: you -5 / mate +5" with both numbers always equal. The old "HP given" value is orphaned by BepInEx and ignored.
- No casting while dead — pressing G when dead is silently ignored instead of showing a misleading "avatar not found" message.
Fixed
- Shoves and bumps no longer cost stamina. Being blocked from a tumble (struck by an object, rammed by a rolling teammate) used to eat a pip even when you took no damage; now only real HP loss costs one.
- That same block was also eating the 0.35 s hit cooldown, so a genuine damaging hit arriving right after could end up costing nothing. Fixed: gaining a shove and losing HP are now counted separately.
Notes
- The orb HUD follows the "show stamina bar" master switch; turn that off and the badge goes with it.
- The stun uses the mod's usual enemy-position trick (
EnemyTeleportedplus a per-frame position write), so the target visually jitters in place. Enemy AI still runs on the host, so on a guest client the enemy looks pinned but the host's copy is authoritative. The enemy list refreshes every 0.4 s.
1.2.1
Changed
- Switching language now applies instantly — no restart. Each config entry is relabelled in place (section / name / description) instead of being re-bound, the cfg is saved, and an open config menu rebuilds itself on the spot.
- Your tuned values are untouched by the switch: the entry objects themselves are never recreated.
语言切换改为立即生效,不用重启游戏。 做法是不再重新绑定,而是把每个配置项的「分组 / 条目名 / 说明」就地换掉再落盘;菜单要是正开着,会自己重开一次,当场变新语言。
你调过的值一个都不会动 —— 配置项对象本身没被重建。
1.2.0
Added
- Interface language: 中文 / English. A new
0.Languagesection sits at the top of the config menu; pickEnglishto get English section names, entry names and descriptions. - Switching language carries your values over: whatever you'd tuned under the old language's keys is written into the new ones, and the old keys are purged from the cfg, so the file only ever holds one language.
- On-screen messages (attached / dropped / cooldown / donation) follow the language immediately — no restart.
新增:配置菜单中英双语。 菜单最上面多一段 0.Language,选 English 后分组名、条目名、说明全变英文。
切换语言不会丢设置:旧语言那套键里你调过的值会搬到新键上,旧键再从配置文件里清掉,文件里始终只有一种语言。
屏幕右下角的提示(挂上 / 落下 / 冷却 / 输血)即时跟随,不用重启。
Fixed
- Old leftovers from 1.0.x (
挂载and准星传送under[1.热键]) are now cleaned out of the cfg on startup — their values are logged once, then the keys are dropped. They hadn't been read since 1.1.0 and only served to confuse anyone editing the file by hand.
修复:清掉 1.0.x 遗留的死键。 [1.热键] 段里那两个 挂载、准星传送 从 1.1.0 起就不读了,一直挂在配置里,手改也没用。现在启动时把原值记进日志再删掉,文件干净。
Note
The config menu is built once at launch, so restart after switching.Obsoleted by 1.2.1: switching applies instantly.
注意:换语言要重启游戏才会变。 1.2.1 起已改为立即生效。
1.1.0
Changed
- Hotkeys consolidated into a single
准星挂载(attach) key. The separate挂载and准星传送entries are no longer read.
热键合并成一个「准星挂载」键,原来的 挂载、准星传送 不再读取。
1.0.0
- First public release.
首个公开版本。