离线同伴重生

离线同伴重生

Valheim 1.0更新版ProfMags的离线同伴:持久化NPC同伴盟友,具备战斗AI、工作模式、家园定居,现在还支持可配置的自动重生。

[size=6][b]Offline Companions Reborn[/b][/size]

这是 [b][url=https://thunderstore.io/c/valheim/p/ProfMags/Offline_Companions/]Offline Companions[/url](作者 [url=https://thunderstore.io/c/valheim/p/ProfMags/]ProfMags[/url])的 Valheim [b]1.0[/b] 更新版。

[b]原始概念、设计和原始代码的所有功劳均归 ProfMags 所有。[/b] 本次更新的起因是原模组早于 Valheim 1.0,需要修复 API 才能继续工作。此后它已发展成为对同伴移动、工作和思考方式的大规模重做,目标是让它们表现得像另一名玩家,而不是一个机器人。如果你不在 Valheim 1.0 上,或者 ProfMags 发布了官方 1.0 更新,请改用原模组——去给它(和他们)一些支持吧。

[quote]也请去看看 ProfMags 的其他作品:[url=https://thunderstore.io/c/valheim/p/ProfMags/]Thunderstore 个人主页[/url] · [url=https://www.patreon.com/c/ProfMags]Patreon[/url][/quote]
[quote][b]GitHub:[/b][url=https://github.com/MaddhattrRocks/Offline-Companions-Reborn]MaddhattrRocks/Offline-Companions-Reborn[/url] —— 源代码、完整指南和设置参考,以及问题报告。[/quote]
[quote][b]发现了 Bug?[/b] 请在 [url=https://github.com/MaddhattrRocks/Offline-Companions-Reborn/issues]GitHub Issues[/url] 上报告,并附上你的 BepInEx [b]LogOutput.log[/b](位于你的 Valheim 或模组管理器配置文件夹内的 [b]BepInEx/[/b] 中)——同伴会记录它们正在做什么以及为什么,这会让问题更容易追踪。[/quote]
[size=5][b]近期亮点(v1.5.5)[/b][/size]

这是一次大更新。工作功能可用了!简而言之:

[list]
[][b]全新移动方式。[/b] 同伴像玩家一样在你的基地中自行寻路:边走边开关门、对准门口、跳上台阶、从边缘跳下、跳过溪流和小缺口,当干路不太远时绕开水域而不是游泳。[/]
[][b]空闲行为。[/b] 工作无事可做的同伴不再只是站在那里。它会在附近做些小杂务、坐下、溜达过去查看工作站和箱子,或者过来聊天——一旦有事情可做就立刻回去工作。[/]
[][b]修理与补给。[/b] 一项让基地持续运转的新工作:用锤子修理受损的建筑部件,为营火、火把、火盆和热水浴缸添加燃料,清空蜂箱,把多余的木材和石头堆成堆,并整理你的箱子。[/]
[][b]烹饪。[/b] 像玩家一样在各种烹饪站烹饪和酿造:大锅、备餐台、蜜酒壶、烤架、铁制烹饪站、烤箱和发酵桶,保持自己的火点燃,并优先酿造下一个 Boss 所需的蜜酒。[/]
[][b]采集与狩猎的工作方式相同。[/b] 开启跟随(Follow)时,木材、石头、矿石和采集只在你旅行时采集你附近的东西。关闭跟随时,它们会在一个区域内工作。游戏早期它们还会徒手捡起树枝、石头和燧石。[/]
[][b]你的命令优先。[/b] 你下达的每条命令都优先于同伴的工作,之后工作会从上次中断的地方继续。[/]
[][b]多人游戏。[/b] 同伴始终将其主人视为自己的玩家,即使运行它的是另一名玩家的游戏。它安全地使用箱子(不会丢失或复制物品),并尊重守护结界和私人箱子。[/]
[][b]同伴恢复(1.5.1)。[/b] 你的游戏会保存一份同伴名册。General > ShowCompanionRoster 显示每个同伴是存活(Alive)、死亡(Dead)、丢失(Lost)还是未知(Unknown),General > RecoverLostCompanion 可找回丢失的同伴及其装备。或者建造奥丁神龛(Odin's Shrine)(便宜,游戏早期可用)来查看它们并找回其中一个。[/]
[][b]梯子与更安全的移动(1.5.3)。[/b] 同伴像玩家一样爬梯子,包括由短梯组成的塔和世界废墟中的梯子,当它们找不到自己的路时会跟随你沿着狭窄塔楼的精确路径向上。它们会在会受伤的落差边缘停下,并像玩家一样受到坠落伤害。[/]
[][b]留在你离开的地方(1.5.3)。[/b] 关闭跟随的同伴在加载后不再跟着你,无事可做时会在原地空闲,而不是溜达回它最初出现的地方或遥远的家。[/]
[][b]更好的狩猎(1.5.4)。[/b] 猎人会安静地走近,在最后一段潜行,需要时停下来喘口气。持矛时它们会从远处投掷并过去捡回,在攻击前会切换到更近的动物。[/]
[][b]告诉你它在做什么(1.5.5)。[/b] 其名字下方的状态行会说明它正在做什么,以及当工作卡住时的原因——附带你设置中的数字("Wood 512/500 - at the limit.")。同伴说话少得多,而且说的话与其正在做的事和所在位置相符。[/]
[][b]死亡后优先取回装备(1.5.5)。[/b] 复活的同伴会在安全时从墓碑取回装备,进食,然后回到其姿态。会有消息说明它在何处复活。添加了切换姿态的按键绑定(默认未绑定)。[/]
[][b]在耕地上耕作(1.5.5)。[/b] 你耕种过的地面会被视为农田区域。[/]
[][b]整理过的设置。[/b] 配置文件已重新组织为清晰的章节,并配有通俗易懂的描述。你已更改的设置会自动沿用。[/]
[/list]
逐版本详情请参阅 [b]CHANGELOG.md[/b]。

[size=5][b]支持[/b][/size]

如果你喜欢这个模组并希望支持它的持续开发或我的其他作品:[url=https://www.patreon.com/cw/MaddHattr]Patreon[/url] · [url=https://ko-fi.com/maddhattr]请 Maddhattr 喝杯咖啡[/url]。

[size=5][b]此模组的功能[/b][/size]

Offline Companions Reborn 为 Valheim 添加了持久的 NPC 盟友。你首次进入世界时会获得一名同伴。获取更多同伴的方式即将推出。

同伴不是宠物——它们是队友,拥有自己的物品栏、装备、食物、耐力、技能和语音。给它们安排工作,它们就会真正去做:与你并肩作战、砍柴、采矿、采集、耕种、钓鱼、狩猎、烹饪和酿造、操作你的熔炉、照料你的基地、拉你的推车、坐在火边、睡在床上,并跟随你穿过传送门。

一切(外观、物品栏、装备、工作、家、技能、归属)都随世界保存,并在会话、区域切换、服务器重启和死亡后存续。

点击下方各章节的"显示"查看详情。完整信息请参阅 [b]Companion Guide[/b]([b]GUIDE.md[/b])和 [b]Settings Reference[/b]([b]CONFIGURATION.md[/b]),它们包含在下载内容中(模组文件夹内)以及 [url=https://github.com/MaddhattrRocks/Offline-Companions-Reborn/tree/main/package]GitHub[/url] 上。

[size=4][b]指挥你的同伴[/b][/size]
[spoiler]
[list]
[][b]轻按[/b]同伴上的交互键打开其面板:物品栏、装备、食物和名字。[/]
[][b]长按[/b]交互键打开[b]命令轮盘[/b]。选择工作、开启或关闭跟随、设置其家,以及切换游荡(Wander)、拾取(Pickup)和指挥(Command)。内环是战斗姿态。[/]
[][b]指向并命令:[/b] 瞄准某物并按命令键(默认为 [b]Z[/b])。同伴会根据上下文判断你的意思:
[list]
[
]敌人——攻击它[/]
[
]资源——采集它[/]
[
]推车——拉它[/]
[
]船——登船[/]
[
]床——睡在上面[/]
[
]火——坐在旁边[/]
[
]门——打开它[/]
[
]箱子——把它的东西放进去[/]
[
]制作站——在那里修理它的装备[/]
[
]墓碑——取回它[/]
[
]地面——走到那里[/]
[/list][/
]
[][b]长按[/b]命令键将附近的同伴召唤到你身边。继续按住几秒钟可召回任意距离的所有同伴。[/]
[][b]你的命令优先。[/b] 同伴执行命令时,其工作会等待,然后从上次中断的地方继续。[/]
[][b]设置家[/b] 标记同伴居住的地方。它会在附近认领一张床,把工具带回那里,在那里清空背包,并在其周围工作。[/]
[/list][/spoiler]

[size=4][b]战斗[/b][/size]
[spoiler]
同伴以防御为主的战斗 AI 作战。它们举起盾牌格挡来袭攻击,招架并反击,当多个敌人同时攻击时会切换到最好的格挡盾牌。它们根据面对的敌人——其实际弱点和抗性——而非原始伤害来选择武器。它们还会用火把对付怕火的敌人。

当同伴携带匹配的弹药时会使用弓和弩。它们会正确地装填和发射弩,并在敌人逼近时切换到近战。

同伴不会主动挑衅安分守己的生物。默认情况下,当生物注意到你或它们时才会攻击。关闭 [b]EngageOnNotice[/b] 设置(战斗章节)后,它们会等到对方真正冲你而来才动手。任何攻击它们的东西都会被反击。生命值低于设定水平时它们会防御性作战,生命值极低时会逃跑。

战斗姿态(命令轮盘内环;使用控制器时,将摇杆向某个方向推一半):

[list]
[][b]均衡[/b] —— 根据情况选择近战或远程[/]
[][b]被动[/b] —— 从不主动开战;只跟随或工作[/]
[][b]远程[/b] —— 偏好弓或弩并保持距离[/]
[][b]近战[/b] —— 坚持使用近战武器[/]
[/list]
战斗结束后,同伴会过去捡起击杀掉落物(开启拾取时)。[/spoiler]

[size=4][b]采集:木材、石头、矿石和采集[/b][/size]
[spoiler]
[list]
[][b]开启跟随时[/b],采集同伴的工作方式类似狩猎。它会在你旅行时采集你附近的树木、岩石或植物(默认 10 米),否则跟随你。采集是关于你碰巧路过的浆果,而不是清空整个区域。[/]
[][b]关闭跟随时[/b],它会在一个区域内工作:如果是在家附近启动的,就在家周围;否则在你离开它的地方周围。[/]
[][b]采集什么和多少:[/b] 采集列表和数量决定它收集什么以及何时停止——木材类型、石头和燧石、每种矿石、每种采集物品。不在列表上的物品会留在地上。数量计算其背包中的物品加上家中的箱子。[/]
[][b]游戏早期:[/b] 没有青铜斧且没有熔炉制作时,木材和石头工作也会捡起地上散落的树枝、石头和燧石。[/]
[][b]安全:[/b] 它会避开倒下的树木,不会砍伐紧邻你建筑的树木。某些树木可以完全不动(默认为橡树)。[/]
[][b]背包满了:[/b] 它会卸货到箱子里。离家在外时也可以使用附近的推车或船。如果无处卸货,它可以扔掉不需要的杂物。[/]
[/list][/spoiler]

[size=4][b]狩猎和钓鱼[/b][/size]
[spoiler]
[b]狩猎[/b]
[list]
[]追捕掉落肉类的生物,直到每种肉都足够。[/]
[]像鹿这样易受惊的猎物会被潜行接近以出其不意。[/]
[]射鸟获取羽毛(需要弓或弩)。[/]
[]捡起掉落物,背包满时将猎物带回家。[/]
[]开启跟随时在你附近狩猎;关闭跟随时在设定工作的地方周围。[/]
[/list]
[b]钓鱼[/b]
[list]
[]用鱼竿和鱼饵抛竿,为附近的鱼选择最好的鱼饵。[/]
[]等待咬钩、提竿,并在留意钓线时收线。[/]
[]背包满时将渔获带回家。[/]
[]每种鱼都有目标数量,足够时就会停止。[/]
[/list][/spoiler]

[size=4][b]耕种[/b][/size]
[spoiler]
[list]
[]收获成熟作物,逐行进行,并储存收成。[/]
[]在你用农田区域编辑器(默认为 [b]左 Alt[/b] + [b]Z[/b])标记的农田区域重新种植。区域可设定为特定作物或"任意"。[/]
[]保留种子储备。它会在作物旁种植种子植物(胡萝卜、萝卜、洋葱……)以补充库存,且从不种下你最后的种子。[/]
[]每种作物成小块种植,且从不在"任意"区域种植树苗。[/]
[]像玩家建筑一样尊重守护结界。[/]
[/list][/spoiler]

[size=4][b]冶炼和烹饪[/b][/size]
[spoiler]
[b]冶炼[/b]
[list]
[]从附近的箱子(以及家中的箱子)为窑、冶炼炉、熔炉等添加矿石和燃料。[/]
[]收集产物并储存。[/]
[]箱子中没有燃料时,它可以用锤子拆掉木堆并使用。[/]
[/list]
[b]烹饪[/b]
[list]
[]像玩家一样使用各种烹饪站:大锅、备餐台、蜜酒壶、烤架和烹饪站、铁制烹饪站、烤箱、发酵桶和蜂箱。每一种都可以在设置中关闭。[/]
[]烹饪直到每种食物达到其目标,并始终为你保留一份原料储备。[/]
[]批量酿造蜜酒基底,装填和开启发酵桶,并将熟食与同类食物放在一起。蜜酒制作可以关闭。[/]
[][b]为你的进度酿造:[/b] 蜜酒基底会根据你击败的最后一个 Boss 优先排序,助你为下一个做好准备。[/]
[]保持其烹饪站下方的火和烤箱燃烧——刚好够烹饪。[/]
[/list][/spoiler]

[size=4][b]修理与补给(照料你的基地)[/b][/size]
[spoiler]
一项留在家(或前哨)的同伴的工作。只要区域加载中,它就能自行维持区域运转——需要你(或其他玩家)足够接近,让游戏保持该区域加载:未加载区域中的同伴会冻结,直到有人回来:

[list]
[][b]修理:[/b] 用锤子修理受损的建筑部件,像玩家一样一次挥一下。需要附近有合适的制作站和守护结界权限。[/]
[][b]补给:[/b] 为营火、壁炉、火盆、火把、壁灯和热水浴缸添加燃料。每种都可以开启或关闭。[/]
[][b]蜂箱:[/b] 清空它们并存放蜂蜜。[/]
[][b]堆叠:[/b] 将箱子中多余的木材、石头等堆放到你已建好的堆旁,并在箱子中保留设定数量的建筑材料。箱子不足时,它会拆掉一个堆来补充。[/]
[][b]整理:[/b] 将箱子中的物品同类归并,把每件物品搬到已存放最多该物品的箱子。[/]
[/list]
它会从箱子中取所需物品(锤子、燃料),并把剩余物放回。如果你派它去某处,它会在那里等一小会儿再回去做杂务。[/spoiler]

[size=4][b]无事可做时(空闲行为)[/b][/size]
[spoiler]
当同伴的工作无事可做且没有跟随你时,它会在工作地点附近空闲,而不是站着不动。它可能会:

[list]
[]在附近做些小杂务:修理一个部件、给火添燃料、收集蜂蜜、存放携带的物品[/]
[]在椅子或长凳(或地上)坐一会儿[/]
[]溜达过去查看工作站或箱子[/]
[]走到你或另一名同伴那里聊天[/]
[/list]
它偶尔会告诉你为什么空闲("Waiting for the crops to grow.")。一旦工作有事情可做,它就会立刻回去工作。它也会因战斗、命令、睡觉时间或你打开其菜单而停止空闲。[/spoiler]

[size=4][b]装备、工具和修理[/b][/size]
[spoiler]
[list]
[]每名同伴都有一个完整的物品栏,并装备其携带的最好的武器、盾牌和护甲。耐久度与玩家相同。[/]
[][b]工具:[/b] 工作会从家中的箱子取所需工具(斧、镐、耕耘机、鱼竿和鱼饵、锤子……),之后归还借来的工具。损坏的工具会被修理或更换。[/]
[][b]装备修理:[/b] 磨损的装备会被带到玩家可使用的制作站(需要时包括屋顶和火)。在家时会更早进行。附近没有工作站能修理的物品会被搁置一段时间,而不是反复尝试。[/]
[][b]背包:[/b] 当你更改同伴的工作,或它回家时,它会将捡到的东西清空到箱子中。[/]
[/list][/spoiler]

[size=4][b]食物、休息、床和死亡[/b][/size]
[spoiler]
[list]
[][b]食物:[/b] 同伴像玩家一样从其自身物品栏中最多三个食物槽进食。需要时会喝治疗和耐力蜜酒。[/]
[][b]休息:[/b] 它们在火边获得休息(Rested)增益,当你坐在火边时,附近的同伴会和你一起坐下。[/]
[][b]床:[/b] 每名同伴像玩家一样认领一张床,床上显示其名字。它晚上(以及你睡觉时)上床,早上回去工作。[/]
[][b]死亡:[/b] 死亡的同伴会留下一个墓碑,在你的地图上保留直到被清空。它会在一段时间后在其床上(或你旁边)复活,并在靠近其墓碑时收集自己的装备。[/]
[][b]死亡惩罚:[/b] 它死亡时损失的东西默认遵循你的世界设置,也可以更改。[/]
[/list][/spoiler]

[size=4][b]多人游戏[/b][/size]
[spoiler]
[list]
[][b]你的同伴始终属于你。[/b] 在多人游戏中,游戏有时会将同伴交给附近的任意玩家的电脑运行。同伴仍将其主人视为自己的玩家:它会跟随你、在你睡觉时睡觉,并执行你的命令,无论运行它的是谁的游戏。[/]
[][b]箱子可以安全共享。[/b] 同伴不会使用有人打开的箱子、其他玩家的私人箱子,或在其无法打开的守护结界后的箱子。它移动的物品会被正确保存,不会丢失或复制。[/]
[][b]功劳归于主人。[/b] 同伴种植的作物和建造的堆算作其主人所建。[/]
[][b]跳过夜晚:[/b] 同伴走向床时会保持跳过夜晚(最多 30 秒)。[/]
[][b]到处安装。[/b] 在专用服务器上,服务器也需要此模组。没有它的服务器或主机会删除其加载的同伴(尤其是在世界出生点附近)。被删除的同伴可以用 General > RecoverLostCompanion 找回(见指南),但最好不要丢失它。[/]
[/list][/spoiler]

[size=4][b]设置[/b][/size]
[spoiler]
所有设置都在 [b]BepInEx/config/Maddhattr.OfflineCompanionsReborn.cfg[/b] 中。也可以在游戏内用设置面板更改(默认为 [b]F8[/b])。每项设置都有通俗易懂的描述。

它们分为:[b]General、Controls、Follow、Movement、Combat、Food、Stamina、Rest、Death、Looting、Gear Repair[/b],每项工作一个章节([b]Gathering、Hunting、Fishing、Farming、Smelting、Cooking、Repair and Restock[/b]),[b]Idle、Speech[/b],以及 [b]Advanced[/b](大多数玩家不需要的微调)。

[b]列表设置[/b](采集什么、烹饪什么、狩猎什么、种植什么……)都使用相同格式:
[list]
[][b][/b] = 全部[/]
[
][b]Name[/b] = 这一个[/]
[
][b]-Name[/b] = 从不用这一个[/]
[
][b]Name:Number[/b] = 这一个,附带自己的数量[/]
[/list]
可用的名称会在启动时写入配置文件夹中的 [b]OfflineCompanionsReborn.Cooking.txt[/b]、[b].Hunting.txt[/b] 和 [b].Fishing.txt[/b]。

从旧版本更新?你更改过的设置会在首次加载时自动沿用至其新名称。[/spoiler]

[size=5][b]安装[/b][/size]

使用 Vortex 安装,或手动安装:将 zip 解压到你的 Valheim 文件夹,使 [b]Companions.dll[/b] 最终位于 [b]BepInEx/plugins/OfflineCompanionsReborn/[/b]。

[b]请先移除 ProfMags 的原版 Offline Companions。[/b] 它无法在 Valheim 1.0 上工作,且 Reborn 在其安装时不会启动(BepInEx 日志会说明)。

[b]需要:[/b] Valheim 的 BepInExPack(BepInEx 和 Harmony)。

[size=5][b]未来计划[/b][/size]

[list]
[
]继续开发同伴 AI,使其行为更像另一名玩家。[/]
[
]更多多人游戏功能。[/]
[
]对照玩家审查技能和属性(生命、回复、耐力、技能提升)。[/]
[
]战斗改进。[/]
[
]对船和推车的全面审查。[/]
[
]前哨:让同伴将第二个基地视为家的方式。[/]
[
]更智能的箱子组织(矿石靠近熔炉、食物靠近烹饪站……)。[/]
[
]添加从 Haldor 商店招募同伴的方式。[/*]
[/list]
[size=5][b]源代码[/b][/size]

完整源代码在 GitHub 上:[url=https://github.com/MaddhattrRocks/Offline-Companions-Reborn]MaddhattrRocks/Offline-Companions-Reborn[/url]。

[size=5][b]许可证[/b][/size]

MIT —— 见 [b]LICENSE[/b]。这与原版 Offline Companions 模组发布的许可证相同;根据许可证条款,本次更新保留了 ProfMags 的版权声明,并附上此处所做的额外更改。

[size=5][b]免责声明[/b][/size]

这是一个非官方的社区更新,旨在让一个出色的模组在 Valheim 1.0 上继续工作。它与 ProfMags 无关,也未获其认可。如果 ProfMags 希望将其下架、合并或以不同方式处理,请直接告知——乐意配合。

此模组的部分代码在 AI 工具的协助下更新和创建。这是在特定指令、代码审查以及发布新版本前的严格和反复测试下完成的。AI 工具只是加快了工作速度,不影响创作方向。