技能系統
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 | 頭盔、胸甲、護腿、靴子 | 被動提升 |
技能透過使用對應的武器擊殺精英怪來提升。你的戰鬥等級(由你的技能計算而來)決定了你能存取哪些內容、能裝備哪些裝備,以及在你周圍生成何種難度的怪物。
技能如何提升
當你擊殺一隻精英怪時,你會依據該怪物的等級賺取經驗值。經驗值的分配方式如下:
- 武器經驗值會給予與你**主手(且僅限主手)**武器相符的技能。副手武器不會賺取經驗值。
- 盔甲經驗值會在每次擊殺時以武器經驗值 1/3 的速率被動賺取。這表示盔甲總是落後於你的武器技能。
- 團隊戰鬥: 當多名玩家對同一隻精英造成傷害時,經驗值會依據每位玩家的傷害貢獻按比例分配。如果你造成了 60% 的傷害,你就賺取基礎經驗值的 60%。
怪物提供的基礎經驗值
擊殺一隻怪物所賺取的基礎經驗值為:
mob_xp = mob_level ^ 2
| 怪物等級 | 賺取的經驗值 |
|---|---|
| 1 | 1 |
| 10 | 100 |
| 25 | 625 |
| 50 | 2,500 |
| 100 | 10,000 |
反濫用防護
- 低等級怪物(依技能而定): 每項武器/盔甲技能只有在怪物等級至多低於該特定技能等級 5 級時才會獲得經驗值。如果某隻怪物的等級比你的劍技低超過 5 級,你的劍技就無法從那次擊殺中獲得任何經驗值(盔甲對盔甲技能亦然)。此檢查使用的是個別技能等級,而非你的戰鬥等級。
- 高等級怪物: 對於等級比你的戰鬥等級高出超過 5 級的怪物,就經驗值計算而言,其有效等級會被限制在
combat_level + 5。你仍會獲得經驗值,但並非全額。 - 自然精英刷怪上限: 太快擊殺過多自然精英(10 分鐘內 10 殺,或每小時 30 殺)會觸發暫時的冷卻。這不適用於自訂 Boss 或地下城內容。
經驗值進程
從目前等級提升到下一級所需的經驗值遵循此公式:
等級 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 倍,使後續進程變得極為困難。
每級經驗值表
下表顯示從某個給定等級提升到下一級所需的經驗值,以及大約需要擊殺多少同等級怪物才能達成(武器技能,非盔甲):
| 等級 | 升至下一級所需經驗值 | 擊殺同等級怪物數量 |
|---|---|---|
| 10 | 8,500 | 85 |
| 25 | 132,812 | 213 |
| 50 | 1,062,500 | 425 |
| 75 | 3,585,937 | 638 |
| 100 | 8,500,000 | 850 |
盔甲以武器 1/3 的速率賺取經驗值,因此與上表的數字相比,提升盔甲大約需要 3 倍的擊殺數。在等級 50 時,這表示光是盔甲就需要約 1,275 次同等級擊殺。
戰鬥等級
你的戰鬥等級是衡量你實力的整體指標。其計算方式為:
combat_level = (highest_weapon_skill + second_highest_weapon_skill + armor_skill) / 3
結果會向下取整(整數除法)。
戰鬥等級決定:
- 在你周圍生成的精英怪等級
- 你能裝備的裝備(裝備等級必須等於或低於你對應的技能等級)
- 你能存取哪些地下城與實例化內容
- 經驗值與戰利品的資格(反濫用檢查使用戰鬥等級)
戰鬥等級顯示
你的戰鬥等級會以漂浮在你頭頂上方的數字顯示,其他玩家也能看見。這使用基於封包的文字顯示,並會在你的技能改變時自動更新。顯示格式可自訂(預設:Combat Lv. X)。
經驗值條
當你賺取技能經驗值時,會出現一條帶動畫的 Boss 血條,顯示你朝下一級的進度。此血條具有:
- 隨經驗值獲得而緩緩攀升的流暢動畫
- 每種技能類型不同的顏色(例如劍為紅色、弓為綠色、盔甲為藍色)
- 升級時的特殊粒子與音效
- 閒置 5 秒後自動隱藏
裝備限制
EliteMobs 裝備有與技能系統綁定的等級需求。若要裝備一件精英物品,你對應該武器或盔甲類型的技能等級必須等於或高於該物品的等級。
例外: 等級 20 或以下的物品,任何人都能裝備,不受技能等級限制。這確保新玩家能自由使用前期裝備,而不會被擋在門外。
如果你試圖裝備一件超過你技能等級的物品,你會收到一則警告訊息,且該物品將不提供任何精英加成。
技能獎勵
隨著你提升技能,你會在里程碑等級解鎖特殊的戰鬥能力:
- 等級 10 -- 解鎖第一個獎勵
- 等級 25 -- 解鎖第二個獎勵
- 等級 50 -- 解鎖第三個獎勵
- 等級 75 -- 解鎖第四個獎勵
你每種武器或盔甲類型一次最多可擁有 3 個啟用中的獎勵。技能獎勵可透過 /em 選單,或前往冒險者公會中的技能獎勵 NPC 來管理。
關於全部 84 個以上獎勵的完整列表及其作用,請參閱技能獎勵。
通知與 UI
技能系統提供多種形式的回饋:
- 升級: 每次升級時的標題訊息、挑戰完成音效,以及不死圖騰粒子爆發。
- 里程碑: 只有當玩家達到里程碑等級(每第 5 級:5、10、15、……)時才會發送全伺服器廣播。一般升級不會廣播。此廣播可在
dungeons.yml中關閉。 - 戰鬥等級顯示: 漂浮在你頭頂的數字,其他玩家可見。升級時自動更新。
- 經驗值條: 戰鬥期間顯示技能經驗值進度的動畫 Boss 血條。
- 經驗值獲得訊息: 選用的每次擊殺經驗值訊息(預設停用,因為可能造成洗版)。
上述大部分項目在 skills.yml 中設定;里程碑升級廣播及其訊息則位於 dungeons.yml。
管理員指令
| 指令 | 權限 | 說明 |
|---|---|---|
/em skill check <player> | elitemobs.skill.check | 查看玩家的技能等級、經驗值進度與百分比 |
/em skill set <player> <skillType> <level> | elitemobs.skill.admin | 將特定技能設為某個給定等級 |
/em skill setAll <player> <level> | elitemobs.skill.admin | 將所有技能設為相同等級 |
/em debug combat start | elitemobs.admin | 開始自動化戰鬥系統測試 |
/em debug combat test <type> | elitemobs.admin | 測試特定武器類型(例如劍、弓) |
/em debug combat results | elitemobs.admin | 查看上一次戰鬥測試的結果 |
/em debug combat cancel | elitemobs.admin | 取消進行中的戰鬥測試 |
/em skill set 的 skillType 參數接受:ARMOR、SWORDS、AXES、BOWS、CROSSBOWS、TRIDENTS、HOES、MACES、SPEARS。
伺服器設定
技能系統在 skills.yml 中設定。主要設定如下:
| 設定 | 預設 | 說明 |
|---|---|---|
skillSystemEnabled | true | 啟用或停用整個技能系統 |
armorSkillHealthBonusEnabled | true | 盔甲技能是否給予額外的最大生命值(等級每高於 1 級 +1 顆心) |
scalePlayerHealthDisplayToVanilla | false | 保留 EliteMobs 的最大 HP,但在視覺上將玩家 HUD 縮放回原版的 10 顆心 |
forceDefaultHealthWhenArmorSkillHealthBonusDisabled | false | 當盔甲生命值加成停用時,於玩家加入時強制其回到原版 20 點最大生命值 |
skillWorldExclusions | (空) | 技能系統不作用的世界名稱列表。位於這些世界的玩家不會獲得技能經驗值、盔甲生命值加成、經驗值條或戰鬥等級顯示。對於希望所有人平等的活動世界很有用。比對不分大小寫 |
showCombatLevelDisplay | true | 在玩家上方顯示戰鬥等級數字 |
showXPBar | true | 在戰鬥期間顯示動畫經驗值進度條 |
skillBarTitleFormat | &6$skillName &7Lv.$level$xpText | 經驗值條標題格式 |
skillLevelUpTitleFormat | &e&l✦ $skillName LEVEL UP! &7→ &eLv.$level &e&l✦ | 升級 Boss 血條標題格式 |
combatLevelFormat | &6&lCombat Lv. $level | 戰鬥等級顯示格式 |
如需完整的設定參考,請參閱 EliteMobs 設定頁面。