跳到主要内容

技能系统

EliteMobs 使用一套基于技能的进度系统,玩家通过与精英怪战斗来升级。玩家发展的不是单一的全局等级,而是各自独立的武器技能和一项护甲技能,它们共同决定其整体实力。

共有 9 种技能类型

技能武器备注
剑(Swords)任意 _SWORD
斧(Axes)任意 _AXE
弓(Bows)BOW
弩(Crossbows)CROSSBOW
三叉戟(Tridents)TRIDENT
锄(镰刀 / Hoes / Scythes)任意 _HOE
重锤(Maces)MACE需要 Minecraft 1.21+
矛(Spears)任意 _SPEAR需要 Minecraft 1.21.11+(搭配资源包)
护甲(Armor)头盔、胸甲、护腿、靴子被动升级

技能通过使用对应武器击杀精英怪来升级。你的战斗等级——由你的技能计算得出——决定了你能访问哪些内容、能装备哪些装备,以及在你周围生成的怪物难度。

技能如何升级

当你击杀一只精英怪时,你会根据该怪物的等级获得 XP。XP 的分配方式如下:

  • 武器 XP 归于与你仅主手所持武器相匹配的技能。副手武器不获得 XP。
  • 护甲 XP 在每次击杀时以武器 XP 的 1/3 速率被动获得。这意味着护甲总是落后于你的武器技能。
  • 组队战斗: 当多名玩家对同一只精英怪造成伤害时,XP 会按每位玩家的伤害贡献比例分配。如果你造成了 60% 的伤害,你将获得 60% 的基础 XP。

来自怪物的基础 XP

击杀怪物获得的基础 XP 为:

mob_xp = mob_level ^ 2
怪物等级获得 XP
11
10100
25625
502,500
10010,000

反漏洞保护

  • 低等级怪物(按技能计): 仅当怪物比该特定技能的等级低不超过 5 级时,每项武器/护甲技能才会获得 XP。如果某只怪物比你的剑术技能低 5 级以上,那么这次击杀你的剑术技能将一无所获(护甲技能对护甲同理)。此检查使用的是单项技能等级,而非你的战斗等级。
  • 高等级怪物: 比你战斗等级高出 5 级以上的怪物,其用于 XP 计算的有效等级被限制在 combat_level + 5。你仍会获得 XP,但不是全额。
  • 自然精英刷怪上限: 过快击杀过多自然精英(10 分钟内 10 次击杀,或每小时 30 次击杀)会触发临时冷却。这不适用于自定义 Boss 或地下城内容。

XP 进度

从当前等级升到下一等级所需的 XP 遵循以下公式:

1–100 级:

xp_to_next_level = 8.5 * current_level ^ 3

100 级以上(软上限):

xp_to_next_level = 8.5 * current_level ^ 3 * (1 + ((current_level - 100) ^ 2 / 100))

软上限倍率在 100 级时为 1.0(无额外惩罚),并按二次方增长。到 150 级时,倍率达到 26 倍,使得进一步提升变得极其困难。

每级 XP 表

下表显示了从给定等级升到下一等级所需的 XP,以及大约需要击杀多少只同等级怪物(武器技能,非护甲):

等级升至下一级所需 XP同等级怪物击杀数
108,50085
25132,812213
501,062,500425
753,585,937638
1008,500,000850
护甲耗时更长

护甲以武器速率的 1/3 获得 XP,因此与上表的数字相比,提升护甲大约需要 3 倍数量的击杀。在 50 级时,这意味着仅护甲就需要约 1,275 次同等级击杀。

战斗等级

你的战斗等级是衡量你整体实力的指标。它的计算方式为:

combat_level = (highest_weapon_skill + second_highest_weapon_skill + armor_skill) / 3

结果向下取整(整数除法)。

战斗等级决定:

  • 在你周围生成的精英怪等级
  • 你能装备哪些装备(装备等级必须不高于你相匹配的技能等级)
  • 你能访问哪些地下城和实例内容
  • XP 和战利品资格(反漏洞检查使用战斗等级)

战斗等级显示

你的战斗等级会以一个悬浮数字显示在你头顶上方,对其他玩家可见。它使用基于数据包的文本显示,并在你的技能变化时自动更新。显示格式可配置(默认:Combat Lv. X)。

XP 条

