傷害系統
這是 EliteMobs 中生命值/傷害如何進行調整的全面性說明。在設計地城時應將它作為參考。
本頁說明涉及自訂 Boss 的一般攻擊。自然菁英使用相同的基礎曲線,並可套用下文的調整型戰鬥與舊版生命值選項。腳本直接傷害、魔法武器與職業能力可能使用其他傷害流程,請參閱自訂傷害與吸收。
開始之前!
如果你只是想做快速調整,不需要讀完全部內容。直接跳到「將此資料用於地城」章節,看看極為簡化的快速計算以及一系列預製的建議設定!
調整(一般)
EliteMobs 將指數形式的技能調整與裝備修飾結合使用。未套用上限的 Boss 生命值公式每 5 級加倍,進攻與防禦技能調整則每相差 7.5 級加倍。達到 Minecraft 設定的生命值上限後,Boss 生命值與玩家基礎傷害不再僅隨怪物等級增長,因此這些曲線不能保證所有等級範圍的戰鬥體驗相同。
玩家戰力結合兩個獨立計算的層面:
- 武器技能等級 —— 透過使用特定武器類型(劍、斧、弓、弩、三叉戟、鋤、錘矛、長矛、法杖或魔棒)擊殺菁英怪物來獲得。
- 物品等級 —— 玩家所裝備的武器或護甲的菁英等級。
符合條件的菁英擊殺也會提供護甲技能 XP,起點為基礎 XP 份額的三分之一,再套用護甲自身的修飾與取整。僅承受攻擊不會獲得此 XP。當生命值設定與世界規則允許時,每超過 1 級就增加 1 顆心的最大生命值。護甲技能也決定對抗 Boss 傷害的防禦調整。
武器技能
武器 XP 按傷害貢獻分配給命中或發射投射物時記錄的技能。怪物死亡時切換武器不會改變 XP 的歸屬。護甲 XP 的取得比例較低。
可用的武器技能有:
| 技能 | 武器 |
|---|---|
| 劍 | 所有劍類型 |
| 斧 | 所有斧類型 |
| 弓 | 弓 |
| 弩 | 弩 |
| 三叉戟 | 三叉戟 |
| 鋤 | 所有鋤類型 |
| 錘矛 | 錘矛(1.21+) |
| 長矛 | 所有長矛類型(1.21.11+) |
| 法杖 | 標記為 weaponType: STAVES 的自訂模型武器 |
| 魔棒 | 標記為 weaponType: WANDS 的自訂模型武器 |
| 護甲 | 隨符合條件的菁英擊殺成長的防禦技能 |
初始 XP 為 mobLevel^2,再受 Boss 生命值與傷害倍率、貢獻、獎勵等級限制及 XP 特典影響。100 級是軟上限,不是最高等級;之後所需 XP 仍會增加。獎勵規則請參閱技能系統。
技能加成
全部十種武器技能與護甲技能都擁有技能加成,即隨等級解鎖的特殊能力。玩家可選擇啟用哪些加成,共有五種類型:
- 被動(Passive) —— 裝備時永遠生效(例如固定傷害提升)。
- 條件(Conditional) —— 只在符合特定條件時生效(例如目標生命值低於 30% 時的額外傷害)。
- 觸發(Proc) —— 在特定事件上基於機率觸發(例如擊中時造成流血的機率)。
- 堆疊(Stacking) —— 在連續行動中累積(例如連續擊中提高傷害)。
- 冷卻(Cooldown) —— 帶有內部冷卻時間的強大效果(例如每 60 秒一次免於致命傷害)。
來自武器技能的攻擊性技能加成,會作為加成性傷害倍率套用在對 Boss 造成的基礎傷害之上。來自護甲技能的防禦性技能加成,會透過各種機制(固定減免、閃避、傷害護盾等)減少傳入的 Boss 傷害。
每種武器或護甲類型,玩家最多可擁有 3 個啟用中的加成。由於本頁上的每一條曲線都是在不含它們的情況下繪製的,在你用這些數字來平衡遭遇戰之前,請參閱技能加成在傷害流程中的位置以了解它們如何組合成真實傷害。
自訂 Boss 造成的傷害
EliteMobs 10 中的 Boss 傷害使用三個乘法層,且沒有預先補償。此系統的設計使得一名裝備妥當的玩家能承受來自同等級內容約 5 次的攻擊。
自訂 Boss 的傷害公式為:
1. playerMaxHealth = 20 + (armorSkillLevel - 1) * 2
2. baseDamage = playerMaxHealth / 5.0
3. skillAdjustment = 2 ^ ((bossLevel - armorSkillLevel) / 7.5)
4. gearAdjustment = 2.0 * (1 - gearReduction)
5. scaledDamage = baseDamage * skillAdjustment * gearAdjustment
6. [explosion distance attenuation, if applicable]
7. potionMultiplier = source Strength/Weakness multiplier * player Resistance multiplier
8. finalDamage = max(scaledDamage, 1) * potionMultiplier * customBossDamageMultiplier * specialMultiplier * configMultiplier
9. capHealth = [Alpha] Advanced Combat System active ? max(1, actualMaxHealth - 30) : actualMaxHealth
10. finalDamage = min(finalDamage, capHealth - 1)
這三個層分別是:
- 基礎傷害 —— 玩家每次受擊預期會損失多少生命值(
playerMaxHealth / 5)。 - 技能調整 —— 來自 Boss 等級與玩家護甲技能等級差距的指數調整。
- 裝備調整 —— 基於玩家所裝備的護甲與保護附魔、會感知傷害類型的減免(參閱下方的裝備防禦系統)。
一般戰鬥的單次傷害上限是實際最大生命值減 1。啟用 [Alpha] Advanced Combat System 時,先扣除該模式固定增加的 30 HP。額外生命值提高生存能力,但不增加承受的基礎傷害。上限在公式內部套用,早於格擋與事件監聽器。自訂直接傷害會繞過它,受傷玩家仍可能被一擊殺死。
playerMaxHealth
啟用預設護甲生命值設定時,基準為 20 HP,每超過護甲 1 級增加 2 HP,因此 50 級在其他修飾前為 118 HP。可在 skills.yml 停用此加成,排除的世界也不會獲得加成。基礎值固定為 20 HP,該檔案沒有基礎生命值設定。啟用 [Alpha] Advanced Combat System 時,其受管理戰鬥世界規則也會決定加成適用範圍。
baseDamage
基礎傷害就只是 playerMaxHealth / 5.0。這是一名裝備妥當、同等級的玩家每次受擊預期會受到的傷害量。與舊系統不同,這裡沒有預先補償 —— 基礎值就是目標傷害,而非一個膨脹的原始值。
skillAdjustment
技能調整使用指數調整,讓 Boss 與玩家護甲技能之間的等級差距變得有意義:
skillAdjustment = 2 ^ ((bossLevel - armorSkillLevel) / 7.5)
每相差 7.5 級,Boss 有效傷害加倍或減半。這比未受上限限制的 Boss 生命值曲線緩慢,後者每 5 級加倍。裝備層還會提供額外調整。
| 等級差距 | 技能調整 | 約略擊殺所需次數(裝備相符) |
|---|---|---|
| 同等級 (0) | 1.0x | ~5 次 |
| +5 級 | ~1.6x | ~3 次 |
| +10 級 | ~2.5x | ~2 次 |
| +15 級 | 4.0x | ~1.25 次 |
裝備防禦系統
裝備防禦系統取代了舊的裝備坡道(gear ramp)。系統現在不再假設一個基於技能等級的固定預先補償倍率,而是讀取玩家實際裝備的裝備,並計算一個會感知傷害類型的裝備減免。
傷害類型
系統將傳入的傷害分為五個類別。傷害類型決定了哪些保護附魔會對裝備分數有所貢獻:
| 傷害類型 | 事件原因 | 使用的保護附魔 |
|---|---|---|
| MELEE | 直接攻擊、橫掃攻擊 | 僅保護 |
| PROJECTILE | 箭矢、火球 | 保護 + 投射物保護 |
| EXPLOSION | 苦力怕、惡魂爆炸 | 保護 + 爆炸保護 |
| FIRE | 火焰、火焰跳動傷害 | 保護 + 火焰保護 |
| OTHER | 其他一切 | 僅保護 |
裝備分數
裝備分數將護甲等級與附魔加成結合成單一個可與攻擊怪物等級相比較的數值:
gearScore = (sum of armorLevel for 4 armor slots) / 4
+ (sum of enchantBonus for all 6 slots) / 4
護甲等級依物品而定:
- 菁英物品使用
materialTier + 4 * eliteDefenseAttribute。正常產生的護甲通常符合預期等級,但只改變儲存的物品等級標籤不會改變此防禦值。菁英材質基數為皮革/金/海龜 3、鎖鏈 5、鐵 6、鑽石 7、獄髓 8,與下方原版表不同。 - 原版物品使用基於材質的查表:
| 材質 | 護甲等級 |
|---|---|
| 皮革 | 1 |
| 金 | 2 |
| 鎖鏈 | 3 |
| 鐵 | 4 |
| 海龜殼 | 4 |
| 鑽石 | 5 |
| 獄髓 | 7 |
| 銅(限有此材質的伺服器版本) | 2 |
只有 4 個護甲欄位(頭盔、胸甲、護腿、靴子)會對護甲等級有所貢獻。
附魔加成將保護附魔等級轉換為等同護甲等級的單位:
enchantBonus = (general Protection level + type-specific Protection level) * (1/3)
全部 6 個裝備欄位(4 個護甲 + 主手 + 副手)都會對附魔加成有所貢獻。這表示帶有保護附魔的盾牌或武器可提供額外的防禦。對總和進行的 /4 正規化,意味著在全部 6 個欄位上都有附魔,會比只在 4 個護甲部件上有附魔多提供高達 50% 的附魔貢獻。
實例:25 級相符裝備 + 保護 IV 對抗 25 級(近戰)
Player: armorSkillLevel=25, maxHP = 20 + 24*2 = 68
4 elite armor pieces each at armorLevel=25, each with Protection IV
Mob: level=25, melee attack
Step 1 -- Armor level per piece: 25 (material tier + 4 * elite defense attribute)
Step 2 -- Enchant bonus per piece: Protection IV = 4 * (1/3) = 1.333
(melee damage type, so only general Protection applies)
Step 3 -- Gear score:
armorLevelSum = 25*4 = 100, /4 = 25.0
enchantBonusSum = 1.333*4 = 5.333 (no mainhand/offhand enchants), /4 = 1.333
gearScore = 25.0 + 1.333 = 26.333
Step 4 -- Gear reduction (above matching):
reduction = 0.50 + (26.333 - 25) * 0.025 = 0.533 (53.3%)
Step 5 -- Gear adjustment: 2.0 * (1 - 0.533) = 0.933
Step 6 -- Final damage: baseDamage(13.6) * skillAdj(1.0) * gearAdj(0.933) = 12.69
Hits to kill: 68 / 12.69 = 5.36, approximately 5.4 hits
實例:1 級原版鑽石對抗 5 級骷髏(投射物)
Player: armorSkillLevel=1, maxHP = 20
Full vanilla diamond armor (no enchants), no mainhand/offhand enchants
Mob: level=5, skeleton arrow (PROJECTILE damage type)
Step 1 -- Armor level per piece: 5 (vanilla diamond from lookup table)
Step 2 -- Enchant bonus: 0 (no enchants on any piece)
Step 3 -- Gear score: (5+5+5+5)/4 + 0/4 = 5.0
Step 4 -- Gear reduction (matching): 0.50 * (5/5) = 0.50 (50%)
Step 5 -- Gear adjustment: 2.0 * (1 - 0.50) = 1.0
Step 6 -- Final damage: baseDamage(4) * skillAdj(1.447) * gearAdj(1.0) = 5.79
Hits to kill: 20 / 5.79 = 3.45, approximately 3.5 hits
如果鑽石護甲還帶有投射物保護 IV,每件就會獲得 4 * (1/3) = 1.333 的附魔加成。裝備分數會上升到 5.0 + (1.333*4)/4 = 6.333,使減免提高到 53.3%,並明顯改善對箭矢的生存能力。
裝備減免曲線
裝備減免使用一條兩段式線性曲線,在裝備分數等於怪物等級的那一點過渡:
低於相符(gearScore 小於或等於 mobLevel):
reduction = 0.50 * (gearScore / mobLevel)
從 0%(裸體)到 50%(相符)呈線性調整。斜率取決於怪物等級 —— 對抗 5 級怪物時每一級裝備提供 10% 減免,而對抗 50 級怪物時每一級只提供 1%。這自然使得低等級的原版護甲對低等級怪物有效,但對高等級怪物無關緊要。
高於相符(gearScore 大於 mobLevel):
reduction = 0.50 + (gearScore - mobLevel) * 0.025
每一級高於怪物的裝備提供固定 2.5%。在高於怪物 +10 個裝備等級時達到 75% 硬上限。
裝備調整將減免轉換為傷害倍率:
gearAdjustment = 2.0 * (1 - gearReduction)
| 裝備狀況 | 裝備減免 | 裝備調整 | 擊殺所需次數(同技能等級) |
|---|---|---|---|
| 裸體(無裝備) | 0% | 2.0 | ~2.5 |
| 半相符裝備 | 25% | 1.5 | ~3.3 |
| 相符裝備(gearScore = mobLevel) | 50% | 1.0 | ~5.0 |
| 高於怪物 +4 級 | 60% | 0.8 | ~6.25 |
| 高於怪物 +10 級(上限) | 75% | 0.5 | ~10.0 |
情境表格
以下受擊次數假設玩家處於滿血狀態,擁有普通的 20 HP 基礎生命值加護甲技能生命值,傷害倍率為預設值,且沒有額外生命值、藥水或技能加成。[Alpha] Advanced Combat System 增加 30 HP,但不會提高受到的基礎傷害,因此該模式的玩家能承受更多次攻擊。
| 情境 | 技能調整 | 裝備減免 | 裝備調整 | 次數 |
|---|---|---|---|---|
| 1 級裸體對抗 1 級 | 1.0 | 0% | 2.0 | 2.5 |
| 1 級裸體對抗 5 級 | 1.45 | 0% | 2.0 | ~1.7 |
| 1 級原版鑽石對抗 5 級 | 1.45 | 50% | 1.0 | ~3.5 |
| 25 級相符對抗 25 級 | 1.0 | 50% | 1.0 | 5.0 |
| 25 級相符+保護IV 對抗 25 級 | 1.0 | 53.3% | 0.93 | 5.4 |
| 25 級相符對抗 30 級 | 1.59 | 41.7% | 1.17 | 2.7 |
| 25 級頂級裝備對抗 25 級 | 1.0 | 75% | 0.50 | 10.0 |
| 50 級相符對抗 50 級 | 1.0 | 50% | 1.0 | 5.0 |
關鍵設計目標:
- 相符等級下 5 次攻擊:在上述普通生命值基準下,裝備妥當且滿血的玩家會在受到同等級菁英怪物約 5 次普通攻擊後死亡。
- 裸體 2.5 次攻擊 —— 沒有裝備代表透過 2.0 裝備調整承受雙倍傷害。立即激勵玩家裝備任何護甲。
- 原版護甲很重要 —— 穿著鑽石護甲的 1 級玩家能承受 5 級怪物約 3.5 次攻擊,而非裸體時的約 1.7 次。
- 附魔有意義但不會主宰 —— 在全部 4 件護甲部件上的保護 IV 為裝備分數增加約 1.33,將減免從 50% 推到 53.3%。明顯(生存能力約多 8%)但不會破壞遊戲平衡。
- 跨等級的共同基準:在這些條件下,25 級與 50 級的同等級戰鬥均以約 5 次攻擊為目標。[Alpha] Advanced Combat System 的額外生命值會改變實際次數。
- 頂級裝備上限為 10 次攻擊 —— 即使擁有最佳裝備(高於怪物 +10 級),玩家仍會受到有意義的傷害。
potionMultiplier(防禦性)
承受的傷害結合攻擊方菁英的力量/虛弱倍率與玩家的抗性減免。抗性部分為:
potionMultiplier = max(0, 1.0 - (resistanceAmplifier + 1) * resistanceDamageMultiplier)
設定鍵為 MobCombatSettings.yml 中的 resistanceDamageMultiplierV2(預設值:0.2)。這與原版行為相符:抗性 I = 20% 減免,抗性 V = 100% 減免(免疫)。
customBossDamageMultiplier
這是自訂 Boss 檔案中的傷害倍率。預設為 1。
configMultiplier(防禦性)
這是 MobCombatSettings.yml 中的倍率。對於正規化戰鬥,它使用 normalizedDamageToPlayerMultiplier(預設 1.0)。對於調整型戰鬥,它使用 scaledDamageToPlayerMultiplier(預設 1.0)。對於標準怪物,它使用 damageToPlayerMultiplierV2(預設 1.0)。
specialMultiplier
這是 Boss power 為特定傷害呼叫提供的倍率,由對應事件消耗一次。無關的後續攻擊或巢狀攻擊不會繼承它。預設值為 1.0。
爆炸傷害衰減
苦力怕傷害根據與苦力怕的距離及爆炸半徑衰減。惡魂分支目前使用火球的爆炸強度,測量到惡魂的距離,而非火球落點。兩者均使用 max(0, 1 - distance / radius),接著在其他倍率之前將數值提升到至少 1。因此單靠距離衰減不保證零傷害。
自訂 Boss 的最大生命值
EliteMobs 10 中未套用上限的 Boss 生命值公式每 5 級加倍。實際生命值受 Minecraft 最大生命值上限限制,且該上限會在 healthMultiplier 套用前後各檢查一次,因此達到任一生命值上限後便不再加倍。
自訂 Boss 的生命值公式為:
baseHealth = min(2.1875 * 2^(bossLevel / 5), minecraftMaxHealth)
health = max(1, min(baseHealth * customBossHealthMultiplier, minecraftMaxHealth))
指數調整
基礎常數 (2.1875) 經過調校,使得 25 級 Boss 約有 70 點生命值。範例生命值數值(在下述最大生命值上限套用之前):
| Boss 等級 | 公式生命值 | +5 級生命值 |
|---|---|---|
| 1 | ~2.5 | ~5 (2x) |
| 5 | ~4.4 | ~8.75 (2x) |
| 10 | ~8.75 | ~17.5 (2x) |
| 25 | ~70 | ~140 (2x) |
| 50 | ~2,240 | ~4,480 (2x) |
| 100 | ~2,293,760 | ~4,587,520 (2x) |
Minecraft 最大生命值上限
Minecraft 本身拒絕給予實體超過 spigot.yml 中 settings.attribute.maxHealth.max 的生命值。EliteMobs 會在啟動時讀取該值,若它低於 2048,就會把它提高到 2048 並存檔。我們把該值稱為 MAX。
該上限會被套用兩次——一次套用在單純的等級公式上,另一次在套用 healthMultiplier 之後:
effectiveHealth = min( min(2.1875 * 2^(level / 5), MAX) * healthMultiplier, MAX )
內層的夾限就是為什麼即使 healthMultiplier 低於 1.0 最終也會停止縮放:無論你使用什麼倍率,單純的公式都會在等級 50 時跨過 2048,而在那之後所有下游計算都是基於一個被釘住的數字。外層的夾限則會讓大於 1.0 的倍率更早觸頂。
在預設伺服器上(MAX = 2048):
| healthMultiplier | 典型用途 | 生命值停止成長於 | 釘在 |
|---|---|---|---|
| 0.25 | 增援 | 等級 50 | 512 生命值 |
| 0.7 | 雜兵群 | 等級 50 | 約 1,434 生命值 |
| 1.0 | 標準地城怪物 | 等級 50 | 2,048 生命值 |
| 3.0 | 小 Boss | 等級 42 | 2,048 生命值 |
| 7.0 | Boss | 等級 36 | 2,048 生命值 |
| 40.0 | 世界 Boss | 等級 23 | 2,048 生命值 |
超過這些等級後,生命值不再成長,60 級與 90 級世界 Boss 的 HP 相同。最終生命值計算在乘算結果超出上限時記錄警告,但更早的基礎生命值截斷不會警告。因此沒有警告不能證明 Boss 低於上限。healthMultiplier 應使用正的有限值;無效值會回退為 1.0。
如果你正在製作大約 35 級以上、且帶有大 healthMultiplier 值的內容,請自行提高 spigot.yml 中的 settings.attribute.maxHealth.max。否則你的 Boss 階層會彼此壓平——一旦它們全都夾到同一個數字,本頁稍後建議的 healthMultiplier 值就不再能區分遭遇戰。
玩家基礎傷害使用已截斷的等級生命值除以 3,因此達到內部生命上限後,不再僅隨怪物等級增長。武器、技能及其他傷害倍率仍會生效。最終 Boss 生命值達到上限時,較高 healthMultiplier 所提供的額外耐久會受到限制。
customBossHealthMultiplier
這是自訂 Boss 檔案中的倍率。預設為 1。
對自訂 Boss 造成的傷害
玩家傷害使用乘法層的指數與線性調整,以在各等級間維持戰鬥一致性,同時仍讓不同武器家族感覺不同。此公式將玩家戰力分為兩個獨立的軸 —— 武器技能等級(指數技能調整)與武器物品等級(線性武器調整) —— 因此技能投資與裝備都會對戰鬥戰力有所貢獻。
相較於舊版本的重要改變是,近戰武器速度不再試圖讓每種武器類型都有相同的理論 DPS。劍仍是基準點,而斧、錘矛與近戰三叉戟則接受受抑制的爆發補償。已經測試表現良好的武器家族,例如鋤與長矛,則維持傳統的攻速因子。
傷害公式
完整的玩家對菁英傷害公式為:
formulaDamage = baseDamage * attackSpeedFactor * skillAdjustment * weaponAdjustment * cooldownOrVelocity * sweepMultiplier * potionMultiplier * equipmentEnchantmentMultiplier * enchantmentMultiplier * arrowDamageMultiplier
finalDamage = roundToTwoDecimals(formulaDamage * damageModifier * combatMultiplier) * critMultiplier
damageAfterSkills = finalDamage * (1 + sum of every active skill bonus fraction)
各部分說明如下。技能加成由 HIGH 優先序監聽器在 EliteMobs 傷害事件期間套用,後續監聽器仍可改變結果。請參閱技能加成在傷害流程中的位置。
baseDamage
每次受擊的基礎傷害,由怪物的正規化生命值(在 healthMultiplier=1.0 時)除以目標擊殺所需次數推導而來:
baseDamage = normalizedMobHP / 3.0
其中 normalizedMobHP = min(2.1875 * 2^(mobLevel / 5), minecraftMaxHealth),請參閱上方「自訂 Boss 的最大生命值」。常數 3.0,也就是 TARGET_HITS_TO_KILL_MOB,以等級相符的玩家約 3 次完整蓄力劍擊為目標,尚未計入額外修飾與取整。
這些攻擊次數估算要求裝備與技能等級匹配,且未觸及最終生命上限。例如,healthMultiplier: 2.0 僅在乘算結果未超過上限時使基礎生命值翻倍,並不保證所有等級都需要六次劍擊。
attackSpeedFactor
這是近戰攻速節奏層。它從舊的傳統因子開始:
legacyFactor = 1.6 / weaponAttackSpeed
此處使用 EliteMobs 回傳的武器速度。玩家目前的攻速屬性另用於計算蓄力時間。基準 1.6 是劍的攻速,最終因子依武器家族決定:
Swords, hoes, spears, unknown melee, and bow/crossbow melee:
attackSpeedFactor = legacyFactor
Axes, maces, and melee tridents:
attackSpeedFactor = sqrt(legacyFactor)
Ranged projectile attacks:
attackSpeedFactor = 1.0
這表示系統並非試圖讓每種近戰武器都有相同的 DPS。慢速爆發武器每揮一次仍打得更重,但斧、錘矛與近戰三叉戟不再接受完整的 1.6 / speed 爆發倍率。鋤與長矛刻意維持舊因子,因為試玩測試顯示它們的節奏已經可以接受。
在相符技能與武器等級下的範例:
| 武器類型 | 範例攻速 | 因子 | 對抗 healthMultiplier: 1.0 的公式次數 |
|---|---|---|---|
| 劍 | 1.6 | 1.00x | 3.0 |
| 斧 | 1.0 | 1.26x | ~2.4 |
| 錘矛 | 0.6 | 1.63x | ~1.8 |
| 鋤 | 4.0 | 0.40x | 7.5 |
| 三叉戟(近戰) | 1.1 | 1.21x | ~2.5 |
| 長矛(範例鑽石) | ~0.95 | ~1.68x | ~1.8 |
| 弓/弩投射物 | 不適用 | 1.00x | 投射物速度決定蓄力 |
對於投射物攻擊,包含弓、弩與投擲三叉戟,不套用近戰攻速因子。投射物的蓄力/強度改以 cooldownOrVelocity 表示。
注意: 用於近戰的純遠程武器(弓、弩)會被視為徒手攻擊 —— 武器等級 0 且技能等級 1,預設攻速為 4.0(拳頭速度)。這使它們在近戰中非常弱,激勵玩家在遠距離使用它們。
skillAdjustment
來自玩家武器技能等級與怪物等級差距的指數調整:
skillAdjustment = 2 ^ ((weaponSkillLevel - mobLevel) / 7.5)
每相差 7.5 個等級就會使玩家傷害加倍(或減半)。這與 Boss 對玩家傷害中所使用的防禦性技能調整速率相符,產生對稱的戰鬥。
| 技能差距 | 技能調整 | 效果 |
|---|---|---|
| -15 | 0.25x | 四分之一傷害 |
| -7.5 | 0.50x | 一半傷害 |
| 0(相符) | 1.0x | 基準 |
| +7.5 | 2.0x | 雙倍傷害 |
| +15 | 4.0x | 四倍傷害 |
Boss HP 受伺服器生命值上限限制,但目前程式碼中的攻擊技能調整沒有倍率上限。超過 +/-22 級的巨大差距可能產生極端值;技能 100 級僅是成長軟上限。
weaponAdjustment
一條基於武器物品等級對怪物等級的兩段式線性曲線。這呼應了裝備防禦系統的防禦性裝備減免曲線。
武器若有儲存的物品等級,就使用該值。否則,EliteMobs 依傷害與攻速計算等級,數值較低時回退到護甲等級。因此原版武器也能有非零的有效等級。此計算與上方的護甲防禦不同。
weaponAdjustment = 0.5 + bonus
低於相符(weaponLevel 小於或等於 mobLevel):
bonus = 0.50 * (weaponLevel / mobLevel)
從 0(無武器)到 0.50(相符)呈線性調整。未裝備武器時,調整為 0.50(一半傷害)。
高於相符(weaponLevel 大於 mobLevel):
bonus = 0.50 + (weaponLevel - mobLevel) * 0.025
bonus = min(bonus, 0.75)
每一級高於怪物的武器提供固定 2.5%,加成上限為 0.75。需要高於怪物 +10 個武器等級才能達到上限。
| 武器情境 | 加成 | 武器調整 | 對次數的影響 |
|---|---|---|---|
| 武器等級 0,僅比較此項調整 | 0.00 | 0.50 | 6 次(慢 2 倍) |
| 半等級武器 | 0.25 | 0.75 | 4 次 |
| 相符武器(weaponLevel = mobLevel) | 0.50 | 1.00 | 3 次(基準) |
| 高於怪物 +4 級 | 0.60 | 1.10 | ~2.7 次 |
| 高於怪物 +10 級(上限) | 0.75 | 1.25 | ~2.4 次 |
實際徒手攻擊還使用技能 1 級與徒手攻速因子。表格僅比較武器調整,其他因素維持劍的參考值。
cooldownOrVelocity
對於近戰,EliteMobs 記錄上次主要近戰命中後的遊戲 tick 數,除以蓄力窗口 20 / attackSpeed,最高為 1.0。命中非菁英也會更新計時,空揮則不會。首次記錄的命中視為完整蓄力。優先使用目前的玩家攻速屬性;若無法取得、無效,或較慢武器仍回報未修改的 4.0,則改用物品速度。弓與弩的近戰使用 4.0。
對於遠程/投射物攻擊(弓、弩、投擲三叉戟與技能生成的箭矢),這是正規化的發射速度。完全拉滿的弓速度約為 3.0;該值會被正規化為 min(velocity / 3.0, 1.0),並夾限在 [0, 1] 範圍內。
一般遠程攻擊會在發射時儲存武器等級、技能種類與等級、暴擊結果,副手弓與弩也一樣。投擲三叉戟提供自身的物品等級。優先使用發射速度,缺少資料時回退至目前速度。缺少武器/技能資料時使用等級 0/1,不借用命中時的武器技能。玩家藥水及六個欄位的傷害附魔總和等其他資料仍在命中時讀取。
sweepMultiplier
ENTITY_SWEEP_ATTACK 的倍率為 0.25,視為完整蓄力且不更新主要命中計時。其他資料按目標計算,包括獨立抽取的暴擊,因此最終結果不保證等於主要目標傷害的 25%:
sweepMultiplier = 0.25 (secondary sweep targets)
sweepMultiplier = 1.0 (primary target)
potionMultiplier(攻擊性)
力量與虛弱藥水效果會修改傳出的玩家傷害:
potionMultiplier = 1.0 + strengthBonus - weaknessPenalty
其中 strengthBonus = (strengthAmplifier + 1) * strengthDamageMultiplier,weaknessPenalty = (weaknessAmplifier + 1) * weaknessDamageMultiplier。兩個設定預設皆為 0.2。在此 EliteMobs 公式中,力量 I 增加 20% 傷害,虛弱 I 減少 20%。同等級效果精確抵消,倍率最低為 0。
MobCombatSettings.yml 中的設定鍵為:
| 設定鍵 | 預設值 | 說明 |
|---|---|---|
strengthDamageMultiplierV2 | 0.2 | 每級力量的加成傷害 |
weaknessDamageMultiplierV2 | 0.2 | 每級虛弱的傷害懲罰 |
equipmentEnchantmentMultiplier
玩家已裝備物品上的鋒利與強力等級會貢獻一個百分比傷害加成。每一級價值 2.5%,且這兩種附魔在每件物品上都會被計入:
perItemBonus = (Sharpness level + Power level) * 0.025
equipmentEnchantmentMultiplier = 1.0 + sum of perItemBonus across all six slots
該總和涵蓋全部六個欄位(4 件護甲 + 主手 + 副手),因此盾牌或護甲上的鋒利同樣會有貢獻。這與下方的 enchantmentMultiplier 是分開的一層,後者只涵蓋怪物類型附魔(不死剋星、節肢剋星)。
enchantmentMultiplier
不死剋星與節肢剋星附魔對其各自的怪物類型提供少量傷害加成,但僅在 ItemSettings.yml 中停用 useEliteEnchantments 時。當啟用菁英附魔時,此倍率永遠為 1.0。
只有高於原版上限的附魔等級(僅菁英等級)會被計入:
enchantmentMultiplier = 1.0 + eliteLevelsAboveVanillaMax * 0.025
每個超出原版上限的等級增加 2.5% 傷害。例如不死剋星 VIII 超過原版 V 共 3 級,結果是 1.0 + 3 * 0.025 = 1.075。此分支讀取目前主手,投射物命中也不例外。節肢剋星檢查 Spider/Silverfish;不死剋星檢查 Zombie/Skeleton/Wither/SkeletonHorse/ZombieHorse/Zombified Piglin,包含這些 Java 類別的子類別,而非完整的 Minecraft 怪物分類標籤。
arrowDamageMultiplier
由武器技能能力(例如多重射擊、箭雨等)生成的箭矢,會攜帶儲存在投射物資料容器中的傷害倍率。這讓技能生成的箭矢能夠造成比標準箭矢受擊更少的傷害。對於玩家正常發射的箭矢,此倍率為 1.0。
尖刺傷害
啟用 useEliteEnchantments 時,THORNS 傷害事件分支使用玩家對菁英的基礎傷害,而非完整武器公式。只計入超過原版 III 的尖刺等級。此計算本身不會安排或保證一次尖刺觸發。
eliteThornsLevel = totalThornsLevel - vanillaMaxThornsLevel (per armor piece, summed across all 4 pieces)
thornsDamage = baseDamage * eliteThornsLevel * 0.02
每個超出原版上限的尖刺等級貢獻基礎傷害的 2%。原版尖刺 III 不產生菁英尖刺傷害。若 4 件護甲皆為尖刺 V,每件 2 級、總共 8 級,每次觸發為 baseDamage * 8 * 0.02 = 16%,即玩家對菁英基礎傷害的 16%。
標準與正規化戰鬥使用怪物實際等級。調整型戰鬥使用玩家目前的武器技能等級,再換算到 Boss 的實際 HP。之後仍會套用 Boss 材質修飾、戰鬥倍率與暴擊處理。
damageModifier
來自自訂 Boss 檔案(damageModifiers)的 Boss 專屬武器類型傷害修飾。這讓 Boss 能夠對特定武器材質承受更多或更少傷害(例如一個對劍有抗性但對斧虛弱的 Boss)。對於所有未明確設定的武器類型,預設為 1.0。
近戰查詢目前主手材質。投射物只有在 EliteMobs 自訂投射物資料中登記了發射武器材質時才使用它,否則使用預設查詢。單獨儲存的投射物武器等級不會提供此材質修飾。
combatMultiplier
來自 MobCombatSettings.yml 的全域倍率(依戰鬥模式而定為 scaledDamageToEliteMultiplier、normalizedDamageToEliteMultiplier 或 damageToEliteMobMultiplierV2)。預設為 1.0。
critMultiplier
暴擊會使最終傷害倍增 1.5 倍。暴擊機率會從玩家的菁英裝備暴擊機率屬性,跨全部六個裝備欄位(4 件護甲 + 主手 + 副手)加總,然後被設上限:
critChance = min(sum of all six slots, maximumCriticalStrikeChance)
maximumCriticalStrikeChance 位於 MobCombatSettings.yml,預設為 0.40(40%)。若沒有上限,跨六個欄位疊加暴擊機率可達 100%,屆時每一擊都是「暴擊」——暴擊不再被讀作一個事件,卻仍支付完整的 1.5 倍。基於此原因,不建議設定超過 0.5 的值。無論設定為何,該上限都會被夾在 [0.0, 1.0] 範圍內。
暴擊是在傷害事件觸發之前套用的,這讓它與下述加成性的技能加成層維持為各自獨立的乘法步驟,因此再大的技能加成也永遠不會吞掉暴擊。
法杖與魔杖傷害
來自 FMM 魔法武器的法杖火球、法杖近戰打擊與魔杖飛彈,不使用上述近戰或弓的公式。它們命中菁英時,EliteMobs 會計算:
formulaLevel = scaled combat ? magicSkillLevel : mobLevel
magicDamage = baseDamage(formulaLevel)
* 2 ^ ((magicSkillLevel - formulaLevel) / 7.5)
* weaponAdjustment(itemLevel, formulaLevel)
* basePower * impactScale
* scaledCombatRescale
* damageModifier
* combatMultiplier
* (1 + 0.025 * (Sharpness + Power levels on the weapon))
magicSkillLevel是 Staves 或 Wands 的技能等級,在施放攻擊時擷取(在排除技能的世界中為 1 級)。baseDamage、技能調整、weaponAdjustment、damageModifier與combatMultiplier即上文說明的各項。damageModifier會依武器的承載材質查詢。basePower是 FMM 攻擊設定的威力。直接命中時impactScale為 1;法杖爆炸會使其從中心的 1 遞減到邊緣的 0.35。- 在調整型戰鬥以外,
scaledCombatRescale為 1。在調整型戰鬥中,它會將結果換算到 Boss 的實際 HP,與傷害(玩家對 Boss)相同。 - 暴擊判定同樣在施放時擷取;暴擊會使結果乘以 1.5。
這條路徑沒有攻擊速度、蓄力、橫掃或藥水因子。命中之後會依技能加成在傷害流程中的位置所述,執行 Staves 或 Wands 的技能加成。對非菁英目標,命中造成的是 FMM 的獨立傷害乘以同一 Sharpness/Power 因子。
修飾夾限
攻擊與防禦技能調整使用 2 ^ (levelDifference / 7.5),沒有倍率限制。舊的 getLevelModifierFromDifference 與其 0.125/8.0 邊界已不存在,請勿套用到目前的戰鬥計算。
Boss HP 則遵循上述最大生命值上限。100 級是 XP 軟上限,不會對任一技能調整施加硬限制。
真正約束技能驅動輸出的夾限,是暴擊機率上限與兩道防禦減免天花板,全都在下一節說明。
技能加成在傷害流程中的位置
上述所有內容描述的都是不含加成的曲線。真實玩家每種武器類型還會有最多三個啟用中的技能加成,而那些是疊在公式之上的。如果你只用這些曲線來平衡遭遇戰,你會持續低估玩家實際造成的傷害。
技能加成的平衡數值是拆開來的。skillbonuses/*.yml 檔案承載呈現層資訊(顯示名稱、說明、解鎖階層、加成類型、選單圖示、說明文字範本),同時也承載平衡鍵 baseValue、scalingPerLevel、procChance、cooldownSeconds、maxStacks 與 stackBonus。會查詢自身設定的加成使用那些數值;其餘的則使用寫死的常數。少數幾個(Harvester、Legion's Discipline、Depth Charge)會把設定值與一條核可曲線取小,因此修改它們只能削弱該加成。
共用的可設定觸發機率輔助函式使用 min(1, procChance + 0.002 * skillLevel)。冷卻輔助函式將 cooldownSeconds * (1 - 0.005 * skillLevel) 的下限設為設定值的一半。呼叫端通常再取整到秒,最低 1 秒。使用獨立公式的加成可能不同。逐項說明請參閱技能加成。
這一層在哪裡執行(攻擊面)
一般攻擊技能加成會在 EliteMobs 事件期間套用:
... formula → damageModifier × combatMultiplier → critical hit (×1.5)
→ EliteMobDamagedByPlayerEvent listeners run
→ HIGH-priority skill-bonus listener applies bonuses
→ remaining listeners can modify or cancel
→ final damage set
技能監聽器執行時已包含暴擊倍率,因此加法倍率會保留暴擊。玩家自訂或繞過公式的傷害跳過這個一般武器技能監聽器,以避免遞迴觸發。法杖或魔杖本身的命中是例外:它屬於自訂傷害,但仍會執行其 Staves 或 Wands 加成。職業能力另有規則。
攻擊性加成以加法堆疊
每個啟用中的加成只貢獻其加成分量,而這些分量會被加總:
totalMultiplier = 1.0 + (m1 - 1.0) + (m2 - 1.0) + (m3 - 1.0) + ...
因此三個各為 1.2 倍的加成會產生 1.6 倍,而不是乘法複合會給出的 1.73 倍。這一致地適用於每一種武器類型。
這是相對於先前行為的變更:先前只有斧使用「最大者勝出」規則,只有單一最大的加成會生效,而任何技能超過 1.5 倍的斧攻擊都會靜默地完全捨棄暴擊。讓單一武器家族採用不同的堆疊規則,也使得斧的傷害無法與其他一切相比較。
同一加法合併也包含從目標讀取的跨技能減益:Hunter's Mark、Death Mark、Judgment、Expose Weakness、Hex Brand 與 Unravel。就緒的 Riposte 則獨立處理,直接乘算事件傷害,再將合併的加法倍率乘到該結果上。
實務結果: 一名擁有三個精選攻擊性加成的玩家,在觸發效果之前,實際上大約是公佈曲線的 1.4 倍到 2 倍,而當冷卻型技能命中時還會更高。「3 次劍擊」的設計目標描述的是一名沒有選擇任何加成的玩家。
防禦性加成有兩道天花板
護甲技能加成會減少傳入傷害,且與攻擊面不同,它們是以乘法組合的——每一個都會把已被減免的傷害再經過 damage * (1 - reduction)。這正是為什麼會有兩道各自獨立的限制:
| 限制 | 數值 | 範圍 |
|---|---|---|
| 單一技能夾限 | 80% | 限制任一單一技能的減免 |
| 總計天花板 | 85% | 限制每一擊中所有技能來源的合計 |
單靠單一技能夾限並不夠:三個各自為 80% 的來源相乘會得到 0.2 x 0.2 x 0.2 = 99.2% 的總減免——實質上的免疫,而每一個個別夾限都仍然完好無損。
總計天花板堵住了那個漏洞。它會在最後被套用一次,做法是比較進入技能流程的傷害與流出的傷害,並拒絕讓該比值低於 1 - 0.85:
finalDamage = max(damageAfterSkills, incomingDamage * 0.15)
以比值運作而非以持續累加的減免總和運作,正是它穩健的原因。各個分支的形狀各不相同——有些是相乘、有些是直接指定數值、有些會堆疊、有些會讀取設定——而貢獻者的順序與數量對結果毫無影響。完全堆滿的防禦流派永遠至少會吃下每一次傳入攻擊的 15%。
完全免傷不受此上限限制。 Evasion、Last Stand、Spell Mirror、Death's Embrace、Divine Shield 與 Phoenix Mantle 直接取消傷害事件,而非部分減免。85% 限制僅涵蓋這段技能流程,不是藥水、格擋、吸收與其他監聽器處理後,對原始攻擊整體的傷害下限。
合計減免達到上限後,再增加減免無法進一步降低該次傷害。
實例
以下範例刻意排除技能加成,以便看見底層曲線。請把前一節的加法技能倍率疊加上去,才能得到真實世界的數字。
範例 1:25 級相符劍對抗 25 級菁英(近戰)
Player: weaponSkillLevel=25, weapon=elite sword (itemLevel=25)
Mob: level=25, healthMultiplier=1.0
Step 1 -- Base damage: mobHP(25) = 2.1875 * 2^5 = 70.0, baseDamage = 70.0/3 = 23.33
Step 2 -- Attack speed factor: sword speed=1.6, factor = 1.6/1.6 = 1.0
Step 3 -- Skill adjustment: 2^((25-25)/7.5) = 2^0 = 1.0
Step 4 -- Weapon adjustment: weaponLevel(25) == mobLevel(25), bonus=0.50, adj = 1.0
Step 5 -- Cooldown: full charge = 1.0
Step 6 -- Sweep: primary target = 1.0
formulaDamage = 23.33 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 = 23.33
Mob HP = 70.0 -> hits to kill = 70.0 / 23.33 = 3.0
範例 2:25 級斧對抗 25 級菁英(受抑制的爆發補償)
Player: weaponSkillLevel=25, weapon=elite axe (itemLevel=25)
Mob: level=25, healthMultiplier=1.0
Step 1 -- Base damage: 23.33 (same as above)
Step 2 -- Legacy attack speed factor: 1.6/1.0 = 1.6
Step 3 -- Axe burst damping: sqrt(1.6) = 1.265
Step 4 -- Skill adjustment: 1.0 (matched)
Step 5 -- Weapon adjustment: 1.0 (matched)
Step 6 -- Cooldown: full charge = 1.0
formulaDamage = 23.33 * 1.265 * 1.0 * 1.0 * 1.0 = 29.52
Hits to kill = 70.0 / 29.52 = 2.37
範例 3:25 級鋤對抗 25 級菁英(傳統快速武器因子)
Player: weaponSkillLevel=25, weapon=elite hoe (itemLevel=25)
Mob: level=25, healthMultiplier=1.0
Step 1 -- Base damage: 23.33 (same as above)
Step 2 -- Attack speed factor: hoe speed=4.0, factor = 1.6/4.0 = 0.4
Step 3 -- Skill adjustment: 1.0 (matched)
Step 4 -- Weapon adjustment: 1.0 (matched)
Step 5 -- Cooldown: full charge = 1.0
formulaDamage = 23.33 * 0.4 * 1.0 * 1.0 * 1.0 = 9.33
Hits to kill = 70.0 / 9.33 = 7.5
範例 4:20 級弓對抗 healthMultiplier=2.0 的 25 級菁英(遠程,等級不足)
Player: weaponSkillLevel=20, weapon=elite bow (itemLevel=20)
Mob: level=25, healthMultiplier=2.0, actual HP = 70.0 * 2 = 140.0
Step 1 -- Base damage: 23.33 (from normalized HP, NOT actual HP)
Step 2 -- Attack speed factor: ranged, N/A = 1.0
Step 3 -- Skill adjustment: 2^((20-25)/7.5) = 2^(-0.667) = 0.63
Step 4 -- Weapon adjustment: weaponLevel(20) < mobLevel(25), bonus = 0.5*(20/25) = 0.4, adj = 0.9
Step 5 -- Arrow velocity: full draw = 1.0
formulaDamage = 23.33 * 1.0 * 0.63 * 0.9 * 1.0 = 13.23
Hits to kill = 140.0 / 13.23 = 10.6 hits
(Under-leveled skill AND weapon, fighting a healthMultiplier=2.0 mob)
DamageBreakdown 除錯工具
具有 elitemobs.debug 權限的玩家可執行 /em debug 切換戰鬥診斷。重現命中後再次執行即可停止。公式、選用的戰鬥模式與設定倍率、格擋/繞過路徑及事件結果會出現在聊天與伺服器記錄中。可搜尋 [EM-Debug: 與 [EM-Damage:。
開發工具使用的獨立內部輔助類別 DamageBreakdown 可輸出:
- 一份完整格式化的明細,顯示所有等級、公式組成部分、倍率,以及最終計算出的傷害。
- 一份精簡的單行摘要,供快速的遊戲內參考。
- 一份預期對實際的比較,會標記出大於 10% 的差異,對於診斷外掛衝突或設定錯誤的 Boss 檔案很有用。
重建的結果並非最終實際傷害的權威量測。它將公式傷害提升到至少 1,未計入後續技能倍率,也未完整重現調整型戰鬥的換算與監聽器修改。差異本身不能證明外掛衝突。調查實際戰鬥時,請結合即時診斷與觀察到的生命值變化。
技能 XP 進程
武器與護甲技能透過擊殺菁英怪物賺取 XP 來升級。XP 系統使用立方等級需求,以建立平順的進程,並在等級 100 之後設有軟上限。
擊殺 XP: mobLevel^2 是套用 Boss 倍率、貢獻份額、獎勵等級限制與特典之前的初始值。請參閱技能系統。
到下一級的 XP:
對於等級 1 到 100:
xpToNextLevel = floor(8.5 * L^3)
對於等級 100 以上(軟上限):
xpToNextLevel = floor(floor(8.5 * L^3) * (1 + ((L - 100)^2 / 100)))
軟上限倍率在 100 級為 1.0,之後連續地以二次方成長。150 級時約為 26 倍,使繼續成長非常困難。100 級不是硬上限;超過後,三次方 XP 需求會乘以上述二次方軟上限因子。
額外戰鬥機制
一擊必殺防護
一般 Boss 傷害公式的上限是實際最大生命值減 1。啟用 [Alpha] Advanced Combat System 時,為 max(1, actualMaxHealth - 30) - 1,只排除該模式固定增加的 30 HP。其他最大生命值修飾仍計入。因為使用最大生命值而非目前 HP,受傷玩家仍可能被一擊殺死。直接傷害可繞過上限,後續事件監聽器也可修改數值。
盾牌格擋
非投射物攻擊在玩家格擋時進入此處理器,預設會減少 80% 公式傷害,由 MobCombatSettings.yml 的 blockingDamageReduction 控制。繞過公式的直接傷害會取代減免後的數值。被格擋的投射物會移除,處理器在套用公式前返回,但此分支本身不會取消 Bukkit 傷害事件或將傷害歸零。因此不能假設它保證免疫所有投射物或外掛產生的攻擊。
每次處理的格擋都嘗試扣除盾牌 5 點耐久,原版 Unbreaking 會降低實際扣除頻率。主手盾牌優先於副手盾牌。
自訂傷害與吸收
部分 Boss powers 會提交直接傷害,在 EliteMobs 傷害事件之前取代一般公式結果,包括單次上限與盾牌減免。防禦技能監聽器仍可降低或取消它。相反地,玩家自訂/繞過傷害會跳過一般武器公式、Boss 材質與全域倍率、武器技能觸發。已儲存的魔法武器暴擊或明確保證的職業暴擊仍可能套用,而法杖或魔杖本身的命中仍會執行其武器加成(請參閱法杖與魔杖傷害)。
一般菁英對玩家事件結束後,系統依最終傷害及玩家目前吸收值分配吸收量。原版護甲與抗性修飾會清除,因為 EliteMobs 公式已自行處理。玩家對菁英公式同樣清除原版減免,因此該路徑的 Boss 護甲僅作外觀用途。
快速近戰命中
獨立的自動點擊限制預設啟用。滾動一秒窗口內對菁英的主要近戰命中超過 5 次,會在此路徑觸發 5 秒懲罰。參數為 MobCombatSettings.yml 的 autoclickerThrottleMaxHitsPerSecond 與 autoclickerThrottlePenaltySeconds,autoclickerThrottleEnabled 控制開關。空點、橫掃、投射物、尖刺、自訂/繞過攻擊不計數,也不經過此懲罰檢查。重新連線不會清除有效的懲罰。
護甲技能生命值加成
護甲技能每超過 1 級,增加 2 HP,也就是 1 顆心的最大生命值。此屬性修飾遵循 skills.yml 的啟用設定、排除世界及上文的受管理戰鬥世界資格。
等級調整摘要
下表總結了套用生命值上限及其他戰鬥修飾之前的等級修飾量。達到任一生命值上限後,表中的 Boss 生命值比例便不再成立。
| 等級差距 | Boss 生命值修飾 | Boss 傷害修飾 | 難度 |
|---|---|---|---|
| -10(玩家等級過高) | 0.25x 生命值 | ~0.4x 傷害 | 微不足道 |
| -5(玩家等級過高) | 0.5x 生命值 | ~0.6x 傷害 | 非常簡單 |
| 0(同等級) | 1.0x 生命值 | 1.0x 傷害 | 平衡 |
| +5(玩家等級不足) | 2.0x 生命值 | ~1.6x 傷害 | 具挑戰性 |
| +10(玩家等級不足) | 4.0x 生命值 | ~2.5x 傷害 | 非常困難 |
調整型戰鬥
調整型戰鬥將 Boss 模擬為攻擊玩家的武器技能等級,或防守玩家的護甲技能等級,從一般傷害調整中移除 Boss 儲存等級。裝備、武器家族、加成、powers 與生命值修飾仍會讓不同玩家的戰鬥不同。它適用於自然菁英及部分事件 Boss;事件 Boss 需要自身的 scaledCombat: true 設定。
調整型戰鬥與正規化戰鬥的差異
EliteMobs 有三種戰鬥模式:
| 模式 | 用於 | 等級是否重要? | 設定鍵 |
|---|---|---|---|
| 標準(Standard) | 沒有特殊旗標的基本怪物 | 是 —— 傷害與生命值隨怪物實際等級調整 | damageToEliteMobMultiplierV2 / damageToPlayerMultiplierV2 |
| 正規化(Normalized) | 地城與區域型 Boss(normalizedCombat: true) | 是,使用相同基礎曲線,但有獨立設定倍率 | normalizedDamageToEliteMultiplier / normalizedDamageToPlayerMultiplier |
| 調整型(Scaled) | 自然主世界菁英與事件 Boss(scaledCombat: true 或全域設定) | 否 —— Boss 被模擬成玩家的等級 | scaledDamageToEliteMultiplier / scaledDamageToPlayerMultiplier |
標準與正規化攻擊皆使用怪物實際等級。目前的指數生命值公式忽略舊參數 normalizedBaselineDamageV3 與 normalizedRegionalBossBaselineHealthV3。調整型攻擊改用玩家技能等級,但儲存等級仍保留給其他系統。
運作方式
傷害(Boss 對玩家)
當一個調整型戰鬥 Boss 對玩家造成傷害時,傷害公式會將 Boss 的等級設為等於玩家的護甲技能等級:
mobLevel = armorSkillLevel (instead of the boss's actual level)
這表示技能調整變為 1.0(因為 bossLevel - armorSkillLevel = 0),傷害完全取決於玩家的裝備與護甲技能 —— 而非怪物儲存的等級。其餘的公式(基礎傷害、裝備調整、藥水等)運作方式與上方各章節所述完全相同。
傷害(玩家對 Boss)
當玩家攻擊一個調整型戰鬥 Boss 時,公式會:
- 將 Boss 模擬成玩家的武器技能等級 —— 暫時將怪物視為與玩家武器技能同等級。
- 針對該模擬等級執行標準傷害公式 —— 產生一個「對抗同等級怪物的傷害」結果。
- 重新調整為 Boss 的實際生命值 —— 將公式傷害從模擬怪物生命值的百分比,轉換為 Boss 實際生命值池的相同百分比。
simulatedMobLevel = playerWeaponSkillLevel
formulaDamage = playerToEliteDamageFormula(player, eliteEntity at simulatedMobLevel)
simulatedMobHP = baseHPAtSimulatedLevel * bossHealthMultiplier
damagePercentage = formulaDamage / simulatedMobHP
actualDamage = damagePercentage * actualBossMaxHP
此計算從百分比換算中移除 Boss 儲存等級。Boss 生命值倍率、武器與技能修飾、生命值上限和取整仍影響攻擊次數。healthMultiplier: 1.0 的參考值約為 3 次劍擊,其他武器家族遵循上述攻速因子。
戰利品與獎勵
調整型獎勵計算使用玩家戰鬥等級,而非怪物儲存等級。一般掉落、職業掉落、技能 XP 與額外金幣使用此等級,再套用各自規則。固定自訂物品、明確編寫的獎勵、機率、資格與等級上限不會自動消失。請參閱戰利品表與技能系統。
等級顯示
調整型戰鬥實體在其名牌中顯示一個符號而非數字等級,因為它們的實際等級與玩家無關:
- 標準調整型實體(healthMultiplier 1.0 或更低):顯示劍的符號(預設:
「⚔」) - 高威脅調整型實體(healthMultiplier 高於 1.0):顯示骷髏符號(預設:
☠)
這些符號可在 MobCombatSettings.yml 中透過 scaledStandardLevelSymbol 與 scaledHighThreatLevelSymbol 自訂。
啟用調整型戰鬥
為所有自然菁英啟用(全域設定)
在 MobCombatSettings.yml 中:
useScaledCombatForNaturalElites: true
此設定預設啟用,適用於符合條件世界中的自然菁英,不限主世界維度。在使用 useDistanceBasedNaturalEliteLevels 的世界,自然菁英仍使用實際等級,即使此開關為 true。使用 normalizedCombat 的地城 Boss 不受影響,自訂與事件 Boss 也不會僅因在戶外生成就繼承此設定。
為個別自訂 Boss 啟用
在自訂 Boss 設定檔中:
scaledCombat: true
這會強制特定的自訂 Boss 使用調整型戰鬥,無論全域設定為何。對於應該讓所有玩家都感覺同等公平的事件 Boss 或自訂主世界遭遇戰很有用。
注意: 如果一個 Boss 有 normalizedCombat: true(或它是一個全域啟用了正規化的區域型/實例型 Boss),正規化戰鬥會取得優先權,且該 Boss 不會使用調整型戰鬥 —— 除非在 Boss 檔案中明確設定了 scaledCombat: true,在這種情況下調整型戰鬥勝出。
設定鍵
以下 MobCombatSettings.yml 設定鍵控制調整型戰鬥行為:
| 設定鍵 | 預設值 | 說明 |
|---|---|---|
useScaledCombatForNaturalElites | true | 為自然菁英啟用調整型戰鬥,但使用距離等級的除外 |
scaledDamageToEliteMultiplier | 1.0 | 玩家對調整型戰鬥 Boss 傷害的全域倍率 |
scaledDamageToPlayerMultiplier | 1.0 | 調整型戰鬥 Boss 對玩家傷害的全域倍率 |
scaledStandardLevelSymbol | 「⚔」 | 標準調整型實體名牌中顯示的符號 |
scaledHighThreatLevelSymbol | ☠ | healthMultiplier 高於 1.0 的調整型實體所顯示的符號 |
useRecommendedHealthScaling | true | 為自然菁英使用 EliteMobs 10 的指數生命值調整(false = 傳統線性數值,見下方) |
何時使用各種戰鬥模式
- 正規化戰鬥(
normalizedCombat: true):用於地城、實例與區域型 Boss,當你想要精確控制難度,且 Boss 有一個玩家被預期要去相符的固定等級時。 - 調整型戰鬥(
scaledCombat: true或全域設定):用於希望一般攻擊按相符技能等級計算的內容。裝備與能力仍影響難度。 - 標準戰鬥(兩個旗標皆無):用於原始等級應直接決定難度的怪物,例如出生點附近隨距離調整的菁英。
傳統生命值調整(useRecommendedHealthScaling: false)
當 MobCombatSettings.yml 中的 useRecommendedHealthScaling 設定為 false 時,自然菁英怪物(非地城或區域型 Boss)會使用一個簡化的傳統公式,而非指數調整:
baseDamage = level * 2
mobHealth = baseDamage * 3 (TARGET_HITS_TO_KILL_MOB)
此處 level 至少為 1。公式取代自然菁英生命值與玩家攻擊它們的基礎傷害,不取代玩家受傷的護甲技能公式。線性數值更接近 EliteMobs 9,在部分低等級高於指數值,高等級則低得多。最終實體生命值仍套用生命倍率與伺服器上限。自訂區域型 Boss 不受影響。
將此資料用於地城
注意:這假設你使用的是 normalizedCombat 數值! 那些數值是專門為了更輕鬆地平衡地城而製作的。
Boss 難度的一部分在於讓它對該遭遇戰具有適當的生命值與傷害。然而,請記住這只是其中一部分,powers 同樣重要。
以下內容以自訂 Boss 檔案的正確格式呈現。
簡易快速計算
有了指數調整系統,healthMultiplier 與 damageMultiplier 會直接調整基礎值:
-
healthMultiplier為 1.0 表示該 Boss 被同等級玩家擊殺大約需要 3 次劍擊。其他近戰武器依攻速因子而有所不同:受抑制的爆發武器(如斧、錘矛與近戰三叉戟)所需的次數比劍少,而鋤則需要更多次,因為它們維持傳統的快速武器因子。倍率 2.0 會使生命值加倍,0.5 會使其減半,以此類推。 -
damageMultiplier為 1.0 表示該 Boss 大約以 5 次攻擊殺死一名裝備妥當的同等級玩家。較高的倍率會讓 Boss 更致命,較低的倍率會讓它更安全。
這些攻擊次數估算要求裝備與技能等級匹配,且未觸及最終生命上限。例如,healthMultiplier: 2.0 僅在乘算結果未超過上限時使基礎生命值翻倍,並不保證所有等級都需要六次劍擊。
請記住,玩家往往優先強化武器,最後常常護甲比武器差很多。除非你設計非常特定類型的遠程戰鬥競技場,否則你大概不會想要每次攻擊都造成大量傷害。 請試玩你的內容!
這些攻擊次數也沒有計入以下因素:
- 技能加成。 上述每個次數都假設沒有任何啟用中的加成。跑三個攻擊性加成的玩家殺得明顯更快,而跑三個防禦性加成的玩家活得明顯更久(直到 85% 的總計天花板為止)。請把這些數字當作玩家戰力的下限,而非預測值。
- Advanced Combat 生命值。 額外的 30 HP 提高生存能力,不增加承受的基礎傷害。
- 最大生命值上限。 超過 Minecraft 最大生命值上限中所列的等級之後,
healthMultiplier就完全不再增加生命值。尤其是世界 Boss 的預設值,在預設伺服器上從等級 23 起就被夾限。
建立一般地城怪物
有了 normalizedCombat 的調整,你可以套用一個極為簡約的設定:
normalizedCombat: true
healthMultiplier: 1.0 #~3 sword hits to slay
damageMultiplier: 1.0 #survives ~5 hits
兩個倍率預設皆為 1.0,可省略。除非 Boss 已透過區域、實例或競技場設定正規化,否則保留 normalizedCombat: true。
建立雜兵群
雜兵群數量眾多但不太危險:
normalizedCombat: true
healthMultiplier: 0.7 #~2 sword hits to slay
damageMultiplier: 0.5 #survives ~10 hits
建立增援
增援應該很容易死,但傷害方面要構成威脅(這些數值建議用於 4 隻以上的近戰實體,實際使用可能有所不同):
normalizedCombat: true
healthMultiplier: 0.25 #~1 sword hit to slay
damageMultiplier: 0.6 #survives ~8 hits
建立小頭目
小頭目應該要能站穩腳步,並對玩家構成機制上的挑戰。它應該是一場持續一小段時間的技巧考驗,但不是極度致命的東西:
normalizedCombat: true
healthMultiplier: 3.0 #~9 sword hits to slay
damageMultiplier: 1.2 #survives ~4 hits
建立 Boss
Boss 是真正的挑戰,是地城中一連串鋪陳的高潮,以及一場賭上一切的真正技巧考驗。遭遇戰應該很漫長,而死亡應該是當下存在的威脅。
normalizedCombat: true
healthMultiplier: 7.0 #~21 sword hits to slay
damageMultiplier: 1.4 #survives ~3.5 hits
建立世界Boss
世界Boss 很危險,但最重要的是它們有大量的生命值,並召喚大量的增援/擁有大量的範圍效果攻擊。這些是設計來讓大群玩家在菁英遭遇戰應持續的最長時間內對戰的。它們不是非常致命,但有許多機制能壓垮準備不足的玩家。
normalizedCombat: true
healthMultiplier: 40.0 #~120 sword hits to slay
damageMultiplier: 1.5 #survives ~3 hits
這些只是粗略的建議數值,任何最終數值都應圍繞遭遇戰本身來調整。