You are viewing a potentially older version of this package. View all versions.
Lanlng-LCC-1.1.2 icon

LCC

让怪物按概率获得强化词条(吸血、反弹、盗贼、天劫、死斗、双子星等 40 余种),并按星级放大普通怪 / 小Boss / Boss 的战斗差异;附全局血量、伤害、移速、攻速、攻击冷却倍率,体型缩放,感知与追击距离,以及掉落收益调整。星级与词条由服务器权威抽取并全网同步,支持配置下发与开关即时回收。

By Lanlng
Date uploaded 2 weeks ago
Version 1.1.2
Download link Lanlng-LCC-1.1.2.zip
Downloads 63
Dependency string Lanlng-LCC-1.1.2

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2333 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2333

README

懒濑:LCC — 智能怪物强化 Mod

一个基于 BepInEx 的《英灵神殿》(Valheim) 服务器/单机 Mod。它让怪物随机获得强化词条(类似词缀/Buff),并在星级的叠加下明显拉开"普通怪 / 小Boss / Boss"的战斗差异,同时提供一套全局数值调整、体型缩放与攻击欲望控制。

  • Mod 名称:懒濑:LCC
  • GUID:lanlng_LCC
  • 版本:1.1.2
  • 语言:中文 / English(游戏内文本与 F1 配置界面随游戏语言自动切换)
  • 目标框架:.NET Framework 4.8.1

一、核心功能

1. 强化词条系统(核心玩法)

怪物按类型概率获得一种强化词条,表现各异的攻击/生存/机制行为。全池 40 种以上,覆盖:

  • 通用强化:狂暴、迅捷、再生之躯、吸血、毒爪、反弹、元素之躯(庇/愈/逆)、均衡之体、机会主义者、集群之力、乱舞一通、幸运教徒、混沌行者……
  • 召唤/仇恨类:训狼大师、大祭司、死士、天照、双子星、阴影杀手、流浪武士……
  • 机制/Boss级:血猎人、临终反扑、黑暗审判、禁魔领域、死亡角斗场、死斗、盗贼、寄生虫、魅惑……
  • 小队类:生命共享、生命权柄(同类成群后共享生命/只有同死才死)。

每种词条都有:性能参数(可配置)、血量条下方的常驻图标 + 头顶台词提示,方便玩家识别并制定对策。

2. 星级系统

  • 按类型概率触发升星 roll(默认:普通怪 15%、小Boss 30%、Boss 10%),命中后在 [最低等级, 最高等级] 随机。等级 = 星级+1(1 = 无星、2 = 1 星、3 = 2 星);默认范围:普通怪 1~3、小Boss 1~3、Boss 1~2。
  • 每星成长可独立配置,默认:血量系数 1(与原版一致,每星翻倍)、伤害系数 0.5(每星 +50%)、移速/攻速/冷却系数 0(星级不影响这三项)、体型系数 0.1(每星 +10%,与词条体型叠加)。
  • 星级由服务器权威随机并全网同步,自动刷新在怪物名字与血条上。

3. 全局难度调整

按怪物类型(普通怪 / 小Boss / Boss)分别调整:

  • 全局倍率:血量、伤害、移速、攻速、攻击冷却。
  • 攻击欲望:感知距离(视觉/听觉/视角)、追击距离。
  • 体型缩放:可让怪物整体或逐只更大/更小,碰撞体同步缩放。
  • 全部可独立配置。

4. 平滑的多人 / 服务器体验

  • 服务器权威:星级抽取、词条抽取、伤害结算均在服务器端执行并 ZDO 同步,各端表现一致。
  • 配置同步:客户端进入世界后自动向服务器拉取整套配置,多人下所有人使用同一份服务器配置。
  • 开关即时生效:在服务器关闭某个词条开关,已生成的存量怪会立即回收该词条(含盗贼已偷物品仍会保留并在死亡时归还)。

二、安装与使用

安装

  1. 安装 BepInEx 5.x。
  2. 解压本包,将 plugins/LCC.dll 放入 BepInEx/plugins/。
  3. 启动游戏一次生成默认配置后,配置位于 BepInEx/config/lanlng_LCC.cfg。

服务端(专用服务器)安装后请先启动一次以生成配置,需要改动的参数在配置文件中调整。 多人游戏时客户端与服务端都要安装本 Mod;星级与词条由服务端权威抽取并同步给各客户端。

快速上手

