Crear Fases de Jefe
Las Fases de Jefe son una submecánica de los Jefes Personalizados. El sistema detrás de estas fases es tan flexible y potente que requiere su propia explicación dedicada para asegurarse de que aproveches bien esta característica.
¿Cómo funcionan las Fases de Jefe?
Las Fases de Jefe se pueden añadir a cualquier Jefe Personalizado en EliteMobs usando el siguiente formato de configuración:
phases:
- phase_2_boss.yml:0.X
- phase_3_boss.yml:0.Y
Nota: El jefe que invocas originalmente (que contiene la entrada phases: que lista todas las demás fases) es el jefe de la fase 1. El archivo del jefe de la fase 1 NO debe listarse a sí mismo en su propia entrada phases:.
La intención básica detrás de esta mecánica es permitir a los administradores cambiar los atributos del Jefe Personalizado durante el combate. Usando el formato de configuración anterior, puedes cambiar por completo los archivos de configuración de una fase a otra, lo que significa que puedes cambiar el 99,99% de los atributos — como poderes, multiplicadores de daño, multiplicadores de salud, tipo de entidad, disfraz, armadura usada...
Para lograr esto, EliteMobs elimina tu jefe durante el combate y lo reemplaza instantáneamente con la versión de la siguiente fase. El proceso detrás de esto es instantáneo, por lo que tiende a ser bastante fluido — a menos que quieras hacerlo llamativo a propósito. El jefe recibe un periodo de gracia de combate de 1 segundo tras la transición para garantizar efectos visuales fluidos.
Ejemplo
Toma este jefe de fases de ejemplo:
Archivo: 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
Archivo: phase_2_boss.yml
isEnabled: true
level: 50
healthMultiplier: 10
entityType: SKELETON
powers:
- attack_gravity.yml
- arrow_fireworks.yml
Archivo: phase_3_boss.yml
isEnabled: true
level: 50
healthMultiplier: 10
entityType: WITHER_SKELETON
powers:
- arrow_rain.yml
Esto constituye un Jefe de Fases válido. Si invocas phase_1_boss.yml, hará aparecer un Stray con los atributos listados arriba. Tras ser dañado hasta el 60% de su salud, será reemplazado inmediatamente en la misma ubicación por el Jefe Personalizado formado en phase_2_boss.yml, ya que el archivo de configuración indica - phase_2_boss.yml:0.60 (phase_2_boss.yml es el nombre de archivo de ese jefe personalizado, 0.60 es el 60% de salud). Ten en cuenta que el jefe de la fase 2 aparecerá con el 60% de su salud, ya que ese es el momento en que cambia a esa fase. El jefe tendrá los poderes listados en el archivo phase_2_boss.yml. Una vez que el jefe de la fase 2 es dañado hasta el 30% de su salud, hace aparecer al jefe establecido para la fase 3. Ten en cuenta que los poderes de la fase 3 no están relacionados con los anteriores — puedes cambiar por completo los poderes entre fases, igual que casi todos los demás atributos.
Avanzado
Mecánicas heredadas
Aquí hay una lista de cosas que no cambian de una fase a otra:
-
El primer Jefe de Fases de la cadena determina por qué fases pasará el jefe, lo que significa que no deberías poner una entrada de phases para los demás jefes de la fase.
-
La tabla de amenaza / tabla de daño permanece igual, lo que significa que la distribución del botín y el sistema de aggro avanzado no se ven afectados por un cambio de fase
-
El cambio de fases se basa en el % de salud perdida, que se conserva de una fase a otra. Esto significa que si tu jefe está configurado para entrar en la fase 2 al 50% de salud, el jefe que aparecerá para reemplazar al jefe de la fase 1 seguirá estando al 50% de salud. Esto también significa que cada fase puede tener cantidades de salud completamente diferentes sin que cause problemas.
-
Los Jefes de Fases vuelven a la Fase 1 si son curados hasta recuperar toda su salud mediante el sistema predeterminado de regeneración de jefes fuera de combate
-
Los Jefes de Fases que también son Jefes Regionales comparten el mismo radio de correa (leash) y la misma mecánica de tiempo de espera en todas las fases, y reaparecerán como el jefe de la fase 1 una vez que termine el temporizador de reaparición. El tiempo de reaparición y otros ajustes de jefe regional siempre se toman de la configuración del jefe de la fase 1.
Ubicaciones de aparición específicas de cada fase
De forma predeterminada, los jefes permanecen en su ubicación actual al hacer la transición entre fases. Sin embargo, puedes hacer que un jefe se teletransporte a una ubicación específica al entrar en una fase usando el ajuste phaseSpawnLocation:
Archivo: 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
También puedes teletransportar al jefe manteniéndolo en el mismo mundo:
phaseSpawnLocation: same_as_boss,100,64,100,0,0
Esto es útil para crear transiciones de fase dramáticas en las que el jefe se teletransporta a una arena o ubicación diferente.
Advertencias
Aquí hay una lista de mecánicas que funcionan de una forma que puede resultar contraintuitiva al principio:
-
Si un Jefe de Fases es derrotado durante cualquier fase, soltará el botín de esa fase. Esto significa que si alguien logra matar a un jefe de fases demasiado rápido (de un golpe), realmente morirá y soltará el botín configurado para ese archivo de jefe, que no necesariamente es el de la fase final. Puedes solucionar esto haciendo que la tabla de botín sea la misma en todos los archivos de jefe de este jefe de fases, o asegurándote de que tus Jefes de Fases tengan suficiente HP hasta el punto en que sea imposible matarlos en solo unos pocos golpes. Como alternativa, puedes tener tablas de botín especiales para quienes sean capaces de saltarse fases.
-
Dado que los Jefes de Fases en realidad hacen que aparezcan Jefes Personalizados durante el combate, realizarán toda su rutina de aparición cuando aparecen. Por lo tanto, ten cuidado con los mensajes de aparición y los comandos que se ejecutan al aparecer. Además, los jefes de fases no mueren si cambian de fase, simplemente se intercambian por otra cosa. Esto significa que los comandos que se ejecutan al morir solo se ejecutarán para el último Jefe de Fases, o si el jugador logra saltarse una fase infligiendo suficiente daño. Los comandos que se ejecutan al aparecer pueden usarse para engancharse a los cambios de fase. Nota: El mensaje de aparición no se enviará cuando el jefe se reinicie a la fase 1 por haber regenerado toda su salud. Sin embargo, los mensajes de aparición SÍ se envían al hacer la transición a las fases 2, 3, etc. durante el combate, y cuando los jefes regionales reaparecen tras su tiempo de espera.
-
Los jefes de fases pueden venir montados o dejar de estar montados entre fases. Si el jefe de fases es derrotado antes de que la montura muera, la montura persistirá hasta la siguiente fase. Si el jefe regenera toda su salud, la montura se elimina y el jefe queda desmontado, a menos que esté configurado para montar una entidad durante la fase 1.
-
Dado que se hacen aparecer nuevos Jefes Personalizados entre fases, la mecánica de aparición única (1-time spawn) se reinicia entre fases y al recuperar toda la salud.
Trucos y consejos
-
Puedes aprovechar el hecho de que el equipamiento y los tipos de entidad pueden cambiarse a lo largo del combate para hacer que el jefe se vea cada vez más (o cada vez menos) peligroso a lo largo de la pelea
-
Aunque es posible, a menos que tengas un objetivo de diseño específico en mente, probablemente sea mejor que los poderes del Jefe de Fases no cambien demasiado drásticamente entre fases, ya que es más probable que los jugadores disfruten de una progresión que se sienta natural a lo largo de la pelea.
-
Puedes usar comandos onSpawn para ejecutar comandos entre fases
-
Puedes establecer música diferente para cada fase usando la opción de configuración
song. La música hará la transición automáticamente cuando el jefe entre en una nueva fase. -
Las fases pueden usarse para cambiar al jefe de modo cuerpo a cuerpo a modo a distancia y viceversa
-
Los Jefes de Fases fueron construidos para ser jefes resistentes con mucho HP. Suelen funcionar mejor como encuentro de jefe final de mazmorras o como grandes Jefes de Mundo (World Bosses).
-
Al diseñar encuentros, ten en cuenta que es posible que los refuerzos no sean eliminados por los jugadores entre fases.
-
Los jefes pueden tener tantas fases como quieras, pero cuantas más fases tengan, más salud necesitarán para que cada fase tenga sentido.
Integración con la API
Para desarrolladores de plugins: EliteMobs dispara un ElitePhaseSwitchEvent cuando un jefe hace la transición entre fases. Este evento puede usarse para crear comportamientos o efectos personalizados durante las transiciones de fase:
@EventHandler
public void onPhaseSwitch(ElitePhaseSwitchEvent event) {
CustomBossEntity boss = event.getCustomBossEntity();
PhaseBossEntity phaseBoss = event.getPhaseBossEntity();
// Your custom logic here
}