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 ausführliche Erklärung erfordert, um sicherzustellen, dass Sie diese Funktion gut nutzen können.
Wie funktionieren Boss-Phasen?
Boss-Phasen können jedem benutzerdefinierten Boss in EliteMobs mit dem folgenden Konfigurationsformat hinzugefügt werden:
phases:
- phase_2_boss.yml:0.X
- phase_3_boss.yml:0.Y
Hinweis: Der Boss, den Sie ursprünglich spawnen (der den phases:-Eintrag mit allen anderen Phasen enthält), ist der Phase-1-Boss. Die Phase-1-Boss-Datei sollte NICHT sich selbst in ihrem eigenen phases:-Eintrag auflisten.
Die grundlegende Absicht hinter dieser Mechanik ist es, Admins zu ermöglichen, die Attribute benutzerdefinierter Bosse während des Kampfes zu ändern. Durch die Verwendung des obigen Konfigurationsformats können Sie die Konfigurationsdateien von Phase zu Phase vollständig ändern, was bedeutet, dass Sie 99,99% der Attribute ändern können - wie Kräfte, Schadensmultiplikatoren, Gesundheitsmultiplikatoren, Entitätstyp, Verkleidung, getragene Rüstung...
Um dies zu erreichen, löscht EliteMobs Ihren Boss während des Kampfes und ersetzt ihn sofort durch die Version aus der nächsten Phase. Der Prozess dahinter ist augenblicklich, sodass er ziemlich nahtlos verläuft - es sei denn, Sie möchten es absichtlich auffällig gestalten. Der Boss erhält eine 1-sekündige Kampfschonfrist nach dem Übergang, um reibungslose visuelle Effekte zu gewährleisten.
Beispiel
Nehmen Sie diesen Beispiel-Phasenboss:
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 stellt einen gültigen Phasenboss dar. Wenn Sie phase_1_boss.yml spawnen, wird ein Eiswanderer mit den oben aufgeführten Attributen gespawnt. Nachdem er auf 60% seiner Gesundheit beschädigt wurde, wird er sofort am selben Ort durch den benutzerdefinierten Boss ersetzt, wie er in phase_2_boss.yml gebildet wird, da die Konfigurationsdatei - phase_2_boss.yml:0.60 angibt (phase_2_boss.yml ist der Dateiname für diesen benutzerdefinierten Boss, 0.60 bedeutet 60% Gesundheit). Beachten Sie, dass der Phase-2-Boss mit 60% seiner Gesundheit spawnt, da er dann zu dieser Phase wechselt. Der Boss hat die Kräfte, die in der Datei phase_2_boss.yml aufgeführt sind. Sobald der Phase-2-Boss auf 30% seiner Gesundheit beschädigt wird, spawnt er den für Phase 3 festgelegten Boss. Beachten Sie, dass die Kräfte für Phase 3 nichts mit denen von vorher zu tun haben - Sie können die Kräfte zwischen den Phasen vollständig ändern, genau wie fast alle anderen Attribute.
Erweitert
Vererbte Mechaniken
Hier ist eine Liste von Dingen, die sich von Phase zu Phase nicht ändern:
-
Der erste Phasenboss in der Kette bestimmt, durch welche Phasen der Boss gehen wird, was bedeutet, dass Sie keinen Phaseneintrag für die anderen Bosse in der Phase setzen sollten.
-
Bedrohungstabelle / Schadenstabelle bleibt gleich, was bedeutet, dass Beuteverteilung und das erweiterte Aggro-System von einem Phasenwechsel nicht beeinflusst werden
-
Das Wechseln von Phasen basiert auf % verlorener Gesundheit, die von Phase zu Phase erhalten bleibt. Das bedeutet, wenn Ihr Boss so eingestellt ist, dass er Phase 2 bei 50% Gesundheit betritt, wird der Boss, der den Phase-1-Boss ersetzt, immer noch bei 50% Gesundheit sein. Das bedeutet auch, dass jede Phase völlig unterschiedliche Gesundheitsmengen haben kann, ohne dass es Probleme verursacht.
-
Phasenbosse kehren zu Phase 1 zurück, wenn sie durch das standardmäßige Außer-Kampf-Boss-Regenerationssystem auf volle Gesundheit geheilt werden
-
Phasenbosse, die auch regionale Bosse sind, teilen sich den gleichen Leinenradius und die Timeout-Mechanik über alle Phasen hinweg und werden nach Ablauf des Respawn-Timers als Phase-1-Boss respawnen. Die Respawn-Abklingzeit und andere regionale Boss-Einstellungen werden immer aus der Phase-1-Boss-Konfiguration übernommen.
Phasenspezifische Spawn-Positionen
Standardmäßig bleiben Bosse beim Übergang zwischen Phasen an ihrer aktuellen Position. Sie können jedoch einen Boss an einen bestimmten Ort teleportieren lassen, wenn er eine Phase betritt, indem Sie die Einstellung phaseSpawnLocation verwenden:
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 können den Boss auch teleportieren und ihn dabei in derselben Welt belassen:
phaseSpawnLocation: same_as_boss,100,64,100,0,0
Dies ist nützlich, um dramatische Phasenübergänge zu erstellen, bei denen der Boss sich zu einer anderen Arena oder einem anderen Ort teleportiert.
Warnungen
Hier ist eine Liste von Mechaniken, die auf eine Weise funktionieren, die zunächst kontraintuitiv sein kann:
-
Wenn ein Phasenboss während einer Phase getötet wird, wird er die Beute aus dieser Phase fallen lassen. Das bedeutet, wenn es jemandem gelingt, einen Phasenboss zu schnell zu töten (1-Shot), wird er tatsächlich sterben und die Beute fallen lassen, die für diese Boss-Datei konfiguriert ist, was nicht unbedingt die finale Phase sein muss. Sie können dies beheben, indem Sie die Beutetabelle für alle Boss-Dateien dieses Phasenbosse gleich einstellen oder indem Sie sicherstellen, dass Ihre Phasenbosse genug HP haben, sodass es unmöglich ist, sie in nur wenigen Treffern zu töten. Alternativ können Sie spezielle Beutetabellen für Personen haben, die in der Lage sind, Phasen zu überspringen.
-
Da Phasenbosse tatsächlich dazu führen, dass benutzerdefinierte Bosse während des Kampfes spawnen, führen sie ihre gesamte Spawn-Routine aus, wenn sie spawnen. Seien Sie daher vorsichtig bei Spawn-Nachrichten und Befehlen, die beim Spawnen ausgeführt werden. Außerdem sterben Phasenbosse nicht, wenn sie die Phasen wechseln, sie werden einfach durch etwas anderes ausgetauscht. Das bedeutet, dass Befehle, die beim Tod ausgeführt werden, nur für den letzten Phasenboss ausgeführt werden, oder wenn der Spieler es schafft, eine Phase zu überspringen, indem er genug Schaden verursacht. Befehle, die beim Spawnen ausgeführt werden, können verwendet werden, um sich in Phasenwechsel einzuhaken. Hinweis: Die Spawn-Nachricht wird nicht gesendet, wenn der Boss aufgrund der Regeneration auf volle Gesundheit zu Phase 1 zurückkehrt. Spawn-Nachrichten WERDEN jedoch beim Übergang zu Phase 2, 3 usw. während des Kampfes gesendet und wenn regionale Bosse nach ihrer Abklingzeit respawnen.
-
Phasenbosse können zwischen den Phasen beritten kommen oder aufhören, beritten zu sein. Wenn der Phasenboss getötet wird, bevor das Reittier tot ist, wird das Reittier bis zur nächsten Phase bestehen bleiben. Wenn der Boss auf volle Gesundheit regeneriert, wird das Reittier gelöscht und der Boss wird unberitten, es sei denn, er ist so konfiguriert, dass er während Phase 1 eine Entität reitet.
-
Da neue benutzerdefinierte Bosse zwischen den Phasen gespawnt werden, wird die einmalige Spawn-Mechanik zwischen den Phasen und bei vollständigen Heilungen zurückgesetzt.
Tipps & Tricks
-
Sie können die Tatsache nutzen, dass Ausrüstung und Entitätstypen während des Kampfes geändert werden können, um den Boss im Laufe des Kampfes immer gefährlicher (oder weniger gefährlich) aussehen zu lassen
-
Obwohl es möglich ist, ist es wahrscheinlich am besten, dass sich die Kräfte, die der Phasenboss hat, nicht zu drastisch zwischen den Phasen ändern, es sei denn, es gibt ein bestimmtes Designziel im Sinn, da Spieler eher eine Progression genießen, die sich während des Kampfes natürlich anfühlt.
-
Sie können onSpawn-Befehle verwenden, um Befehle zwischen den Phasen auszuführen
-
Sie können mit der Konfigurationsoption
songunterschiedliche Musik für jede Phase festlegen. Die Musik wechselt automatisch, wenn der Boss eine neue Phase betritt. -
Phasen können verwendet werden, um den Boss vom Nahkampf- in den Fernkampfmodus zu wechseln und umgekehrt
-
Phasenbosse wurden entwickelt, um harte Bosse mit viel HP zu sein. Sie eignen sich normalerweise am besten als finaler Boss-Kampf für Dungeons oder als große Weltbosse.
-
Denken Sie beim Entwerfen von Begegnungen daran, dass es möglich ist, dass Verstärkungen zwischen den Phasen nicht von Spielern getötet werden.
-
Bosse können beliebig viele Phasen haben, aber je mehr Phasen sie haben, desto mehr Gesundheit benötigen sie, damit jede Phase wichtig ist.
API-Integration
Für Plugin-Entwickler: EliteMobs feuert ein ElitePhaseSwitchEvent, wenn ein Boss zwischen Phasen wechselt. Dieses Event kann verwendet werden, um benutzerdefinierte Verhaltensweisen oder Effekte während Phasenübergängen zu erstellen:
@EventHandler
public void onPhaseSwitch(ElitePhaseSwitchEvent event) {
CustomBossEntity boss = event.getCustomBossEntity();
PhaseBossEntity phaseBoss = event.getPhaseBossEntity();
// Ihre benutzerdefinierte Logik hier
}