Criando Fases de Chefe
As Fases de Chefe são uma sub-mecânica dos Chefes Personalizados. O sistema por trás dessas fases é tão flexível e poderoso que requer sua própria explicação dedicada para garantir que você faça bom uso deste recurso.
Como funcionam as Fases de Chefe?
As Fases de Chefe podem ser adicionadas a qualquer Chefe Personalizado no EliteMobs usando o seguinte formato de configuração:
phases:
- phase_2_boss.yml:0.X
- phase_3_boss.yml:0.Y
Nota: O chefe que você originalmente spawna (que contém a entrada phases: listando todas as outras fases) é o chefe da fase 1. O arquivo do chefe da fase 1 NÃO deve listar a si mesmo em sua própria entrada phases:.
A intenção básica por trás dessa mecânica é permitir que os administradores mudem os atributos do Chefe Personalizado durante o combate. Ao usar o formato de configuração acima, você pode mudar completamente os arquivos de configuração de fase para fase, o que significa que você pode alterar 99,99% dos atributos - como poderes, multiplicadores de dano, multiplicadores de vida, tipo de entidade, disfarce, armadura vestida...
Para conseguir isso, o EliteMobs deleta seu chefe durante o combate e instantaneamente o substitui pela versão da próxima fase. O processo por trás disso é instantâneo, então tende a ser bastante contínuo - a menos que você queira torná-lo chamativo de propósito. O chefe recebe um período de graça de combate de 1 segundo após a transição para garantir efeitos visuais suaves.
Exemplo
Considere este exemplo de chefe de fase:
Arquivo: 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
Arquivo: phase_2_boss.yml
isEnabled: true
level: 50
healthMultiplier: 10
entityType: SKELETON
powers:
- attack_gravity.yml
- arrow_fireworks.yml
Arquivo: phase_3_boss.yml
isEnabled: true
level: 50
healthMultiplier: 10
entityType: WITHER_SKELETON
powers:
- arrow_rain
Isso constitui um Chefe de Fase válido. Se você spawnar phase_1_boss.yml, ele irá spawnar um Stray com os atributos listados acima. Depois de ser danificado até 60% de sua vida, ele será imediatamente substituído no mesmo local pelo Chefe Personalizado conforme formado em phase_2_boss.yml, já que o arquivo de configuração declara - phase_2_boss.yml:0.60 (phase_2_boss.yml é o nome do arquivo para aquele chefe personalizado, 0.60 é 60% de vida). Note que o chefe da fase 2 irá spawnar com 60% de sua vida, já que é quando ele muda para essa fase. O chefe terá os poderes listados no arquivo phase_2_boss.yml. Uma vez que o chefe da fase 2 seja danificado até 30% de sua vida, ele spawna o chefe definido para a fase 3. Note que os poderes para a fase 3 não estão relacionados aos anteriores - você pode mudar completamente os poderes entre as fases, assim como quase todos os outros atributos.
Avançado
Mecânicas herdadas
Aqui está uma lista de coisas que não mudam de fase para fase:
-
O primeiro Chefe de Fase na cadeia determina quais fases o chefe passará, o que significa que você não deve colocar uma entrada de fases para os outros chefes na fase.
-
Tabela de ameaça / Tabela de dano permanece a mesma, o que significa que a distribuição de loot e o sistema de aggro avançado não são afetados por uma mudança de fase
-
A mudança de fases é baseada em % de vida perdida, que é preservada de fase para fase. Isso significa que se seu chefe está configurado para entrar na fase 2 aos 50% de vida, o chefe que aparecerá para substituir o chefe da fase 1 ainda estará com 50% de vida. Isso também significa que cada fase pode ter quantidades completamente diferentes de vida sem causar problemas.
-
Chefes de Fase revertem para a Fase 1 se forem curados de volta à vida cheia através do sistema padrão de regeneração de chefe fora de combate
-
Chefes de Fase que também são Chefes Regionais compartilham o mesmo raio de coleira e mecânica de timeout em todas as fases, e irão respawnar como o chefe da fase 1 após o temporizador de respawn terminar. O cooldown de respawn e outras configurações de chefe regional são sempre retiradas da configuração do chefe da fase 1.
Locais de Spawn Específicos de Fase
Por padrão, os chefes permanecem em sua localização atual ao fazer transição entre fases. No entanto, você pode fazer um chefe teleportar para um local específico ao entrar em uma fase usando a configuração phaseSpawnLocation:
Arquivo: 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
Você também pode teleportar o chefe enquanto o mantém no mesmo mundo:
phaseSpawnLocation: same_as_boss,100,64,100,0,0
Isso é útil para criar transições de fase dramáticas onde o chefe teleporta para uma arena ou localização diferente.
Avisos
Aqui está uma lista de mecânicas que funcionam de uma forma que pode inicialmente ser contra-intuitiva:
-
Se um Chefe de Fase for morto durante qualquer fase, ele irá dropar o loot daquela fase. Isso significa que se alguém conseguir matar um chefe de fase muito rápido (1-shot), ele realmente morrerá e dropará o loot que está configurado para aquele arquivo de chefe, que pode não ser necessariamente a fase final. Você pode corrigir isso definindo a tabela de loot para ser a mesma em todos os arquivos de chefe para este chefe de fase, ou garantindo que seus Chefes de Fase tenham vida suficiente ao ponto de ser impossível matá-los em apenas alguns golpes. Alternativamente, você pode ter tabelas de loot especiais para pessoas capazes de pular fases.
-
Como os Chefes de Fase realmente fazem Chefes Personalizados spawnarem durante o combate, eles farão toda a sua rotina de spawn quando spawnarem. Assim, tenha cuidado quando se trata de mensagens de spawn e comandos que rodam no spawn. Além disso, chefes de fase não morrem se mudarem de fase, eles são simplesmente trocados por outra coisa. Isso significa que comandos que rodam na morte só rodarão para o último Chefe de Fase, ou se o jogador conseguir pular uma fase causando dano suficiente. Comandos que rodam no spawn podem ser usados para se conectar às mudanças de fase. Nota: A mensagem de spawn não será enviada quando o chefe resetar para a fase 1 devido à regeneração para vida cheia. No entanto, mensagens de spawn SÃO enviadas ao fazer transição para as fases 2, 3, etc. durante o combate, e quando chefes regionais respawnam após seu cooldown.
-
Chefes de fase podem vir montados ou deixar de estar montados entre as fases. Se o chefe de fase for morto antes que a montaria esteja morta, a montaria persistirá para a próxima fase. Se o chefe regenerar de volta para cheio, a montaria é deletada e o chefe fica desmontado, a menos que esteja configurado para montar uma entidade durante a fase 1.
-
Como novos Chefes Personalizados são spawnados entre as fases, a mecânica de spawn único reseta entre as fases e em curas completas.
Dicas & truques
-
Você pode usar o fato de que equipamentos e tipos de entidade podem ser mudados ao longo do combate para fazer o chefe parecer mais e mais (ou menos e menos) perigoso ao longo da luta
-
Embora possível, a menos que haja um objetivo de design específico em mente, é provavelmente melhor que os poderes que o Chefe de Fase tem não mudem muito drasticamente entre as fases, já que os jogadores são mais propensos a aproveitar uma progressão que pareça natural ao longo da luta.
-
Você pode usar comandos onSpawn para rodar comandos entre as fases
-
Você pode definir música diferente para cada fase usando a opção de configuração
song. A música mudará automaticamente quando o chefe entrar em uma nova fase. -
Fases podem ser usadas para mudar o chefe de modo corpo a corpo para modo à distância e vice-versa
-
Chefes de Fase foram construídos para serem chefes difíceis com muita vida. Eles geralmente são melhor servidos como encontro de chefe final para masmorras ou como grandes Chefes Mundiais.
-
Ao projetar encontros, tenha em mente que é possível que os reforços não sejam mortos pelos jogadores entre as fases.
-
Chefes podem ter qualquer número de fases que você quiser, mas quanto mais fases eles tiverem, mais vida eles precisarão para fazer cada fase importar.
Integração de API
Para desenvolvedores de plugins: O EliteMobs dispara um ElitePhaseSwitchEvent quando um chefe faz transição entre fases. Este evento pode ser usado para criar comportamentos ou efeitos personalizados durante as transições de fase:
@EventHandler
public void onPhaseSwitch(ElitePhaseSwitchEvent event) {
CustomBossEntity boss = event.getCustomBossEntity();
PhaseBossEntity phaseBoss = event.getPhaseBossEntity();
// Sua lógica personalizada aqui
}