Criar Fases de Boss
As Fases de Boss são uma sub-mecânica dos Bosses Customizados. 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 desse recurso.
Como funcionam as Fases de Boss?
As Fases de Boss podem ser adicionadas a qualquer Boss Customizado no EliteMobs usando o seguinte formato de configuração:
phases:
- phase_2_boss.yml:0.X
- phase_3_boss.yml:0.Y
Nota: O boss que você originalmente spawna (que contém a entrada phases: listando todas as outras fases) é o boss da fase 1. O arquivo do boss 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 alterem os atributos de um Boss Customizado durante o combate. Ao usar o formato de configuração acima, você consegue alterar 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 usada...
Para conseguir isso, o EliteMobs deleta seu boss durante o combate e o substitui instantaneamente pela versão da fase seguinte. O processo por trás disso é instantâneo, então tende a ser bastante imperceptível - a menos que você queira torná-lo chamativo de propósito. O boss recebe um período de carência de combate de 1 segundo após a transição para garantir efeitos visuais suaves.
Exemplo
Veja este exemplo de boss 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.yml
Isto constitui um Boss de Fase válido. Se você spawnar phase_1_boss.yml, ele spawnará um Stray com os atributos listados acima. Depois de receber dano até 60% da sua vida, ele será imediatamente substituído na mesma localização pelo Boss Customizado formado em phase_2_boss.yml, já que o arquivo de configuração indica - phase_2_boss.yml:0.60 (phase_2_boss.yml é o nome do arquivo daquele boss customizado, 0.60 é 60% de vida). Note que o boss da fase 2 spawnará com 60% da sua vida, já que é nesse ponto que ele muda para essa fase. O boss terá os poderes listados no arquivo phase_2_boss.yml. Uma vez que o boss da fase 2 receba dano até 30% da sua vida, ele spawna o boss definido para a fase 3. Note que os poderes da fase 3 não têm relação com os de antes - 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 Boss de Fase na cadeia determina por quais fases o boss passará, o que significa que você não deve colocar uma entrada phases para os outros bosses da fase.
-
A 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 troca de fases é baseada na % de vida perdida, que é preservada de fase para fase. Isso significa que, se o seu boss está configurado para entrar na fase 2 com 50% de vida, o boss que aparecerá para substituir o boss da fase 1 ainda estará com 50% de vida. Isso também significa que cada fase pode ter quantidades de vida completamente diferentes sem causar problemas.
-
Os Bosses de Fase revertem para a Fase 1 se forem curados de volta à vida cheia através do sistema padrão de regeneração de boss fora de combate
-
Os Bosses de Fase que também são Bosses Regionais compartilham o mesmo raio de coleira (leash) e mecânica de timeout em todas as fases, e respawnarão como o boss da fase 1 depois que o temporizador de respawn terminar. O cooldown de respawn e outras configurações de boss regional são sempre retirados da configuração do boss da fase 1.
Localizações de Spawn Específicas de Fase
Por padrão, os bosses permanecem em sua localização atual ao fazer a transição entre fases. No entanto, você pode fazer um boss teleportar para uma localização específica 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 boss mantendo-o no mesmo mundo:
phaseSpawnLocation: same_as_boss,100,64,100,0,0
Isso é útil para criar transições de fase dramáticas em que o boss teleporta para uma arena ou localização diferente.
Avisos
Aqui está uma lista de mecânicas que funcionam de uma forma que pode ser, inicialmente, contraintuitiva:
-
Se um Boss de Fase for morto durante qualquer fase, ele dropará o loot daquela fase. Isso significa que se alguém conseguir matar um boss de fase rápido demais (em 1 golpe), ele de fato morrerá e dropará o loot configurado para aquele arquivo de boss, que pode não ser necessariamente a fase final. Você pode corrigir isso definindo a tabela de loot como a mesma em todos os arquivos de boss desse boss de fase, ou garantindo que seus Bosses de Fase tenham vida suficiente a ponto de ser impossível matá-los em apenas alguns golpes. Como alternativa, você pode ter tabelas de loot especiais para as pessoas capazes de pular fases.
-
Como os Bosses de Fase, na verdade, fazem Bosses Customizados spawnarem durante o combate, eles farão toda a sua rotina de spawn quando spawnarem. Por isso, tenha cuidado com mensagens de spawn e comandos que rodam no spawn. Além disso, os bosses de fase não morrem quando mudam de fase, eles são simplesmente trocados por outra coisa. Isso significa que comandos que rodam na morte só rodarão para o último Boss 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 boss reseta para a fase 1 por ter regenerado até a vida cheia. No entanto, as mensagens de spawn SÃO enviadas ao fazer a transição para as fases 2, 3, etc. durante o combate, e quando os bosses regionais respawnam após o seu cooldown.
-
Os bosses de fase podem vir montados ou deixar de estar montados entre fases. Se o boss de fase for morto antes de a montaria estar morta, a montaria persistirá até a próxima fase. Se o boss regenerar de volta à vida cheia, a montaria é deletada e o boss fica desmontado, a menos que esteja configurado para montar uma entidade durante a fase 1.
-
Como novos Bosses Customizados são spawnados entre fases, a mecânica de spawn único (1-time spawn) reseta entre fases e em curas completas.
Dicas e truques
-
Você pode usar o fato de que o equipamento e os tipos de entidade podem ser alterados ao longo do combate para fazer o boss parecer cada vez mais (ou cada vez menos) perigoso ao longo da luta
-
Embora seja possível, a menos que haja um objetivo de design específico em mente, provavelmente é melhor que os poderes que o Boss de Fase tem não mudem de forma muito drástica entre as fases, pois os jogadores tendem a apreciar mais 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úsicas diferentes para cada fase usando a opção de configuração
song. A música fará a transição automaticamente quando o boss entrar em uma nova fase. -
As fases podem ser usadas para alternar o boss entre o modo corpo a corpo (melee) e o modo à distância (ranged) e vice-versa
-
Os Bosses de Fase foram feitos para serem bosses difíceis com muita vida. Eles geralmente são mais bem aproveitados como encontro de boss final de dungeons ou como grandes Bosses de Mundo (World Bosses).
-
Ao projetar encontros, tenha em mente que é possível que os reforços não sejam mortos pelos jogadores entre as fases.
-
Os bosses podem ter quantas fases você quiser, mas quanto mais fases eles tiverem, mais vida precisarão para fazer cada fase ter importância.
Integração com a API
Para desenvolvedores de plugin: o EliteMobs dispara um ElitePhaseSwitchEvent quando um boss faz a transição entre fases. Este evento pode ser usado para criar comportamentos ou efeitos customizados durante as transições de fase:
@EventHandler
public void onPhaseSwitch(ElitePhaseSwitchEvent event) {
CustomBossEntity boss = event.getCustomBossEntity();
PhaseBossEntity phaseBoss = event.getPhaseBossEntity();
// Sua lógica customizada aqui
}