MMO 怪物缩放

MMO 怪物缩放

这是MMO技能树模组的独立扩展,它将Hytale的开放世界逐区域转化为动态难度曲线,无需你手动放置任何怪物生成点。

游戏玩法

MMO 生物缩放

开放世界生物会根据周围玩家动态调整强度。 一支强大的队伍会遇到更难、更稀有、带有额外词缀的敌人;而独自冒险的新手则永远不会被碾压。本模组是 MMO 技能树 模组的独立配套组件,它让 Hytale 的开放世界按区域形成动态难度曲线,无需你手动放置任何生成点。

v1.0.0 - 首个发布版本。 完整的缩放系统已就位。目前仍在进行游戏内活跃调优,因此不同版本间的数值可能会发生变化。所有内容均由数据驱动,你可以重新调整其中的任何部分。

需求

这两个模组需在本模组之前加载(将三个 jar 文件放入服务器 Mods/ 文件夹):

  • MMO 技能树 >= 1.5.0 - 提供缩放系统读取的玩家强度/战斗等级 API。
  • Ziggfreed 的通用库 >= 1.2.0 - 本模组构建所需的共享基础库。

目标 Hytale 服务器版本 0.5.x(更新 5)。无需客户端安装:所有内容均为服务端处理。

功能说明

每个生成的敌对开放世界生物,其难度均根据三层因素决定:

  1. 原生区域 + 生物群系基准。 Hytale 自带的每个世界生成区域都有一个基础难度(内置了一套从区域 0 到区域 4 的平缓初始梯度)。区域越深,其生物越难。你可以为每个区域或生物群系调整一个小的配置文件;无需发明新的区域注册表。
  2. 与出生点距离的递增。 超过可配置的半径后,每增加一段距离,不仅会增加难度,还会提高稀有及带词缀生物的出现几率,因此任何区域的偏远边疆都将变得致命。远离家园的独行旅人应该能感受到这一点。
  3. 实际在场的玩家。 一个区域的难度会追踪该区域中玩家群体的真实实力(包括他们完整的 MMO 技能树构建:战斗等级、属性奖励、能力、精通、成就),而不仅仅是最高等级。如果一队强力的伙伴来到某个区域,该区域将做出相应回应。

生物越强,其回报越丰厚:击杀缩放后的生物可获得额外 MMO 经验值(如果以弱胜强还有额外奖励),并且能从基于稀有度的掉落表中获得额外的战利品。

特点

  • 稀有度阶梯。 稀有、史诗、传说,以及为特定生物强制设定的首领层级。每个层级都有不同的彩色名称牌、身体色调光晕、属性倍率、词缀槽、额外经验值和额外战利品表。
  • 词缀 基于原生 Hytale 效果(无需客户端模组):装甲(伤害减免)、坚毅(击退免疫 + 额外生命值)、迅捷(移动速度提升)、吸血(击中时生命偷取)和 冰冻(造成减速的寒冷效果)。你可以在内容包中创建自己的词缀。
  • 确定性随机。 生物稀有度和词缀由其身份信息决定,因此同一个生物在区块重载后也会完全相同(不会出现反复重随)。
  • 处处原生优先。 难度系统依托 Hytale 自身的世界生成区域、效果、NPC 群组标签集和物品掉落列表,因此你现有的世界和其他模组可以继续正常工作。
  • 两个玩家 HUD 覆盖层(见下文)。
  • 预设 + 完全数据控制。 为所有内容提供了即用预设和逐个文件的调优选项。

HUD 覆盖层

两个轻量级、针对每个玩家、始终显示当前信息的覆盖层(均可实时开关和调整位置):

  • 区域难度信息卡。 显示本地生成难度、相对于你(从"微不足道"到"致命"的威胁等级,带有颜色)、你自身的实力、追踪的群体实力,以及友好的位置名称(区域显示其真实游戏内名称,例如 "余烬废土",而非内部 ID;生物群系也会一并显示)。
  • 生物查看器信息卡。 看向任何生物,你都能看到它的肖像、名称、稀有度标签、缩放后的难度、实时生命值条及其词缀的图标芯片。词缀图标由数据驱动(使用物品 ID 或纹理),因此内容包可以自定义其主题。

命令

/mobscaling <子命令>(需要 hytale:Admin 角色,或关闭权限时的 OP 权限):

子命令 功能
inspect 报告你当前位置的难度输入信息(区域基准、距离加成、有效难度、区域实力、稀有度几率)。为默认子命令。
preset <名称> 实时切换活跃设置预设:Default(默认)、Casual(休闲)、Hardcore(硬核)、Playtest(测试)。
hud <zone/inspector> <on/off/位置> [偏移X] [偏移Y] 为所有玩家实时开关或重新定位任一覆盖层(位置可选:TOP_LEFTBOTTOM_RIGHT)。
purge 清除你世界中已加载生物身上的所有缩放残留物(生命值修饰符 + Mmoscaling_* 效果)。在卸载前需要对每个世界运行此命令。

HUD 和预设变更仅在运行时生效;配置文件才是持久性的权威设置。

配置

所有内容均为适当的 Hytale 资源(可由服主覆盖、可由资源包扩展),位于 mods/MmoMobScaling/ 和模组的资源存储目录下。你无需编辑 Java 代码。

  • 预设。 设置 ActivePreset(或使用 /mobscaling preset 命令)为 Default(平衡模式)、Casual(更平缓的曲线,更稀有的特殊生物)、Hardcore(更严苛,更密集)或 Playtest(从出生点开始陡峭上升,用于测试)。预设是部分覆盖;任何你未设置的项目都会继承默认值。
  • mods/MmoMobScaling/mob-scaling.json 覆盖任何设置键值(主开关、稀有度几率、难度上限、距离递增曲线、难度转属性曲线、群体实力聚合方式、以及两个 HUD 覆盖层,包括区域/生物群系名称键的前缀和查看器肖像开关)。仅存储你修改的部分;未设置的嵌套组将继承其余默认值。
  • 区域/生物群系基准 是模组 Difficulty/ 资源目录下的一个小文件(指定 TargetType 为区域或生物群系,使用原生名称或 * 通配符,以及一个 Floor 值)。
  • 稀有度和词缀 各为一个文件(包含权重、难度区间、倍率、词缀槽、原生效果、额外掉落表、显示颜色和查看器图标)。
  • 按世界控制。 MMO 技能树的每世界规则可以禁用一个特定世界的缩放功能或为其设置一个难度下限。

内容包可以添加或替换稀有度、词缀、区域基准和掉落表;加载顺序为 模组默认 < 内容包 < 服主

卸载说明

当模组启用时,它会不断调整每次加载的缩放生物,因此重新调整或移除模组都会干净地生效。一个被完全移除的模组无法自修复已保存的生物,因此为了干净卸载,请先在每个世界中运行 /mobscaling purge 命令(该命令即使在缩放被禁用时也能工作),然后移除 jar 文件。

安装

  1. 安装 MMO 技能树 >= 1.5.0Ziggfreed 的通用库 >= 1.2.0
  2. MmoMobScaling-<版本号>.jar 放入你服务器的 Mods/ 文件夹。
  3. 启动服务器。缩放功能默认启用,并使用平衡预设;可通过 mods/MmoMobScaling/ 目录进行调优。

兼容性

设计上以原生资源优先:缩放系统依赖 Hytale 自己的世界生成、效果、NPC 群组和掉落列表,因此它可以与其他内容模组共存。使用非标准世界生成(平坦/虚空/自定义)的世界,将退而使用基于距离和玩家邻近度的网格系统,并应用该世界的基准难度下限。

链接与支持