Boss-Phasen erstellen
Boss-Phasen sind eine Untermechanik von benutzerdefinierten Bossen. Das System hinter diesen Phasen ist so flexibel und leistungsstark, dass es eine eigene Erklarung benotigt, damit Sie diese Funktion optimal nutzen konnen.
Wie funktionieren Boss-Phasen?
Boss-Phasen konnen jedem benutzerdefinierten Boss in EliteMobs mit folgendem Konfigurationsformat hinzugefugt werden:
phases:
- phase_2_boss.yml:0.X
- phase_3_boss.yml:0.Y
Hinweis: Der Boss, den Sie ursprunglich spawnen (der den phases:-Eintrag mit allen anderen Phasen enthalt), ist der Phase-1-Boss. Die Phase-1-Boss-Datei sollte sich NICHT selbst in ihrem eigenen phases:-Eintrag auflisten.
Die grundlegende Absicht hinter dieser Mechanik ist es, Administratoren zu ermoglichen, Attribute des benutzerdefinierten Bosses wahrend des Kampfes zu andern. Durch die Verwendung des obigen Konfigurationsformats konnen Sie Konfigurationsdateien von Phase zu Phase vollstandig andern, was bedeutet, dass Sie 99,99% der Attribute andern konnen - wie Krafte, Schadensmultiplikatoren, Lebensmultiplikatoren, Entitatstyp, Verkleidung, getragene Rustung...
Um dies zu erreichen, loscht EliteMobs Ihren Boss wahrend des Kampfes und ersetzt ihn sofort durch die Version der nachsten Phase. Der Prozess ist sofort, sodass er in der Regel nahtlos ablauft - es sei denn, Sie mochten ihn absichtlich auffalliger gestalten. Der Boss erhalt nach dem Ubergang eine 1-sekundige Kampfgnadenfrist, um reibungslose visuelle Effekte zu gewahrleisten.
Beispiel
Nehmen Sie dieses Beispiel eines Phasen-Bosses:
Datei: 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
Datei: phase_2_boss.yml
isEnabled: true
level: 50
healthMultiplier: 10
entityType: SKELETON
powers:
- attack_gravity.yml
- arrow_fireworks.yml
Datei: phase_3_boss.yml
isEnabled: true
level: 50
healthMultiplier: 10
entityType: WITHER_SKELETON
powers:
- arrow_rain
Dies bildet einen gultigen Phasen-Boss. Wenn Sie phase_1_boss.yml spawnen, erscheint ein Stray mit den oben aufgefuhrten Attributen. Nachdem er auf 60% seiner Gesundheit heruntergeschadigt wurde, wird er sofort am selben Ort durch den benutzerdefinierten Boss aus phase_2_boss.yml ersetzt, da die Konfigurationsdatei - phase_2_boss.yml:0.60 angibt (phase_2_boss.yml ist der Dateiname fur diesen benutzerdefinierten Boss, 0.60 ist 60% Gesundheit). Beachten Sie, dass der Phase-2-Boss mit 60% seiner Gesundheit erscheint, da er zu diesem Zeitpunkt in diese Phase wechselt. Der Boss wird die in phase_2_boss.yml aufgefuhrten Krafte haben. Sobald der Phase-2-Boss auf 30% seiner Gesundheit heruntergeschadigt wird, erscheint der fur Phase 3 festgelegte Boss. Beachten Sie, dass die Krafte fur Phase 3 nichts mit den vorherigen zu tun haben - Sie konnen die Krafte zwischen den Phasen vollstandig andern, genau wie fast alle anderen Attribute.
Erweitert
Vererbte Mechaniken
Hier ist eine Liste von Dingen, die sich nicht von Phase zu Phase andern:
-
Der erste Phasen-Boss in der Kette bestimmt, welche Phasen der Boss durchlaufen wird, d.h. Sie sollten keinen Phaseneintrag fur die anderen Bosse in der Phase erstellen.
-
Die Bedrohungs-/Schadenstabelle bleibt gleich, was bedeutet, dass die Beuteverteilung und das erweiterte Aggro-System von einem Phasenwechsel nicht betroffen sind.
-
Der Phasenwechsel basiert auf dem Prozentsatz des verlorenen Lebens, der von Phase zu Phase erhalten bleibt. Das bedeutet, dass der Boss, der als Phase 2 bei 50% Gesundheit erscheint, immer noch bei 50% Gesundheit ist. Dies bedeutet auch, dass jede Phase vollig unterschiedliche Gesundheitsmengen haben kann, ohne dass Probleme auftreten.
-
Phasen-Bosse kehren zu Phase 1 zuruck, wenn sie durch das Standard-Regenerationssystem ausserhalb des Kampfes auf volle Gesundheit geheilt werden.
-
Phasen-Bosse, die auch Regionale Bosse sind, teilen den gleichen Leinenradius und Timeout-Mechanismus uber alle Phasen hinweg und erscheinen nach Ablauf des Respawn-Timers als Phase-1-Boss wieder. Der Respawn-Cooldown und andere regionale Boss-Einstellungen werden immer von der Phase-1-Boss-Konfiguration ubernommen.
Phasenspezifische Spawn-Orte
Standardmassig bleiben Bosse beim Ubergang zwischen Phasen an ihrem aktuellen Standort. Sie konnen jedoch einen Boss mit der Einstellung phaseSpawnLocation an einen bestimmten Ort teleportieren lassen, wenn er in eine Phase eintritt:
Datei: 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
Sie konnen den Boss auch teleportieren, wahrend er in derselben Welt bleibt:
phaseSpawnLocation: same_as_boss,100,64,100,0,0
Dies ist nutzlich, um dramatische Phasenubergange zu erstellen, bei denen der Boss in eine andere Arena oder an einen anderen Ort teleportiert wird.
Warnungen
Hier ist eine Liste von Mechaniken, die auf eine anfanglich kontraintuitive Weise funktionieren:
-
Wenn ein Phasen-Boss wahrend einer Phase getotet wird, lasst er die Beute dieser Phase fallen. Das bedeutet, wenn es jemandem gelingt, einen Phasen-Boss zu schnell zu toten (1-Shot), wird er tatsachlich sterben und die fur diese Boss-Datei konfigurierte Beute fallen lassen, die moglicherweise nicht die letzte Phase ist. Sie konnen dies beheben, indem Sie die Beutetabelle fur alle Boss-Dateien dieses Phasen-Bosses gleich setzen, oder indem Sie sicherstellen, dass Ihre Phasen-Bosse genug HP haben, damit es unmoglich ist, sie mit nur wenigen Schlagen zu toten. Alternativ konnen Sie spezielle Beutetabellen fur Spieler haben, die Phasen uberspringen konnen.
-
Da Phasen-Bosse tatsachlich benutzerdefinierte Bosse wahrend des Kampfes spawnen, fuhren sie ihre gesamte Spawn-Routine beim Spawnen durch. Seien Sie daher vorsichtig bei Spawn-Nachrichten und Befehlen, die beim Spawnen ausgefuhrt werden. Ausserdem sterben Phasen-Bosse nicht, wenn sie die Phase wechseln, sondern werden einfach durch etwas anderes ersetzt. Das bedeutet, dass Befehle, die beim Tod ausgefuhrt werden, nur fur den letzten Phasen-Boss ausgefuhrt werden, oder wenn der Spieler es schafft, eine Phase zu uberspringen, indem er genugend Schaden verursacht. Befehle, die beim Spawnen ausgefuhrt werden, konnen verwendet werden, um sich in Phasenwechsel einzuklinken. Hinweis: Die Spawn-Nachricht wird nicht gesendet, wenn der Boss aufgrund von Regeneration auf volle Gesundheit auf Phase 1 zuruckgesetzt wird. Spawn-Nachrichten werden jedoch gesendet, wenn wahrend des Kampfes in Phase 2, 3 usw. gewechselt wird und wenn regionale Bosse nach ihrem Cooldown respawnen.
-
Phasen-Bosse konnen zwischen Phasen beritten kommen oder aufhoren, beritten zu sein. Wenn der Phasen-Boss getotet wird, bevor das Reittier tot ist, bleibt das Reittier in der nachsten Phase bestehen. Wenn der Boss auf volle Gesundheit regeneriert, wird das Reittier geloscht und der Boss wird abgestiegen, es sei denn, er ist konfiguriert, wahrend Phase 1 eine Entitat zu reiten.
-
Da zwischen Phasen neue benutzerdefinierte Bosse gespawnt werden, wird die Einmal-Spawn-Mechanik zwischen Phasen und bei voller Heilung zuruckgesetzt.
Tipps und Tricks
-
Sie konnen die Tatsache nutzen, dass Ausrustung und Entitatstypen wahrend des Kampfes geandert werden konnen, um den Boss im Laufe des Kampfes gefahrlicher (oder weniger gefahrlich) aussehen zu lassen.
-
Obwohl moglich, sollten die Krafte des Phasen-Bosses, sofern kein bestimmtes Designziel verfolgt wird, wahrscheinlich nicht zu drastisch zwischen Phasen geandert werden, da Spieler eher eine naturliche Progression wahrend des Kampfes geniessen.
-
Sie konnen onSpawn-Befehle verwenden, um Befehle zwischen Phasen auszufuhren.
-
Sie konnen mit der Konfigurationsoption
songfur jede Phase unterschiedliche Musik einstellen. Die Musik wechselt automatisch, wenn der Boss in eine neue Phase eintritt. -
Phasen konnen verwendet werden, um den Boss vom Nahkampf- in den Fernkampfmodus zu wechseln und umgekehrt.
-
Phasen-Bosse wurden fur harte Bosse mit viel HP entwickelt. Sie eignen sich normalerweise am besten als Endgegner fur Dungeons oder als grosse Weltbosse.
-
Beachten Sie beim Design von Begegnungen, dass es moglich ist, dass Verstarkungen zwischen Phasen nicht von Spielern getotet werden.
-
Bosse konnen beliebig viele Phasen haben, aber je mehr Phasen sie haben, desto mehr Gesundheit benotigen sie, damit jede Phase zahlt.
API-Integration
Fur Plugin-Entwickler: EliteMobs feuert ein ElitePhaseSwitchEvent, wenn ein Boss zwischen Phasen wechselt. Dieses Event kann verwendet werden, um benutzerdefinierte Verhaltensweisen oder Effekte wahrend des Phasenubergangs zu erstellen:
@EventHandler
public void onPhaseSwitch(ElitePhaseSwitchEvent event) {
CustomBossEntity boss = event.getCustomBossEntity();
PhaseBossEntity phaseBoss = event.getPhaseBossEntity();
// Your custom logic here
}