Aller au contenu principal

Créer des phases de boss

Les Phases de boss sont une sous-mécanique des Boss personnalisés. Le système derrière ces phases est si flexible et puissant qu'il nécessite sa propre explication dédiée afin de s'assurer que vous tiriez pleinement parti de cette fonctionnalité.

Comment fonctionnent les Phases de boss ?

Les Phases de boss peuvent être ajoutées à n'importe quel Boss personnalisé dans EliteMobs à l'aide du format de configuration suivant :

phases:
- phase_2_boss.yml:0.X
- phase_3_boss.yml:0.Y

Note : le boss que vous faites apparaître à l'origine (celui qui contient l'entrée phases: listant toutes les autres phases) est le boss de la phase 1. Le fichier du boss de la phase 1 ne doit PAS se lister lui-même dans sa propre entrée phases:.

L'intention de base derrière cette mécanique est de permettre aux administrateurs de modifier les attributs d'un Boss personnalisé pendant le combat. En utilisant le format de configuration ci-dessus, vous pouvez changer complètement les fichiers de configuration d'une phase à l'autre, ce qui signifie que vous pouvez modifier 99,99 % des attributs — comme les pouvoirs, les multiplicateurs de dégâts, les multiplicateurs de points de vie, le type d'entité, le déguisement, l'armure portée...

Pour y parvenir, EliteMobs supprime votre boss pendant le combat et le remplace instantanément par la version de la phase suivante. Le processus derrière cela est instantané, il a donc tendance à être assez transparent — à moins que vous ne vouliez le rendre spectaculaire intentionnellement. Le boss bénéficie d'une période de grâce de combat d'1 seconde après la transition pour garantir des effets visuels fluides.

Exemple

Prenons cet exemple de boss à phases :

Fichier : 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

Fichier : phase_2_boss.yml

isEnabled: true
level: 50
healthMultiplier: 10
entityType: SKELETON
powers:
- attack_gravity.yml
- arrow_fireworks.yml

Fichier : phase_3_boss.yml

isEnabled: true
level: 50
healthMultiplier: 10
entityType: WITHER_SKELETON
powers:
- arrow_rain.yml

Ceci constitue un Boss à phases valide. Si vous faites apparaître phase_1_boss.yml, cela générera un Stray avec les attributs listés ci-dessus. Après avoir subi des dégâts jusqu'à 60 % de ses points de vie, il sera immédiatement remplacé au même endroit par le Boss personnalisé tel que défini dans phase_2_boss.yml, puisque le fichier de configuration indique - phase_2_boss.yml:0.60 (phase_2_boss.yml est le nom de fichier de ce boss personnalisé, 0.60 correspond à 60 % des points de vie). Notez que le boss de la phase 2 apparaîtra avec 60 % de ses points de vie, puisque c'est à ce moment qu'il passe à cette phase. Le boss aura les pouvoirs listés dans le fichier phase_2_boss.yml. Une fois que le boss de la phase 2 a subi des dégâts jusqu'à 30 % de ses points de vie, il fait apparaître le boss défini pour la phase 3. Notez que les pouvoirs de la phase 3 n'ont aucun rapport avec ceux d'avant — vous pouvez complètement changer les pouvoirs entre les phases, tout comme presque tous les autres attributs.

Avancé

Mécaniques héritées

Voici une liste de choses qui ne changent pas d'une phase à l'autre :

  • Le premier Boss à phases de la chaîne détermine les phases que le boss traversera, ce qui signifie que vous ne devriez pas mettre d'entrée phases pour les autres boss de la phase.

  • La table de menace / table de dégâts reste la même, ce qui signifie que la distribution du butin et le système d'aggro avancé ne sont pas affectés par un changement de phase

  • Le changement de phase est basé sur le % de points de vie perdus, qui est préservé d'une phase à l'autre. Cela signifie que si votre boss est configuré pour entrer en phase 2 à 50 % de ses points de vie, le boss qui apparaîtra pour remplacer le boss de la phase 1 sera toujours à 50 % de ses points de vie. Cela signifie aussi que chaque phase peut avoir des quantités de points de vie complètement différentes sans que cela ne pose problème.

  • Les Boss à phases reviennent à la Phase 1 s'ils sont soignés jusqu'à leurs points de vie maximum via le système par défaut de régénération du boss hors combat

  • Les Boss à phases qui sont également des Boss régionaux partagent le même rayon de laisse et la même mécanique de délai d'expiration à travers toutes les phases, et réapparaîtront en tant que boss de la phase 1 une fois le minuteur de réapparition terminé. Le temps de recharge de réapparition et les autres réglages du boss régional sont toujours pris dans la configuration du boss de la phase 1.

Emplacements d'apparition spécifiques à une phase

