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.
LCC
让怪物按概率获得强化词条(吸血、反弹、盗贼、天劫、死斗、双子星等 40 余种),并按星级放大普通怪 / 小Boss / Boss 的战斗差异;附全局血量、伤害、移速、攻速、攻击冷却倍率,体型缩放,感知与追击距离,以及掉落收益调整。星级与词条由服务器权威抽取并全网同步,支持配置下发与开关即时回收。
By Lanlng
| Date uploaded | 2 weeks ago |
| Version | 1.1.3 |
| Download link | Lanlng-LCC-1.1.3.zip |
| Downloads | 72 |
| Dependency string | Lanlng-LCC-1.1.3 |
This mod requires the following mods to function
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.2333README
懒濑:LCC — 智能怪物强化 Mod
一个基于 BepInEx 的《英灵神殿》(Valheim) 服务器/单机 Mod。它让怪物随机获得强化词条(类似词缀/Buff),并在星级的叠加下明显拉开"普通怪 / 小Boss / Boss"的战斗差异,同时提供一套全局数值调整、体型缩放与攻击欲望控制。
- Mod 名称:懒濑:LCC
- GUID:
lanlng_LCC- 版本:1.1.3
- 语言:中文 / 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 同步,各端表现一致。
- 配置同步:客户端进入世界后自动向服务器拉取整套配置,多人下所有人使用同一份服务器配置。
- 开关即时生效:在服务器关闭某个词条开关,已生成的存量怪会立即回收该词条(含盗贼已偷物品仍会保留并在死亡时归还)。
二、安装
- 安装 BepInEx 5.x。
- 将编译产物
LCC.dll放入BepInEx/plugins/。 - 启动游戏一次生成默认配置后,配置位于
BepInEx/config/lanlng_LCC.cfg。
服务端(专用服务器)安装后请先启动一次以生成配置,需要改动的参数在配置文件中调整。
三、配置说明
配置文件:BepInEx/config/lanlng_LCC.cfg
(BepInEx 内置配置,使用 [分组] + 键 = 值 结构;修改后需重启或由服务器下发。)
主要分组一览
| 分组 | 用途 |
|---|---|
1-通用 |
模组日志开关、调试日志开关 |
2-星级控制 |
各类型升星概率、最低/最高等级 |
3-每星成长 |
每星血量/伤害/移速/攻速/冷却/体型系数 |
4-全局属性 |
各类型的血量/伤害/移速/攻速/冷却全局倍率 |
5-攻击欲望 |
各类型的感知倍率、追击倍率 |
6-强化系统 |
各类型强化抽取概率、脱队判定概率、各词条抽取权重 |
7-掉落调整 |
强化怪击杀收益:掉落概率加成、每星额外掉落数量、稀有物数量加成、星级掉落倍率上限、单个物品掉落上限、堆叠掉落开关 |
8-词条(盗贼 / 吸血 / 毒爪 / 均衡之体 / …) |
每个词条一个分组:是否启用、抽取权重 及各自参数 |
每个词条分组的通用三项
- 抽取权重:在抽取池中的出现权重(越大越常出现,
0= 不出现)。 - 是否启用:总开关。
- 适用类型:逗号分隔,如
boss,小boss(部分词条)。
词条的完整效果、玩家应对、测试命令见项目内
强化效果参考.csv。
服务器配置优先级
- 单机/主机:直接改本地 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 等(完整列表参见控制台命令帮助 / 强化效果参考.csv)。
五、常见问题
改配置后为什么已生成的怪不变?
- 词条/星级在怪物生成时按当时配置抽取,存量怪不会自动重抽。关闭某词条开关会立即回收存量怪;新增/调大则需怪物重生。
- 想立刻让野外全部敌对怪应用新配置:执行
lcc_refresh。
关闭开关后已偷物品会不会丢?
- 盗贼词条的"已偷物品"会在该怪死亡时掉落归还,关闭开关不影响归还(组件会保留至死亡)。
客户端改了配置没生效?
- 多人以服务器配置为权威,客户端设置会被覆盖。请在服务器端配置。
会不会影响驯养的动物 / 玩家?
- 不会。星级、词条、全局属性均只作用于"非玩家、非驯养"的敌对怪物。
六、备注
- 本 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即关闭星级体型),走 ZDOs_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+ 词条)、星级控制与每星成长、全局属性倍率、攻击欲望调整、强化抽取权重、配置服务器同步。