NPC武器卡壳

NPC武器卡壳

想过为什么NPC的武器不会卡壳吗?现在敌人的武器也会像你的一样卡壳了。

NPC 武器卡壳

人人都会卡壳。只是以前从来轮不到他们。


你的步枪在最要命的时候卡壳了。他们的却永远顺顺当当。现在可不一样了。

▌ 功能简介

原版游戏中,卡壳只是玩家一个人的麻烦。这个模组把它送给了敌人。激烈的交火中,一把磨损的AK咬住一发子弹,射击戛然而止,几秒钟内,潜行者忙于对付自己的武器,而不是你。

拉栓、上膛、退壳——游戏本来就为每种武器都做了这些动画,却从不曾让NPC用过一次。压制、侧翼包抄,或者就站在那儿享受片刻的安静。

▌ 全部基于游戏原生机制

没有凭空发明的机制。没有凭空猜测的平衡。没有额外的脚本层:

  • 游戏自带的卡壳曲线。 耐久度在80%以上不会卡壳;枪械状态越差,卡壳几率越高。土匪那把锈迹斑斑的霰弹枪会卡壳。保养良好的步枪基本不会。开发者给了明确卡壳数值的武器会沿用那些数值。
  • 游戏自带的难度缩放。 引擎本身的卡壳倍率仍然生效——大师难度下卡壳更频繁,正如原版设定。
  • 武器自身的动画。 泵动霰弹枪和AK的排除卡壳动作不一样,因为GSC本来就没把它们做成一模一样。
  • 武器自身的节奏。 脱离战斗的时间取决于该武器的卡壳动画时长,持续时间足以让动画完整播放。
  • 没有人会被卡死。 敌人在卡壳期间依然能完全响应——他们会下蹲、移动和躲避,同时在排除故障,一旦处理好就会立刻还击。

▌ 安全设计

  • 单个DLL。没有pak包,不修改游戏文件,不改变存档。
  • 成就照常解锁。 游戏会禁用注册过模组的成就——而DLL不算。
  • 每个引擎地址都会在启动时校验。游戏更新后,模组会自动关闭并提示,而不是带着你的存档一起完蛋。
  • 卸载就是删除两个文件。这就是全部所占用的空间。

▌ 安装方法

Windows

  1. uxtheme.dll 复制到: *...\steamapps\common\S.T.A.L.K.E.R. 2 Heart of Chornobyl\Stalker2\Binaries\Win64*
  2. 启动游戏。完成。

Linux / Steam Deck (Proton)

  1. 同一个文件夹,同一个文件。
  2. Steam → 右键点击游戏 → 属性 → 启动选项: WINEDLLOVERRIDES="uxtheme=n,b" %command%
  3. 启动游戏。

第2步是必需的——如果没有它,Proton会加载自己的uxtheme,模组根本插不上话。

还装了其他DLL模组? 一个覆盖指令,模组名之间用逗号隔开: WINEDLLOVERRIDES="winmm,version,uxtheme=n,b" %command% 如果用分号,你的其他模组就会悄悄加载失败。

模组管理器 (Vortex / MO2)

请手动安装。管理器会部署到模组文件夹;这个DLL必须放在游戏exe旁边,那并不是管理器会放的位置。

注意:同一时间只能有一个模组占用uxtheme.dll。

▌ 是否加载成功?

DLL旁边会出现一个 uxtheme.log 文件。第一行写着:s2mod attached。每次卡壳都会添加一行记录,偶尔还会输出汇总——谁卡壳了、用什么武器卡壳的、卡了多少次:

npcs: 20 jams across 13 stalkers

如果出了问题,把最后几行日志贴进bug报告。这份日志就是为了回答这个问题而写的。

▌ 配置需求

充分测试。这东西可糙得很。

▌ 致谢

感谢GSC——为Zone里每一把枪都制作了卡壳动画、卡壳时长和卡壳曲线,然后却只让世界上唯一一个人体验过它们。把这个想法完成真是件愉快的事。


狩猎愉快,潜行者。检查一下你的弹膛。