Par défaut, les boss restent à leur emplacement actuel lors de la transition entre les phases. Cependant, vous pouvez faire en sorte qu'un boss se téléporte vers un emplacement spécifique en entrant dans une phase à l'aide du réglage phaseSpawnLocation :

Fichier : 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

Vous pouvez aussi téléporter le boss tout en le gardant dans le même monde :

phaseSpawnLocation: same_as_boss,100,64,100,0,0

Ceci est utile pour créer des transitions de phase spectaculaires où le boss se téléporte vers une arène ou un emplacement différent.

Avertissements

Voici une liste de mécaniques qui fonctionnent d'une manière qui peut sembler contre-intuitive au premier abord :

  • Si un Boss à phases est tué pendant n'importe quelle phase, il laissera tomber le butin de cette phase. Cela signifie que si quelqu'un parvient à tuer un boss à phases trop rapidement (one-shot), il mourra réellement et laissera tomber le butin configuré pour ce fichier de boss, qui n'est pas nécessairement la phase finale. Vous pouvez corriger cela en définissant la même table de butin pour tous les fichiers de boss de ce boss à phases, ou en vous assurant que vos Boss à phases ont suffisamment de PV pour qu'il soit impossible de les tuer en seulement quelques coups. Alternativement, vous pouvez avoir des tables de butin spéciales pour ceux qui parviennent à sauter des phases.

  • Comme les Boss à phases font réellement apparaître des Boss personnalisés pendant le combat, ils exécuteront toute leur routine d'apparition lorsqu'ils apparaissent. À ce titre, faites attention aux messages d'apparition et aux commandes qui s'exécutent à l'apparition. De plus, les boss à phases ne meurent pas lorsqu'ils changent de phase, ils sont simplement remplacés par autre chose. Cela signifie que les commandes qui s'exécutent à la mort ne s'exécuteront que pour le dernier Boss à phases, ou si le joueur parvient à sauter une phase en infligeant suffisamment de dégâts. Les commandes qui s'exécutent à l'apparition peuvent être utilisées pour s'accrocher aux changements de phase. Note : le message d'apparition ne sera pas envoyé lorsque le boss se réinitialise à la phase 1 pour cause de régénération jusqu'aux points de vie maximum. Cependant, les messages d'apparition SONT envoyés lors de la transition vers les phases 2, 3, etc. pendant le combat, et lorsque les boss régionaux réapparaissent après leur temps de recharge.

  • Les boss à phases peuvent arriver montés ou cesser d'être montés entre les phases. Si le boss à phases est tué avant que la monture ne soit morte, la monture persistera jusqu'à la phase suivante. Si le boss se régénère complètement, la monture est supprimée et le boss devient démonté, à moins qu'il ne soit configuré pour monter une entité durant la phase 1.

  • Comme de nouveaux Boss personnalisés sont générés entre les phases, la mécanique d'apparition unique (1-time spawn) est réinitialisée entre les phases et lors des soins complets.

Astuces et conseils

  • Vous pouvez utiliser le fait que l'équipement et les types d'entités peuvent être modifiés tout au long du combat pour faire paraître le boss de plus en plus (ou de moins en moins) dangereux au fil du combat

  • Bien que ce soit possible, à moins d'avoir un objectif de conception spécifique en tête, il est probablement préférable que les pouvoirs du Boss à phases ne changent pas trop radicalement entre les phases, car les joueurs sont plus susceptibles d'apprécier une progression qui semble naturelle tout au long du combat.

  • Vous pouvez utiliser les commandes onSpawn pour exécuter des commandes entre les phases

  • Vous pouvez définir une musique différente pour chaque phase à l'aide de l'option de configuration song. La musique effectuera automatiquement une transition lorsque le boss entrera dans une nouvelle phase.

  • Les phases peuvent être utilisées pour faire passer le boss du mode mêlée au mode à distance et vice-versa

  • Les Boss à phases ont été conçus pour être des boss coriaces avec beaucoup de PV. Ils sont généralement les mieux adaptés en tant que rencontre de boss final pour les donjons ou en tant que grands Boss de monde.

  • Lors de la conception de rencontres, gardez à l'esprit qu'il est possible que les renforts ne soient pas tués par les joueurs entre les phases.

  • Les boss peuvent avoir autant de phases que vous le souhaitez, mais plus ils ont de phases, plus ils auront besoin de points de vie pour que chaque phase ait de l'importance.

Intégration API

Pour les développeurs de plugins : EliteMobs déclenche un ElitePhaseSwitchEvent lorsqu'un boss effectue une transition entre les phases. Cet événement peut être utilisé pour créer des comportements ou des effets personnalisés lors des transitions de phase :

@EventHandler
public void onPhaseSwitch(ElitePhaseSwitchEvent event) {
CustomBossEntity boss = event.getCustomBossEntity();
PhaseBossEntity phaseBoss = event.getPhaseBossEntity();
// Your custom logic here
}