本 Mod 装上即生效,不需要任何游戏内操作:

  • 怪物在世界生成(刷怪、事件、召唤)时,由服务器按配置概率抽取星级与强化词条,并同步给所有客户端,各端表现一致。
  • 想立即验证效果:按 F5 打开控制台,执行 lcc_test <怪物名> <强化id> 生成一只带指定词条的怪。
  • 改完配置想让野外的怪立即应用:执行 lcc_refresh(清场并按最新配置重新刷怪)。

如何识别强化怪

  • 名字与血条:星级会直接体现在怪物名字与血条上(等级 1 = 无星、2 = 1 星、3 = 2 星)。
  • 强化图标:带词条的怪物,血条下方会显示该词条的常驻图标。
  • 头顶台词:怪物会喊出词条对应的台词,可据此第一时间判断并制定对策。
  • 各词条的具体表现、玩家应对与测试命令见 LCC强化效果说明.md。

三、配置说明

配置文件:BepInEx/config/lanlng_LCC.cfg (BepInEx 内置配置,使用 [分组] + 键 = 值 结构;修改后需重启或由服务器下发。)

主要分组一览

分组 用途
1-通用 模组日志开关、调试日志开关
2-星级控制 各类型升星概率、最低/最高等级
3-每星成长 每星血量/伤害/移速/攻速/冷却/体型系数
4-全局属性 各类型的血量/伤害/移速/攻速/冷却全局倍率
5-攻击欲望 各类型的感知倍率、追击倍率
6-强化系统 各类型强化抽取概率、脱队判定概率、各词条抽取权重
7-掉落调整 强化怪击杀收益:掉落概率加成、每星额外掉落数量、稀有物数量加成、星级掉落倍率上限、单个物品掉落上限、堆叠掉落开关
8-词条(盗贼 / 吸血 / 毒爪 / 均衡之体 / …) 每个词条一个分组:是否启用、抽取权重 及各自参数

每个词条分组的通用三项

  • 抽取权重:在抽取池中的出现权重(越大越常出现,0 = 不出现)。
  • 是否启用:总开关。
  • 适用类型:逗号分隔,如 boss,小boss(部分词条)。

词条的完整效果、玩家应对、测试命令见 LCC强化效果说明.md。

7-掉落调整:收益怎么算

加成只对强化怪生效(有星级或带词条),普通怪完全走原版,不受这些配置影响。

原版对每个掉落项本来就有星级放大 2^(等级-1)(1 星 ×2、2 星 ×4、3 星 ×8),并同时放大概率与数量。本 Mod 在此基础上再叠加一层自己的倍率:

加成倍率 = 1 + 星级 × 每星掉落概率加成 + (带词条 ? 词条掉落概率加成 : 0)
实际概率 = 原版概率 × 加成倍率        (上限由「掉落概率封顶」卡住,默认 1)
是否掉落 = 实际概率 × 星级倍率 ≥ 1 ? 必定掉落 : 按该值随机

两个加成是相加关系,只填其中一个也能达到同样效果。 「星级倍率」= 被 星级掉落倍率上限 封顶后的 2^(等级-1)(默认封顶到 ×4)。 极少数不参与星级倍率的掉落项,只看前半段(实际概率 ≥ 1)。

想让物品必定掉落,就要让 原版概率 × 加成倍率 × 星级倍率 ≥ 1。按最苛刻的情形(1 星怪、星级倍率 = 2)保守估算:

希望基础概率多少以上的物品必掉 每星掉落概率加成 词条掉落概率加成
5% 19 19
2% 49 49
1% 99 99
0.1% 999 999

填 1000 基本可认为"所有掉落项必掉";这两个值没有上限,可直接填。 原版对概率 ≤ 0.3 的项使用"攒次数"式伪随机,只有把概率抬到 1 以上才会变成每次必掉。

数量由另外三项控制,与概率互不影响:

配置项 作用
每星额外掉落数量 每个掉出的物品再 + 星级 × 此值(默认 0,即与原版一致)
稀有物数量加成 概率最低的掉落项再额外 +N(默认 0)
单个物品掉落上限 每种物品各自封顶,用于压制高星怪爆量(默认 20,0 = 不限制)

星级掉落倍率上限 单独作用于原版的 2^(等级-1)(概率与数量同时受影响):4 = 3 星及以上按 ×4 计算(默认,压平高星曲线)、8 = 保留 3 星原始倍率、1 = 完全取消星级放大、0 = 不限制。

⚠️ 不要填 1:那会把星级算成 0,导致整套概率加成失效。 堆叠掉落开关 只影响掉落物的生成方式(合并成堆,避免大量物体造成卡顿),不影响数量与概率。

服务器配置优先级

  • 单机/主机:直接改本地 cfg。
  • 多人:以服务器 cfg 为准,客户端配置被服务器覆盖(进入世界时自动同步)。

