正确的装备配置

正确的装备配置

你的武器槽现在有了意义。原版夜之城允许V背上三把突击步枪就算完事。Proper Loadouts 用一套规整的装备取代了那种无秩序状态:一把刀、一把手枪和一把长枪。就像任何希望完成任务后还能活下来的人真正会携带的那样。

更新日志

修复了隐藏且不必要的 Codeware 依赖。现在已不再需要它。

////////////////////////////////////////////////////////////////////////// 功能说明 /////////////////////////////////////////////////////////////////////////

三个武器槽位各自只接受一种武器类型,并且在物品栏界面中分别标注。

  • 槽位 1 - “近战武器”

    • 武士刀、长短刀、匕首和投掷物、锤子、棍棒、警棍、拳头
  • 槽位 2 - “副武器”

    • 手枪和左轮手枪
  • 槽位 3 - “主武器”

    • 突击步枪、冲锋枪、霰弹枪、狙击枪和精确步枪、轻机枪和重机枪

尝试将霰弹枪放入近战槽位,游戏会直接拒绝。槽位标签取代了原版游戏中所有三个槽位通用的“武器”文本,因此你可以一眼看清预期的装备配置。

义体手臂——螳螂刀、猩猩臂、单分子线、投射物发射系统——不受影响。它们占用的是义体手臂槽位,原本就不属于该系统。手雷同样不受影响。

============================================================

为何适合夜之城 /////////////////////////////////////////////////////////////////////////

赛博朋克的故事背景一直植根于一个人实际能携带多少装备,以及他们能以多快的速度取用这些装备。催生这个世界的桌面角色扮演游戏详细追踪着隐蔽、枪套和拔枪时间。电子游戏将这一切简化为三个可互换的槽位,但在这个过程中有所失——一个装备了三把狙击步枪的雇佣兵不是雇佣兵,而是故事中的一个错误。

“合理装备”恢复了这一逻辑,而没有增加负重系统或任何新菜单。刀剑入鞘携带。手枪插在腰间枪套里。长枪背在身后。三把武器,三个放置之处,三种不同的用途。

由此带来的玩法影响比现实主义的争论更有趣。因为现在每位 V 都会携带一把副武器,手枪不再是你跳过的类别——尤尼提、自由、奥马哈这些手枪都真正变得有用起来,而不是仅仅作为游戏早期的过渡装备。因为每位 V 都会携带近战武器,近战不再是一种孤注一掷的构筑承诺,而是每个人物在弹药耗尽或情况需要安静行动时都能使用的选择。而由于主武器槽位是唯一不受限制的,选择放入什么武器确实要付出一些代价。

它会奖励那些考虑交战距离的玩家——用于贴身距离的武器、用于房间内距离的武器、用于街道对面距离的武器——这正是这个设定中的中间人和独狼们谈论自己工作的方式。

============================================================

运作原理 /////////////////////////////////////////////////////////////////////////

三个轻量级脚本钩子,无存档文件、无 TweakDB 修改、无新增资源。

武器分类会读取物品的 gamedataItemType 并将其归类到三个类别之一。限制在两个独立的时间点执行,因为游戏通过两条不同的路径装备武器:物品栏菜单的装备通过 InventoryDataManagerV2 处理,而世界中的装备、快捷键和脚本序列则作为排队的请求由 EquipmentSystemPlayerData 处理。两条路径都已覆盖。槽位标签来自对物品栏显示控制器槽位名称查找的第三个钩子,在原版对三个槽位都返回单一通用字符串的位置,替换为每个槽位各自的文本。

所有内容都使用 @wrapMethod 而非 @replaceMethod 实现,因此该模组可以与修改相同功能的其他模组叠加,而不是覆盖它们。

============================================================

需求 /////////////////////////////////////////////////////////////////////////

这就是完整的列表。无需 Cyber Engine Tweaks、无需 ArchiveXL、无需 TweakXL、无需 Codeware。

不需要《往日之影》扩展包。

============================================================

安装 /////////////////////////////////////////////////////////////////////////

将压缩包解压到你的《赛博朋克 2077》根目录,或通过 Vortex 或 Mod Organizer 2 安装。最终路径应为:

Cyberpunk 2077\r6\scripts\ProperLoadouts\ProperLoadouts.reds

要卸载,删除该文件夹即可。不会向你的存档写入任何内容。

============================================================

兼容性 /////////////////////////////////////////////////////////////////////////

存档安全。无持久化数据、无 TweakDB 记录、无存档文件。可以在游戏过程中的任何时间点安装或移除。无需重新开始游戏。

武器模组可以正常工作,前提是它们使用标准的原生武器类型——几乎所有模组都是如此。如果武器注册了完全自定义的 gamedataItemType,它将被视为未分类并保持不受限制,而不是被锁定在所有槽位之外。

装备与配装模组如 Weapon Loadouts 和 EquipmentEx 均兼容。如果配装组合包含无效的配置,违规武器会被拒绝装备,而组合中的其余部分正常应用。

已知冲突:完全替换物品栏装备路径或物品显示控制器的 UI 大修模组可能会绕过限制或隐藏槽位标签。Project E3 / E3UI 及其 Inventory Adjustments Hub 是最主要的注意对象。限制和标签功能是独立失效的,因此你可能会遇到一个功能正常而另一个失效的情况。

============================================================

已知限制 /////////////////////////////////////////////////////////////////////////

任务脚本强制装备的武器会刻意绕过限制。阻止这些装备会破坏将特定武器交给 V 的脚本序列,因此这些情况被设计为允许通过。

已在现有存档中装备于“错误”槽位的武器会保留在那里,直到你手动移除。一旦移除,就无法再放回。

============================================================

致谢 /////////////////////////////////////////////////////////////////////////

基于反编译的游戏脚本来确认每个钩子目标。感谢 redscript、RED4ext 和赛博朋克模组社区提供的工具,使这一切成为可能。