跳到主要内容

基于技能的装备限制器

EM10 变更

从 EliteMobs 10 起,旧的公会段位战利品限制器已被基于技能的装备限制系统取代。公会段位不再存在。取而代之的是,玩家通过击杀精英怪来分别提升各个武器技能和护甲技能的等级,而他们的技能等级决定了他们能装备哪些装备。

工作原理​

在 EliteMobs 10 中,每位玩家对每种武器类型和护甲都拥有独立的技能等级:

  • 护甲(XP 倍率为 1/3)
  • 剑
  • 斧
  • 弓
  • 弩
  • 三叉戟
  • 锄
  • 锤
  • 矛
  • 法杖
  • 魔杖

当 AdventurersGuild.yml 中启用 skillBasedGearRestriction(默认启用)时,系统会按对应技能等级检查已识别的 EliteMobs 装备。例如,30 级的 EliteMobs 剑需要剑技能达到 30 级。护甲部件按护甲技能检查。非 EliteMobs 物品以及无法识别技能类型的物品不受这项检查限制。

玩家装备高于技能等级的装备时,装备更新处理会将被拒绝的物品掉落在玩家所在位置,并提示所需的技能等级。每位玩家每 40 tick 最多收到一次警告。此检查会等待登录后的玩家数据加载完成。

这项设置与 skills.yml 中的 skillSystemEnabled 独立;禁用技能 XP 不会禁用装备限制。Soulbind 的绕过权限也无法跳过这项技能检查。

注意: 20 级及以下的物品可以被任何人装备,不受任何技能限制。这让新玩家在基于技能的门槛生效之前,能够自由使用游戏前期的装备。

战利品与装备限制​

技能限制控制的是能否装备物品,而不是按旧公会段位降低战利品等级。独立的奖励保护仍然生效:自然精英怪的战利品可能受到下文所述的战斗等级上限或击杀次数限制。获得物品并不代表能够装备;启用装备限制时,20 级以上的物品仍要求达到对应的技能等级。

技能如何升级​

玩家通过击杀精英怪来获得技能经验(XP)。XP 的发放依据如下:

  • 武器 XP: 使用命中或发射投射物时记录的武器技能。怪物死亡前切换武器不会转移 XP;使用多种武器时,奖励按各自记录的伤害贡献分配。
  • 护甲 XP: 对按伤害贡献分配给你的 XP 应用 1/3 倍率,同时受击杀奖励资格和护甲技能自身等级门槛限制,并非每次击杀都必定获得。使用多种武器时,护甲技能可能超过某个单独的武器技能。
  • 伤害贡献: 在组队击杀中,XP 会根据每位玩家的伤害贡献按比例分配。

怪物的基础 XP 等于有效奖励等级的平方:50 级提供 2,500 基础 XP,100 级提供 10,000 基础 XP。这些数值尚未应用 Boss 倍率和伤害贡献分配;奖励等级上限及各技能的奖励资格限制仍然生效。

升至下一级所需 XP 公式​

从一个技能等级升至下一级所需的 XP 遵循三次方增长:

  • 1-100 级: XP to next level = 8.5 * L^3(其中 L 为当前等级)
  • 100 级以上(软上限): XP to next level = 8.5 * L^3 * (1 + ((L - 100)^2 / 100))

软上限倍率在 100 级时是连续的(1.0 倍),并在其之后呈二次方增长,使进度变得越来越困难。例如,在 150 级时倍率约达 26 倍,使进一步的提升几乎不可能。

击杀 Boss 时还会根据 Boss 的生命值与伤害倍率获得 XP 倍率加成。生命值部分为次线性(hpMultiplier^0.6),伤害部分则被大幅削弱(1 + (dmgMultiplier - 1) * 0.15),因此在普通伤害下,一个 10 倍生命值的 Boss 大约给予 4 倍 XP,一个 25 倍生命值的 Boss 大约给予 7 倍 XP。增援怪物和坐骑完全不给予技能 XP。

战斗等级​

玩家的总体战斗等级为 (最高武器技能 + 第二高武器技能 + 护甲技能)/ 3,并向下取整。

该战斗等级决定了在玩家附近自然生成的精英怪的等级,取代了旧的基于公会段位的怪物等级上限。

生命值加成​

护甲技能等级会提供最大生命值加成:护甲技能每超过 1 级,便 +1 颗心(2 点生命值)。例如,护甲等级 50 的玩家会在原版 20 点生命值的基础上获得 49 颗额外的心(98 点额外生命值)。

此加成取决于 skills.yml 中的 armorSkillHealthBonusEnabled,且不适用于 skillWorldExclusions 中的世界。启用 Advanced Combat System 时,只在受管理的战斗世界中生效。可选的 scalePlayerHealthDisplayToVanilla 设置只会改变爱心显示,不会改变实际生命值加成。

等级差保护​

当 AntiExploit.yml 中的 enableFarmingProtection 为 false 时,下列前三项保护会被禁用。ItemSettings.yml 中独立的金币奖励限制不受该开关控制。

  • 高等级上限。 技能 XP 使用的有效奖励等级上限为 combatLevel + farmingProtectionLevelDifference(AntiExploit.yml,默认 15)。同一上限也适用于自然精英怪的战利品;自定义 Boss 的战利品不使用此刷怪保护等级上限。
  • 各技能的等级下限。 每个武器技能或护甲技能仅在怪物的奖励等级至少为 skillLevel - farmingProtectionLevelDifference 时获得 XP。此检查只适用于固定等级的怪物;使用缩放战斗的怪物会跳过此检查。
  • 击杀次数上限。 技能 XP 处理器在滚动时间窗口内统计符合条件的自然精英怪击杀。若在 farmingProtectionMinutes(默认 30)分钟内超过 farmingProtectionKills(默认 20)次,就会从该时刻起限制一个完整窗口的时间。触发限制的击杀及之后的自然精英怪击杀,都无法从受限的奖励流程获得奖励。定时重置执行时,玩家若在线便会收到解除通知。自定义 Boss 不受此限制;禁用技能系统后,新的击杀不再加入此计数器。
  • 金币奖励限制。 ItemSettings.yml 中的 lootLevelDifferenceLockout(默认 10)会在传给金币掉落系统的奖励等级与你的战斗等级之差的绝对值超过配置值时,阻止按等级计算的金币奖励。战斗等级为 50 时,奖励等级 39 和 61 都无法通过默认检查。此设置本身不会阻止物品掉落。

程序化物品层级​

程序化生成的物品会根据其物品等级获得一个视觉皮肤层级。这些层级会通过资源包影响物品的 3D 模型及穿戴时的纹理外观。各层级如下:

层级最低等级描述
Bronze20第一个自定义皮肤层级;20 级装备仍不受技能限制
Palladium40进度中期层级
Corrupted60带有腐蚀视觉主题的高级层级
Living80带有生物体视觉效果的高等级层级
Ultimatium100终局层级,最高的视觉层级

20 级以下的物品使用默认的原版材质外观,不应用任何自定义皮肤。

防止代练​

结合灵魂绑定附魔与技能装备限制,可以抑制带练。即使玩家通过组队获得高等级战利品,也必须达到足够的技能等级才能装备。启用 Soulbind 时,程序化生成的物品会绑定给接收者,限制装备交易。