四、控制台命令

游戏内按 F5 打开控制台(需 devcommands 权限或 admin),admin 玩家也可在客户端远程执行并自动转发到服务器。

命令 说明
lcc_test <prefab> <强化id> 在面前生成一只带指定词条的怪(写入 ZDO 跳过概率抽取)。prefab 填怪物名,如 Greydwarf。小队强化(share/authority)自动生成最低有效数量的小队。
lcc_refresh 清除全部敌对怪物并重置野外刷怪计时,数秒内按最新配置重新生成。用于改配置后快速生效于新怪。

lcc_test 常用强化 id:enrage、swift、regen、leech、venom、reflect、balanced、thief、arena、share、authority、shadow、twin 等(完整列表参见控制台命令帮助 / LCC强化效果说明.md)。


五、常见问题

改配置后为什么已生成的怪不变?

  • 词条/星级在怪物生成时按当时配置抽取,存量怪不会自动重抽。关闭某词条开关会立即回收存量怪;新增/调大则需怪物重生。
  • 想立刻让野外全部敌对怪应用新配置:执行 lcc_refresh。

关闭开关后已偷物品会不会丢?

  • 盗贼词条的"已偷物品"会在该怪死亡时掉落归还,关闭开关不影响归还(组件会保留至死亡)。

客户端改了配置没生效?

  • 多人以服务器配置为权威,客户端设置会被覆盖。请在服务器端配置。

会不会影响驯养的动物 / 玩家?

  • 不会。星级、词条、全局属性均只作用于"非玩家、非驯养"的敌对怪物。

六、本地化

本 Mod 支持中文 / English,跟随游戏语言自动切换,无需手动设置。

  • 覆盖范围:游戏内文本(词条名、头顶台词、HUD 提示、状态效果名称与说明)+ F1 配置管理器的分组名、条目名与悬停说明。
  • 切换方式:在游戏设置中改语言后,重开一次 F1 配置窗口即生效,无需重启游戏。
  • 词条文件:BepInEx/config/LCC/lang/<语言名小写>.yaml,首次启动自动导出,可直接编辑。语言名与游戏语言一致(仅小写化),例如:
    • english.yaml(English)、chinese.yaml(Chinese,简体)、chinese_trad.yaml(Chinese_Trad,繁体)
    • japanese.yaml(Japanese)、korean.yaml(Korean)、russian.yaml(Russian)
    • german.yaml(German)、french.yaml(French)、spanish.yaml(Spanish)
    • 复制其中任一份改名为其它语言(如 turkish.yaml)并翻译,即可新增语言,无需改代码。
  • 配置文件 lanlng_LCC.cfg 的分组名与键名保持中文原文,以保证升级后老配置不失效;英文玩家建议通过 F1 配置管理器调整(该界面文本已本地化)。

Chinese & English are supported and switch automatically with your game language. All in-game text and every label in the F1 configuration window are localized. Reopen the F1 window after changing the language — no restart needed. Translation files are exported to BepInEx/config/LCC/lang/ on first launch.


七、备注

  • 本 Mod 从游戏源代码逻辑出发设计,伤害结算、ZDO 同步均贴合原版机制,authority/boost 等多人路径已按服务器权威处理。
  • 配置项均已带中文注释,方便直接阅读调整。

八、交流与反馈

CHANGELOG

懒濑:LCC 更新说明

GUID:lanlng_LCC · 目标框架:.NET Framework 4.8.1


1.1.3(2026-10-03)

修复:词条开关关闭后仍然生成(重点)

四个独立成因,均已修复:

  • 关开关后 ZDO 残留:回收逻辑只销毁组件、不清 ZDO,重开或重载存档后词条"复活"。现由 owner 端把已关闭词条的 ZDO 改写成 none。
  • 魂返绕过开关:生成同伴时直接写入强化 id,未校验开关。现关闭时不再生成同伴(双子星副本同理)。
  • 载入旧存档不清理:回收只由配置变更事件触发,跨会话失效。现于世界载入后自动全量回收一次。
  • 各端判据不一致:现每个客户端都按本端开关把关,不再只依赖服务器清理。

修复:三个"功能从未生效"的缺陷

Harmony 只补丁带特性且为 public 的方法,而以下补丁缺失特性,自发布起从未运行:

  • 掉落加成(星级 / 词条提升掉落收益)—— Prefix 与 Postfix 均缺 [HarmonyPrefix] / [HarmonyPostfix]。
  • 堆叠掉落(合并同类掉落,避免高星怪掉落卡顿)—— 方法为 private 且缺特性。

