全面改造(Overhaul)
单个插件 Overhaul.dll 大幅改造移动、战斗、成长、界面、储物、建造与地牢,同时尽量保留《Valheim》的原有风格。多数系统可配置,主要规则由服务器同步给所有玩家。项目仍在开发中。
面向 Valheim 模组开发者的 AI 库,可替换游戏角色的内置 AI,并提供可复用的 AI 类型与行为。包含工人和修理者 AI、注册与管理接口及配置说明。
MobAILib 是一个可用于替换 Valheim 中角色内置 AI 的库,旨在提供多种 AI 类型和行为,供模组作者用于打造更有生气的世界。
在模组项目中添加对 MobAILib 的引用。RagnarsRokare.MobAI.MobManager 用于注册和跟踪受控生物,并维护可用的 MobAI 列表,作为生物的“脑”并控制其行动。
每种 MobAI 都有自己的配置文件,例如 WorkerAIConfig 和 FixerAIConfig。它们继承自 MobAIBaseConfig,其中包含以下基础属性:
使角色在周围走动,并为冶炼炉、木炭窑、壁炉和火把补充物资。它会搜索地面物品和箱子。受伤时会战斗,但容易放弃(攻击性较低)。只有游戏对象附有 Tameable 组件时,FeedDuration 设置才适用。
WorkerAIConfig 默认值:
public int FeedDuration = 1000;
public string[] IncludedContainers = new string[] { "piece_chest_wood" };
public int TimeBeforeAssignmentCanBeRepeated = 120;
public int TimeLimitOnAssignment = 60;
使角色前往修理发现的受损建筑。它会装备库存位置 0 的物品;如果有锤子,则装备锤子,并在修理时使用攻击动画。受伤时会积极战斗(攻击性较高)。只有游戏对象附有 Tameable 组件时,FeedDuration 设置才适用。
FixerAIConfig 默认值:
public int PostTameFeedDuration = 1000;
public int TimeLimitOnAssignment = 30;
public string[] IncludedContainers = new string[] { "piece_chest_wood" };
RegisterMobAI(Type mobAIType)
注册自定义 MobAI。mobAIType 必须是继承 MobAIBase 并实现 IMobAIType 接口的类。实现示例见 GitHub Wiki。
RegisterMob(Character character, string uniqueId, string mobAIName, string configAsJson)
注册一个使用 MobAI 的生物:
character:生物的 Character 组件。uniqueId:用于在所有生物中唯一标识该生物的字符串。mobAIName:要使用的 MobAI 类型。可通过 MobManager.GetRegisteredMobAIs() 查看可用类型。configAsJson:序列化为 JSON 的特定 MobAI 配置。RegisterMob(Character character, string uniqueId, string mobAIName, object config)
使用对象配置注册生物,参数含义同上,config 为特定 MobAI 配置对象。
UnregisterMob(string uniqueId)
停止控制指定生物。
IsRegisteredMob(string uniqueId)
检查指定 uniqueId 是否对应已注册生物。
IsAliveMob(string uniqueId)
检查指定 uniqueId 是否对应活动生物。MobAI 已实例化并分配给生物时,该生物被视为活动状态。
Dictionary<string, MobAIBase> AliveMobs
所有活动生物保存在字典中,键为其 UniqueId。值是其 MobAI 的基类,可用于访问 CurrentAIState。
代码仓库:GitHub。仓库中也包含使用此库的 SlaveGreylings 模组。底层使用(或可能是不恰当地使用)Stateless 状态机:GitHub。作者感谢 Stateless 团队。
MobAILib 仍在开发中。作者表示这是业余项目,可投入的时间有限;欢迎反馈,但不一定能立即满足所有需求。
[BepInProcess("valheim.exe")],以兼容专用服务器。Tameable 组件;重做状态机树;弃用部分配置值。RegisterMob 添加接收配置对象的重载。**版本:**0.3.10
**作者:**RagnarsRokare
Rebuilt for Valheim v0.208.1
前往 N 网打开所选文件。安装与下载要求以原作者及平台说明为准。
<!-- aoe-mods-source:nexusmods:valheim:1188 -->