Aller au contenu principal

Difficulté des donjons instanciés

Les donjons instanciés disposent d'un réglage spécial permettant de définir facilement différentes difficultés pour le donjon.

Fonctionnement

Les difficultés s'inspirent en partie du système de synchronisation de niveau (level sync) de Final Fantasy 14.

Les armures et armes élites obtiennent des dégâts élites et une défense élite spécifiques en fonction de leur niveau, comme vous pouvez le voir sur les objets. Dans un donjon instancié avec une difficulté active, le niveau de l'objet sera temporairement et invisiblement abaissé pour correspondre à la synchronisation de niveau.

EliteMobs utilise une progression exponentielle, où chaque écart de 5 niveaux double la puissance effective. Par exemple, une épée de niveau 50 est nettement plus puissante qu'une épée de niveau 45. Si un joueur se trouve dans un donjon instancié dont la difficulté synchronise l'équipement au niveau 45, l'épée de niveau 50 se comportera comme une épée de niveau 45 avec des dégâts réduits proportionnellement.

En revanche, si cette épée possède Tranchant niveau 10, elle ajoutera toujours la même quantité de dégâts par-dessus les dégâts de base.

Cela signifie que, dans les donjons instanciés avec difficultés, ce qui compte n'est pas tant le niveau de l'équipement que sa qualité. Les joueurs cherchant à venir à bout de la difficulté mythique devront s'efforcer d'obtenir des objets de haute qualité dans d'autres donjons instanciés et devront probablement beaucoup utiliser le système d'amélioration d'objets.

Cela rend également presque impossible pour les joueurs vétérans d'écraser l'ancien contenu de haute difficulté, et les incite à s'y attaquer même si leur niveau dépasse largement celui du donjon.

Système de groupe

EliteMobs dispose de groupes limités à la session, pouvant compter jusqu'à cinq membres. Lorsqu'un membre du groupe sélectionne un donjon instancié, EliteMobs prend un instantané de la composition actuelle et lance une confirmation cliquable. L'initiateur est automatiquement considéré comme prêt ; chaque autre membre doit accepter précisément ce donjon et cette difficulté avant que la préparation du monde ne commence. Les demandes de donjon dynamique incluent également le niveau sélectionné. Un refus, une expiration, un changement de composition, un membre indisponible, un échec de permission, un manque de places, un conflit d'instance active ou l'annulation du contrôle préalable MatchJoinEvent de MagmaCore interrompt l'entrée du groupe plutôt que de n'y déplacer qu'une partie. L'événement PlayerJoinDungeonEvent d'EliteMobs est une notification non annulable émise après l'admission.

Les défis personnels d'enchantement d'objet restent en solo, car le défi prend temporairement le contrôle de l'objet du joueur initiateur.

Pour tenir compte des groupes de joueurs une fois à l'intérieur, les boss sont conçus avec des pouvoirs spécifiques qui deviennent plus dangereux à mesure que davantage de joueurs rejoignent l'arène. De plus, les boss reçoivent un bonus de points de vie qui évolue avec le nombre de joueurs dans l'instance. La formule est : scaledHealth = baseHealth * 0.75 * playerCount. Par exemple, avec 2 joueurs, le boss a 1,5 fois ses points de vie de base, avec 3 joueurs 2,25 fois, et avec 5 joueurs 3,75 fois.

Remarque : la mise à l'échelle des points de vie ne s'applique que lorsque 2 joueurs ou plus se trouvent dans l'instance. Les joueurs en solo affrontent des boss avec des valeurs de points de vie standard.

Comment définir une difficulté

Les difficultés sont définies dans le dossier content_packages, dans le fichier de package de donjon des donjons instanciés. Ce fichier se trouve à l'emplacement /plugins/EliteMobs/content_packages/[your_dungeon_name]/[package_file].yml et doit se trouver aux côtés des autres réglages du donjon comme contentLevel et name.

Prenons un exemple :

