建立首領階段
首領階段是自訂首領的子機制。這些階段背後的系統非常靈活且強大,需要專門的說明來確保您充分利用此功能。
首領階段如何運作?
可以使用以下設定格式將首領階段新增到 EliteMobs 中的任何自訂首領:
phases:
- phase_2_boss.yml:0.X
- phase_3_boss.yml:0.Y
注意:您最初生成的首領(包含列出所有其他階段的 phases: 條目)是第 1 階段首領。第 1 階段首領檔案不應在其自己的 phases: 條目中列出自己。
此機制背後的基本意圖是允許管理員在戰鬥期間變更自訂首領屬性。透過使用上述設定格式,您能夠在階段之間完全變更設定檔,這意味著您可以變更 99.99% 的屬性 - 例如技能、傷害倍數、生命值倍數、實體類型、偽裝、穿戴的盔甲...
為了實現這一點,EliteMobs 會在戰鬥期間刪除您的首領,並立即用下一階段的版本替換它。這個過程是即時的,所以通常非常流暢 - 除非您故意想讓它更華麗。首領在轉換後會獲得 1 秒的戰鬥寬限期,以確保視覺效果流暢。
範例
以這個範例階段首領為例:
檔案:phase_1_boss.yml
isEnabled: true
level: 50
healthMultiplier: 10
entityType: STRAY
powers:
- attack_gravity.yml
phases:
- phase_2_boss.yml:0.60
- phase_3_boss.yml:0.30
檔案:phase_2_boss.yml
isEnabled: true
level: 50
healthMultiplier: 10
entityType: SKELETON
powers:
- attack_gravity.yml
- arrow_fireworks.yml
檔案:phase_3_boss.yml
isEnabled: true
level: 50
healthMultiplier: 10
entityType: WITHER_SKELETON
powers:
- arrow_rain
這構成了一個有效的階段首領。如果您生成 phase_1_boss.yml,它將生成一個具有上述屬性的流浪者。在被傷害至其生命值的 60% 後,它將立即在同一位置被 phase_2_boss.yml 中形成的自訂首領替換,因為設定檔聲明了 - phase_2_boss.yml:0.60(phase_2_boss.yml 是該自訂首領的檔案名稱,0.60 是 60% 生命值)。請注意,第 2 階段首領將以其 60% 的生命值生成,因為這是它變更到該階段的時候。 首領將擁有 phase_2_boss.yml 檔案中列出的技能。一旦第 2 階段首領被傷害至其生命值的 30%,它將生成為第 3 階段設定的首領。請注意,第 3 階段的技能與之前的技能無關 - 您可以在階段之間完全變更技能,就像幾乎所有其他屬性一樣。
進階
繼承機制
以下是在階段之間不會變更的事項清單:
-
鏈中的第一個階段首領決定首領將經歷哪些階段,這意味著您不應該在階段中的其他首領中放置階段條目。
-
威脅表 / 傷害表保持不變,這意味著戰利品分配和進階仇恨系統不受階段變更的影響
-
切換階段是基於損失的生命值百分比,該百分比在階段之間保留。這意味著如果您的首領設定為在 50% 生命值時進入第 2 階段,那麼將要替換第 1 階段首領的首領仍將處於 50% 生命值。這也意味著每個階段可以擁有完全不同的生命值量而不會造成問題。
-
如果階段首領透過預設的脫離戰鬥首領再生系統被治癒至滿生命值,則會恢復至第 1 階段
-
同時也是區域首領的階段首領在所有階段共享相同的牽引範圍和超時機制,並將在重生計時器結束後作為第 1 階段首領重生。重生冷卻時間和其他區域首領設定始終取自第 1 階段首領設定。
階段特定生成位置
預設情況下,首領在階段之間轉換時保持在其當前位置。但是,您可以使用 phaseSpawnLocation 設定讓首領在進入階段時傳送到特定位置:
檔案:phase_2_boss.yml
isEnabled: true
level: 50
healthMultiplier: 10
entityType: SKELETON
powers:
- attack_gravity.yml
- arrow_fireworks.yml
phaseSpawnLocation: world_name,100,64,100,0,0
您也可以在讓首領保持在同一世界中的同時傳送首領:
phaseSpawnLocation: same_as_boss,100,64,100,0,0
這對於建立戲劇性的階段轉換非常有用,首領會傳送到不同的競技場或位置。
警告
以下是以一種可能最初違反直覺的方式運作的機制清單:
-
如果階段首領在任何階段被殺死,它將掉落該階段的戰利品。這意味著如果有人設法太快殺死階段首領(一擊),它實際上會死亡並掉落為該首領檔案設定的戰利品,這不一定是最終階段。您可以透過將戰利品表設定為在此階段首領的所有首領檔案中相同,或確保您的階段首領有足夠的生命值以至於不可能在短短幾次攻擊中殺死它們來解決此問題。或者,您可以為能夠跳過階段的人設定特殊戰利品表。
-
由於階段首領實際上會在戰鬥期間導致自訂首領生成,因此它們在生成時會執行其整個生成例程。因此,在生成訊息和在生成時執行的指令方面要小心。此外,如果階段首領變更階段,它們不會死亡,只是被其他東西替換。這意味著在死亡時執行的指令只會為最後一個階段首領執行,或者如果玩家設法透過造成足夠的傷害跳過階段。在生成時執行的指令可用於連結到階段變更。注意: 當首領因再生至滿生命值而重置為第 1 階段時,不會發送生成訊息。但是,在戰鬥期間轉換到第 2、3 等階段時,以及當區域首領在冷卻後重生時,會發送生成訊息。
-
階段首領可以在階段之間騎乘或停止騎乘。如果階段首領在坐騎死亡前被殺死,坐騎將持續到下一個階段。如果首領再生回滿生命值,坐騎將被刪除,首領變為未騎乘狀態,除非它被設定為在第 1 階段騎乘實體。
-
由於在階段之間生成新的自訂首領,一次性生成機制會在階段之間和滿生命值時重置。
技巧和訣竅
-
您可以利用裝備和實體類型可以在戰鬥中變更的事實,讓首領在整個戰鬥過程中看起來越來越(或越來越不)危險
-
雖然可能,但除非有特定的設計目標,否則階段首領擁有的技能最好不要在階段之間變化太大,因為玩家更可能享受在整個戰鬥過程中感覺自然的進展。
-
您可以使用 onSpawn 指令在階段之間執行指令
-
您可以使用
song設定選項為每個階段設定不同的音樂。當首領進入新階段時,音樂會自動轉換。 -
階段可用於將首領從近戰模式切換到遠程模式,反之亦然
-
階段首領被建立為具有大量生命值的強悍首領。它們通常最適合作為地牢的最終首領遭遇或作為大型世界首領。
-
在設計遭遇時,請記住,玩家可能不會在階段之間殺死增援。
-
首領可以擁有任意數量的階段,但階段越多,它們需要越多的生命值才能讓每個階段都有意義。
API 整合
對於外掛開發人員:EliteMobs 在首領在階段之間轉換時會觸發 ElitePhaseSwitchEvent。此事件可用於在階段轉換期間建立自訂行為或效果:
@EventHandler
public void onPhaseSwitch(ElitePhaseSwitchEvent event) {
CustomBossEntity boss = event.getCustomBossEntity();
PhaseBossEntity phaseBoss = event.getPhaseBossEntity();
// Your custom logic here
}