补齐后这两项功能首次真正生效。

修复:阴影杀手破隐首击加成

时间戳用 Time.time(进程内计时)写入 ZDO 再跨端比较,多人下必然错位;且"仅首次加成"的清理写在非自己拥有的 ZDO 上,静默无效。现改用服务器时间,并按破隐窗口去重。

修复:天照小怪名称不显示

名称标签用 GetBool 读取一个字符串类型的 ZDO 键,恒为 false。已改用独立布尔标记,标签恢复显示。

稳定性:补丁异常隔离

全部 96 个补丁方法加异常守卫,任一补丁出错只记日志,不再中断原版的伤害/死亡结算(此前一处异常可导致战斗结算整体失效)。

稳定性:伤害结算顺序确定

为伤害类补丁显式指定执行优先级,消除因加载顺序不同导致的伤害数值不确定。

本次无新增配置项、无默认值变更,旧 .cfg 与旧存档可直接沿用。

1.1.2(2026-09-27)

调整:双刀流改为「两段伤害」

旧实现是「一次攻击、单段增伤」,表现上只弹一个伤害数字。现改为每次攻击打出两段等伤伤害(弹两个伤害数字):

  • 每段 = 原伤害 × 总伤害倍率 ÷ 2,两段合计 = 配置的总倍率(默认 2 倍,即每段就是原伤害)。
  • 拆段只在攻击发起端做一次,避免多点重复结算;对建筑、树木等非 Character 目标仍保持原版单段。

新增:怪物体型随星级增大(与词条体型叠加)

原版体型缩放由 LevelEffects 的档位表决定(m_levelSetups[level-2].m_scale,且要求档位数量 ≥ 等级 - 1):档位耗尽就完全不缩放、LCC 直跳高星时连低档都不生效;它写的又是 m_visual 同一个 transform,会与词条体型互相覆盖。

现改为「单一倍率、单一出口」:

  • 总体型倍率 = 星级倍率 × 词条倍率。星级倍率 = 1 + (等级-1) × 每星体型增幅(新增配置,默认 0.1 = 每星 +10%,填 0 即关闭星级体型),走 ZDO s_level,各端一致。
  • 原版 LevelEffects 的缩放赋值被抵消(保留它的材质变色与附加模型切换),体型统一由 BodyScale 施加,不再互相覆盖。
  • 视觉(m_visual)、受击碰撞体(m_collider)、近战攻击判定与 AI 攻击距离随同一倍率同步缩放(远程投射物不处理)。

调整:掉落收敛(高星怪掉落过多)

高星怪掉落爆炸的主因是原版 num = 2^(等级-1) 会同时放大掉落概率与数量(2 星 = ×4,3 星 = ×8),本 Mod 又在其上叠加了概率加成。本次新增上限收敛:

配置项 默认 说明
星级掉落倍率上限 4(新增) 给原版 2^星级 倍率封顶,3 星及以上按 2 星(×4)计算。8 = 保留 3 星原版倍率,1 = 完全取消星级放大,0 = 不限制
稀有物数量加成 1 → 0 默认不再给稀有物额外加数量,避免高星怪稀有物泛滥
单个物品掉落上限 20(替代原「单次掉落总量上限 500」) 每种物品各自封顶、超出直接截断,互不影响;不再像旧的「总量上限」那样把正常物品一起按比例削减

修复:词条开关关闭后,重启游戏仍然生效

挂载入口 AttachSingle 未校验词条开关,配置里关掉某个词条后,重进游戏 / 怪重新加载 zone 时又会被挂上。已在挂载入口加闸门:开关关闭即不挂载(存量怪仍由配置变更时的回收逻辑处理)。

修复:头顶血条文字刷 LiberationSans SDF 警告

TMP 组件随 GameObject 一起创建并激活,Awake 时字体仍为空 → TMP 走 Resources 兜底加载 LiberationSans SDF(Valheim 未打包该资源)→ 每次创建都刷警告。改为「先建未激活对象 → AddComponent → 赋字体 → 再激活」。

1.1.1(2026-09-26)

修复:多人下盗贼「偷了不还」

多人(尤其主机 + 客机/专服 + 客机)时,怪物的 ZDO 常由就近客户端持有(原版 ZDOMan 按活动区域分配 owner),而旧实现一律用 ZNet.instance.IsServer() 判据,两端都认为自己不该处理:

  • 偷取:客机端(它才是怪的 owner)以为自己不是服务器 → 不偷;服务器端既没有该怪的场景实例、也不执行该怪的伤害/死亡结算 → 永远收不到。表现就是「背包里东西没了,怪身上没有记录,击杀也不掉落」。
  • 归还:掉落挂在 Character.OnDeath 的 Postfix,而 OnDeath 最后一句是 ZNetScene.instance.Destroy(gameObject) → ZNetView.ResetZDO() 把 m_zdo 置空 → Postfix 读箱子 ZDO 直接空引用异常,归还代码一句都没执行。