difficulties:
- levelSync: 60
name: normal
- levelSync: 50
name: hard
- levelSync: 40
name: mythic

Cela définit trois difficultés. Seul name est réellement obligatoire — c'est par lui que la difficulté est identifiée, à la fois dans le menu et en interne. levelSync et id sont facultatifs ; une difficulté sans levelSync n'applique tout simplement aucune synchronisation de niveau.

name est le nom de la difficulté, tel qu'il apparaîtra dans le réglage de difficulté en jeu. Il peut s'agir de n'importe quel nom.

levelSync définit le plafond de niveau des objets pour le donjon instancié, comme expliqué plus haut sur cette page.

Vous pouvez définir autant ou aussi peu de difficultés que vous le souhaitez. Il suffit d'ajouter ou de retirer des entrées au réglage difficulties en utilisant le même format.

Synchronisation de niveau relative

La synchronisation de niveau peut également utiliser des valeurs relatives plutôt que des nombres absolus. Mettez toujours la valeur entre guillemets. YAML résout un +5 non quoté en simple entier 5, et le + initial a disparu au moment où EliteMobs le lit — levelSync: +5 devient donc silencieusement une synchronisation absolue au niveau 5, et levelSync: +0 devient un 0 absolu, ce qui désactive complètement la synchronisation de niveau. Les valeurs négatives non quotées comme levelSync: -10 survivent par hasard, car le - est conservé et EliteMobs la lit toujours comme relative — mais quoter chaque valeur est la seule forme non ambiguë :

difficulties:
- levelSync: '+5'
name: easy
- levelSync: '+0'
name: normal
- levelSync: '-10'
name: hard

Les valeurs relatives sont calculées à partir du niveau de contenu de base du donjon, et le résultat ne peut jamais descendre sous 1. Par exemple, si un donjon a un niveau de contenu de 60 :

  • levelSync: '+5' devient 65
  • levelSync: '+0' devient 60
  • levelSync: '-10' devient 50

C'est particulièrement utile pour les donjons dynamiques dont le niveau de contenu peut varier. Sur un donjon dynamique, le niveau de contenu n'est connu qu'une fois l'instance créée : la valeur relative est donc résolue à ce moment-là.

Un levelSync: 0 absolu — ou toute valeur qu'EliteMobs ne parvient pas à analyser — signifie aucune synchronisation de niveau pour cette difficulté.

Champ d'ID de difficulté facultatif

Vous pouvez définir un champ id sur chaque entrée de difficulté. Cet ID est utilisé par les custom bosses et les custom items pour appliquer des pouvoirs et du butin en fonction de la difficulté. Si vous ne définissez pas le champ id, la difficulté n'aura pas d'ID et les fonctionnalités basées sur la difficulté qui en dépendent ne s'appliqueront pas.

difficulties:
- levelSync: 60
name: normal
id: 0
- levelSync: 50
name: hard
id: 1

Pouvoirs basés sur la difficulté

Il est possible de configurer des boss pour qu'ils ne disposent de certains pouvoirs qu'à des difficultés précises. Prenons un exemple :

powers:
- filename: invulnerability_fire.yml
difficultyID:
- 1
- 2

Remarque : ceci fait partie du fichier de configuration du custom boss !

Dans ce cas, le boss ne bénéficiera de l'invulnérabilité au feu que pour les difficultés dont l'ID est 1 et 2.

Butin basé sur la difficulté

Il est possible de configurer des boss pour qu'ils lâchent du butin spécifique à une difficulté de donjon instancié. Prenons un exemple :

uniqueLootList:
- filename: himiko_boss_drop_axe_tank_normal.yml
chance: 0.05
difficultyID: 0

Remarque : ceci fait partie du fichier de configuration du custom boss !

Dans ce cas, le boss ne lâchera le butin himiko_boss_drop_axe_tank_normal.yml que pour la difficulté 0 et aura 5 % de chances de le faire.