当你获得技能 XP 时,会出现一个动画 Boss 血条,显示你朝向下一等级的进度。该血条具有:

  • 随 XP 获得而平滑爬升的动画
  • 每种技能类型有不同的颜色(例如,剑为红色、弓为绿色、护甲为蓝色)
  • 升级时的特殊粒子和音效
  • 在 5 秒无活动后自动隐藏

装备限制

EliteMobs 装备具有与技能系统挂钩的等级要求。要装备一件精英物品,你对应武器或护甲类型的技能等级必须等于或高于该物品的等级。

例外: 20 级或以下的物品任何人都可以装备,不论技能等级如何。这确保了新玩家能够自由使用前期装备,而不会被锁定在外。

如果你尝试装备一件高于你技能等级的物品,你会收到一条警告消息,并且该物品不会提供任何精英加成。

技能奖励

随着你提升技能,你会在里程碑等级解锁特殊的战斗能力:

  • 10 级 —— 解锁第一个奖励
  • 25 级 —— 解锁第二个奖励
  • 50 级 —— 解锁第三个奖励
  • 75 级 —— 解锁第四个奖励

每种武器或护甲类型同时最多可拥有 3 个激活奖励。技能奖励通过 /em 菜单管理,或通过造访冒险者公会中的技能奖励 NPC 进行管理。

完整列出全部 84+ 个奖励及其作用,请参阅技能奖励

通知与 UI

技能系统提供多种形式的反馈:

  • 升级: 每次升级时的标题消息、挑战完成音效和不死图腾粒子爆发。
  • 里程碑: 仅当玩家达到里程碑等级(每第 5 级:5、10、15……)时才会发送全服广播。常规升级不会广播。该广播可在 dungeons.yml 中关闭。
  • 战斗等级显示: 头顶上方的悬浮数字,对其他玩家可见。升级时自动更新。
  • XP 条: 战斗期间显示技能 XP 进度的动画 Boss 血条。
  • XP 获取消息: 可选的每次击杀 XP 消息(默认禁用,因为它们可能会刷屏)。

上述大多数项目在 skills.yml 中配置;里程碑升级广播及其消息位于 dungeons.yml 中。

管理员命令

命令权限说明
/em skill check <player>elitemobs.skill.check查看玩家的技能等级、XP 进度和百分比
/em skill set <player> <skillType> <level>elitemobs.skill.admin将某项特定技能设置为给定等级
/em skill setAll <player> <level>elitemobs.skill.admin将所有技能设置为相同等级
/em debug combat startelitemobs.admin开始自动化战斗系统测试
/em debug combat test <type>elitemobs.admin测试某种特定武器类型(例如 swords、bows)
/em debug combat resultselitemobs.admin查看上次战斗测试的结果
/em debug combat cancelelitemobs.admin取消正在进行的战斗测试
备注

/em skill setskillType 参数接受:ARMORSWORDSAXESBOWSCROSSBOWSTRIDENTSHOESMACESSPEARS

服务器配置

技能系统在 skills.yml 中配置。关键设置:

设置默认说明
skillSystemEnabledtrue启用或禁用整个技能系统
armorSkillHealthBonusEnabledtrue护甲技能是否授予额外的最大生命值(每超过 1 级 +1 颗心)
scalePlayerHealthDisplayToVanillafalse保留 EliteMobs 的最大生命值,但在视觉上将玩家 HUD 缩放回原版的 10 颗心
forceDefaultHealthWhenArmorSkillHealthBonusDisabledfalse当护甲生命值加成被禁用时,强制玩家在加入时回到原版的 20 点最大生命值
skillWorldExclusions(空)技能系统在其中失效的世界名称列表。这些世界中的玩家不会获得技能 XP、护甲生命值加成、XP 条或战斗等级显示。对于希望人人平等的活动世界很有用。匹配不区分大小写
showCombatLevelDisplaytrue在玩家上方显示战斗等级数字
showXPBartrue在战斗期间显示动画 XP 进度条
skillBarTitleFormat&6$skillName &7Lv.$level$xpTextXP 条标题格式
skillLevelUpTitleFormat&e&l✦ $skillName LEVEL UP! &7→ &eLv.$level &e&l✦升级 Boss 血条标题格式
combatLevelFormat&6&lCombat Lv. $level战斗等级显示格式

完整的配置参考请参阅 EliteMobs 配置 页面。