修复:

  • 判据由「是否服务器」改为「是否怪的 owner」(m_nview.IsOwner()),与偷取触发点(受害者玩家 owner 端)对齐;两端不同 owner 时用 RPC 转交怪 owner 端处理。
  • 归还改为 Character.OnDeath 的 Prefix,在 ZDO 被销毁前完成掉落。

单机/主机下怪与玩家同 owner,行为与 1.1.0 完全一致。

修复:lcc_test 刷怪客户端看不到

刷怪基准位置原取 ZNet.GetPlayerList 里的 PlayerInfo.m_position,该字段只在玩家勾选小地图「公开位置」时才被填充,否则恒为世界原点 → 怪被刷到 (0,0,0),客户端 zone 外不加载。改为取 ZNetPeer.GetRefPos()(客户端周期性上报的参考位置,无条件有效)。

1.1.0(2026-09-20)

新增:掉落调整(强化怪终于有击杀收益)

新分组 7-掉落调整,让带星级/词条的怪掉得更多。只对怪物死亡生效,玩家死亡掉落不受影响。

配置项 默认 说明
掉落加成总开关 开 关闭后完全走原版掉落
每星掉落概率加成 0.2 每多一星,所有掉落项概率 +20%
词条掉落概率加成 0.5 怪带词条时再 +50%
掉落概率封顶 1 概率封顶 100%,避免 >1 破坏原版伪掉落判定
每星额外掉落数量 0 每个实际掉出的掉落项 + 星级 × 此值(0 = 与原版一致)
稀有物数量加成 1 稀有物掉出时个数 +1,在「每星额外掉落数量」之上叠加
堆叠掉落开关 开 同类掉落合并成堆(解决大量掉落物卡顿)
单次掉落总量上限 500 单只怪一次死亡的掉落总数兜底,0 = 不限制
  • 稀有物判定口径:掉落表中概率最低者视为稀有(概率并列则全算),并列多个时再取掉落数量最少者;稀有物可同时存在多个。
  • 未强化怪(无星级且无词条)完全走原版,不给任何加成。
  • 性能:原版对每个单位都生成一个掉落物 GameObject,高星级被 2^星级 放大数量后单帧可实例化数百个物体。开启堆叠后按物品堆叠上限合并(如 50 个一堆只生成 1 个物体),拾取时一次拿一整堆。

新增:文本提示双总开关

配置分组 1-通用 下新增:

  • 屏幕中间文字总开关(默认开)
  • 怪物头顶气泡总开关(默认开)

各词条自身的文本小开关仍独立生效,总开关是它们之上的总闸。

行为变化:屏幕中央文字现在只有 Boss 级怪物会弹。小怪、小Boss 的台词只走头顶气泡,且需要玩家在其附近才会显示——不会再出现"没看见怪、屏幕中间就刷出一行字"的情况。

调整:配置分组重新编号

分组 变化
7-掉落调整 新增
8-词条(盗贼 / 吸血 / 毒爪 / …) 由原 7-* 改为 8-*

分组在 cfg 文件里的显示顺序由段名排序决定,重编号后顺序为:1-通用 → 2-星级控制 → 3-每星成长 → 4-全局属性 → 5-攻击欲望 → 6-强化系统 → 7-掉落调整 → 8-各词条。

调整:默认数值

  • 吞噬:属性加成比例 20% → 40%(每吞噬一个友军,最大生命/攻击伤害/攻速 +40%、攻击冷却 -40%,层数累积)。

文档

  • 使用说明.md 更名为 LCC使用说明.md。
  • 新增 LCC强化效果说明.md / LCC强化效果说明.txt:全部词条的触发条件、效果、玩家应对、视觉提示,各含速查概览表。
  • 强化效果参考.csv 同步更新。

升级注意事项

词条分组段名由 7-* 变为 8-*,BepInEx 会把这些段当作新配置。你原来在 7-* 段里调过的数值不会自动迁移,会回落到默认值,需要重调一次(旧段会在下次保存配置时被清掉)。1- ~ 6- 段的配置不受影响。


1.0.0

首个版本:怪物强化词条系统(40+ 词条)、星级控制与每星成长、全局属性倍率、攻击欲望调整、强化抽取权重、配置服务器同步。