Rain Cleans 2.0

Rain Cleans 2.0

血与泥在雨中冲刷殆尽——暴风雨越猛烈,清洗得越快。

游戏玩法

Rain Cleans

原始概念来自 WinterElfeas,经许可重写并发布。

描述

站在雨中应该有点作用。这个模组让雨水逐渐洗去亨利、附近NPC、马匹、狗和狼身上的血迹与污垢。细雨几乎没什么效果,而倾盆大雨则会明显加快清洁速度。

血迹 在足够的雨量下会被完全清除。污垢 则只会被部分清理到可配置的底线——雨水能减轻脏污,但无法替代真正的洗澡。

功能

  • 强度比例清洁 — 降雨强度直接控制血迹和污垢的清除速度,从细雨(每周期0.5%)到暴雨(每周期5%)平滑过渡。
  • 两阶段清洁 — 快速粗扫阶段处理大部分清洁,在接近底线时自动切换到缓慢精细阶段,避免清洁过度。
  • NPC、马、狗和狼的清洁 — 范围内的实体以相同的强度比例速度被清洁,并遵循与玩家相同的底线值。
  • 定居点感知半径 — 在定居点内扫描半径自动缩小(5米),在野外扩大(15米),以保持繁忙区域的流畅性能。
  • 室内检测 — 在室内不会有清洁效果;即使你身在室外,建筑内的实体也会被单独跳过。
  • UI安全计数器 — 在淋雨中途打开物品栏、地图或任何其他屏幕不再重置你的雨水进度;一个宽限期会保持计数器,直到雨真正停止。
  • 雨水增加污垢(可选) — 启用时,如果污垢低于底线值,雨水会逐渐增加污垢。污垢会从两个方向向底线收敛——大雨会清除高于底线的污垢,并增加低于底线的污垢。可分别为玩家和NPC配置,默认关闭。

配置

用户设置位于 raincleans.cfg。有效值为 0–100 — 数值会自动四舍五入到最接近的有效步长。

  • #raincleans.minimum_blood = 0 — 血迹底线(0 = 完全清洁,100 = 雨水永不清洁血迹)
  • #raincleans.minimum_dirt = 40 — 雨水不会清洁到低于此值的污垢底线
  • #raincleans.rain_adds_dirt_player = false — 启用雨水为玩家增加污垢(true/false)
  • #raincleans.rain_adds_dirt_npc = false — 启用雨水为NPC增加污垢(true/false)

高级设置(滴答率、强度阈值、精确模式阈值)位于 raincleans.lua 中,并附有注释。

控制台命令

  • raincleans_debug — 切换详细日志输出开/关
  • raincleans_printstats — 将当前血迹和污垢水平打印到日志(也默认绑定到 F9 键)
  • #raincleans.minimum_blood = 0 — 实时更改血迹底线(立即生效,下次加载时重置)
  • #raincleans.minimum_dirt = 40 — 实时更改污垢底线
  • #raincleans.rain_adds_dirt_player = true — 实时切换雨水为玩家增加污垢
  • #raincleans.rain_adds_dirt_npc = true — 实时切换雨水为NPC增加污垢

兼容性

仅Lua脚本。不修改任何游戏表、XML文件或游戏数据。应几乎与任何其他模组兼容。

⚠ 免责声明 ⚠

此模组尚处于实验阶段,测试有限。使用风险自负,请始终保留备份存档。

已知限制和潜在问题

  • 开放遮蔽物下的雨水 — 室内检测仅识别正式建筑。铁匠铺、市场摊位及其他开放式屋顶结构被视为室外,因此清洁效果仍会生效。
  • 加载时校准 — 每次游戏加载时,模组会暂时将亨利设置为满血迹和污垢以构建其内部查找表,然后恢复他。如果在此过程中游戏中断(自动存档、崩溃、过场动画),亨利可能会处于意外的血迹或污垢水平,直到下次加载。
  • 污垢底线交互 — 游戏调度器会持续随时间增加污垢。如果你的污垢底线设置得较高,并且在暴雨中停留很长时间,你可能会注意到雨水清除污垢和调度器添加污垢之间轻微的来回拉锯。
  • 影响血迹/污垢的其他模组 — 其他也对玩家调用 AddBlood 或 AddDirt 的模组(清洗模组、血迹模组等)可能会与此模组的底线阈值发生意外交互。
  • 大量人群中的性能 — 定居点半径缩小(5米)有所帮助,但在雨中非常密集的NPC区域,每个周期的 AddBlood/AddDirt 调用次数会比平时更多。

致谢

原始模组概念和方法来自 WinterElfeasNexusMods上的RainCleans)。此版本为完全重写,经原作者许可发布。