Aller au contenu principal

Table de butin personnalisée

Ce format commun définit des objets personnalisés, des objets vanilla, de la monnaie et des commandes pour les boss, coffres au trésor, quêtes et arènes. Chaque entrée possède son propre tirage de probabilité ; la table ne sélectionne pas une seule entrée gagnante.

Pour couvrir automatiquement l'équipement des classes et difficultés, consultez le butin de classe automatique. Son tirage distinct peut accompagner uniqueLootList. Conservez ici les reliques, équipements scriptés et autres récompenses spéciales. Les entrées visant des objets itemType: CLASS_LOOT participent à la sélection de classe et sont ignorées par les tirages ordinaires à la mort du boss. Les autres entrées conservent leurs tirages indépendants.

Veuillez noter qu'il s'agit du format le plus récent et de celui dont l'utilisation est recommandée, mais que certains anciens formats alternatifs existent.

Remarque : La prise en charge de l'ancien format est toujours disponible via la syntaxe séparée par deux-points : filename.yml:chance:permission. Cependant, le format moderne présenté ci-dessous est recommandé pour les nouvelles configurations.

Dans cette ancienne syntaxe, la chance et la permission sont facultatives : un simple filename.yml lâche donc l'objet à 100 %. Une ancienne entrée comportant plus de trois parties séparées par deux-points est rejetée.

Chaque entrée est vérifiée au chargement de son fichier. Une clé inconnue ou répétée, une clé sans valeur, une chance qui n'est pas un nombre fini, un amount, currencyAmount, wave ou itemLevel qui n'est pas un nombre entier, ou un matériau invalide entraîne le rejet de cette entrée avec un avertissement Failed to parse entry ... due to invalid: <reason>, et le reste de la table se charge quand même. Les clés ne tiennent pas compte de la casse.

Utilisez la clé de la fonction concernée : uniqueLootList pour les boss, lootList pour les coffres, customRewards pour les quêtes ou rawArenaReward pour les arènes. customRewards accepte des chaînes : utilisez la forme filename=...:chance=... séparée par deux-points, sans map YAML.

Distribution selon la source du butin

Les quatre types fonctionnent dans le butin des Custom Boss (uniqueLootList). Pour les entrées ordinaires, la distribution suit putLootDirectlyIntoPlayerInventory :

Type d'entréeputLootDirectlyIntoPlayerInventory: false (par défaut)putLootDirectlyIntoPlayerInventory: true
Objet elite (filename)Objet personnel au sol ou vote d'équipement partagéInventaire personnel ou vote d'équipement partagé
Objet vanilla (material)Objet au solInventaire ; l'excédent tombe près du joueur
Elite Coins (currencyAmount)Pluie de pièces à ramasserMonnaie créditée directement
Commande (command=)Exécutée par la consoleExécutée par la console

Les récompenses de boss sont tirées séparément pour chaque participant enregistré ayant infligé des dégâts, sauf ceux déjà verrouillés pour ce boss instancié. Ce butin défini manuellement n'impose pas de seuil supplémentaire de 10 % de dégâts. Les membres proches du groupe qui reçoivent le crédit partagé sans avoir blessé le boss ne reçoivent par cette voie que les objets elite hors équipement, pas les entrées vanilla, de monnaie ou de commande. L'activation de l'antiexploit supprime ce butin de mort.

Les boss apparus dans l'instance d'un autre plugin via l'API des boss instanciés d'EliteMobs ignorent putLootDirectlyIntoPlayerInventory et ne lancent jamais de vote d'équipe ou de groupe. Leur butin tombe toujours au sol à l'emplacement du boss, comme dans la colonne false, avec les objets elite en récompenses personnelles : il reste ainsi dans le monde de cette instance.

Les coffres utilisent le même réglage sol/inventaire ; les quêtes et arènes distribuent directement. Les quatre sources prennent en charge les types ci-dessous ; les quêtes n'acceptent que des entrées sous forme de chaînes. Le butin de commande d'un boss s'exécute pour chaque tirage réussi d'un participant. Pour la syntaxe distincte des commandes de mort du boss, voir onDeathCommands.

Lâcher des objets elite :​

CléDétailsValeursPar défaut
filenameDéfinit le nom du fichier de l'Item personnalisé à utiliser.Filenamenone
Exemple
uniqueLootList:
- filename: magmaguys_toothpick.yml

Cela fera lâcher au mob 1 MagmaGuy's Toothpick avec une chance de drop de 100 %.

Paramètres généraux :​

CléDétailsValeursPar défaut
chanceUn tirage indépendant par entrée ; 1.0 vaut 100 %. Utilisez des valeurs de 0.0 à 1.0.Double1.0
amountNombre de copies d'objet ou d'exécutions de commande après un tirage réussi. Ne multiplie pas la monnaie ; utilisez currencyAmount pour le versement.Integer1
permissionDéfinit le nœud de permission requis pour que les joueurs reçoivent ce butin. Pris en charge par les entrées d'items elite, de monnaie et de commande. Les entrées d'items vanilla ne le lisent jamais, quel que soit le format.Stringnone

Une entrée avec amount <= 0 ou chance <= 0 ne fait aucun tirage ; une chance non numérique ou non finie entraîne le rejet de l'entrée au chargement du fichier. Une chance supérieure à 1.0 réussit toujours ; ce n'est pas un pourcentage tel que 50. Après réussite, la distribution ne refait pas de tirage par copie. Les aperçus de quête font leurs propres tirages et ne réservent pas les récompenses finales.

Exemple
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.5
amount: 10
permission: elitemobs.loot.rare

Cela fera lâcher au mob 10 MagmaGuy's Toothpick avec une chance de drop de 50 %, mais uniquement pour les joueurs possédant la permission elitemobs.loot.rare.

Lâcher des Elite Coins :​

CléDétailsValeursPar défaut
currencyAmountDéfinit la quantité de pièces qui seront lâchées.Integernone

currencyAmount doit être un nombre entier, et il doit être positif pour distribuer de la monnaie. Un amount positif ne le multiplie pas, mais amount <= 0 désactive l'entrée. Un currencyAmount nul ou négatif se charge dans les deux formats, mais ne donne rien.

Les versements directs passent par le gestionnaire d'économie et remboursent d'abord la dette de jeu. La distribution au sol utilise une pluie de pièces à ramasser et peut bénéficier du bonus Harvester ; l'entrée de monnaie distribuée directement n'applique pas ce bonus. Les pièces sont créditées au ramassage, pas lors du tirage.

Exemple
uniqueLootList:
- currencyAmount: 344
chance: 0.5

Chaque participant éligible au boss a ainsi 50 % de chances d'obtenir une récompense de base de 344 Elite Coins. Utilisez lootList pour la même entrée dans un coffre au trésor.

Lâcher des objets vanilla :​

CléDétailsValeursPar défaut
materialMatériau de l'objet. Les noms de matériaux ne tiennent pas compte de la casse, dans les deux formats. type est accepté comme alias ; définir à la fois material et type entraîne le rejet de l'entrée.Materialnone
Exemple
uniqueLootList:
- material: APPLE
chance: 0.3
amount: 5

Cela fera lâcher au mob 5 Pommes avec une chance de drop de 30 %.

La distribution au sol comme à l'inventaire utilise un seul tirage par entrée. Ici, une réussite distribue les 5 pommes. La distribution directe fonctionne pour les boss, coffres, quêtes et arènes, et dépose l'excédent d'inventaire à la position du joueur. Les matériaux AIR et les quantités non positives ne donnent rien. Les entrées vanilla n'appliquent pas permission.

Exécuter des commandes lors d'un drop de butin :​

Vous pouvez exécuter des commandes de console lorsque du butin est lâché. C'est utile pour s'intégrer à d'autres plugins ou pour fournir des récompenses personnalisées. Les entrées de commande acceptent le format chaîne séparé par deux-points et, sauf dans les customRewards des quêtes, les maps YAML.

CléDétailsValeursPar défaut
commandDéfinit la commande de console à exécuter. Utilisez %player% comme placeholder pour le nom du joueur.Stringnone

Au format chaîne, la commande ne doit pas contenir de :, car l'entrée est découpée sur ce caractère. Un = dans la commande ne pose pas de problème. Utilisez une map YAML lorsque la commande a besoin de deux-points.

Probabilité et répétition des commandes

Les commandes tirent chance une seule fois, comme les autres entrées. En cas de réussite, la commande est exécutée amount fois. Il n'y a ni second tirage ni tirage inversé :

  • chance=1.0 (par défaut) réussit toujours.
  • chance=0.5 réussit dans 50 % des cas.
  • amount=3 exécute la commande trois fois si ce seul tirage réussit.

Le joueur doit posséder permission, et la commande ne doit pas être vide. Les conditions propres à la commande s'appliquent toujours. Elle s'exécute comme console ; utilisez %player% pour désigner le destinataire.

Exemple
customRewards:
- command=give %player% diamond 1:chance=0.5:amount=1:permission=elitemobs.loot.command

Cette récompense de quête exécute give <player> diamond 1 depuis la console à la remise de quête dans 50 % des cas. %player% devient le nom du joueur, qui doit posséder elitemobs.loot.command. La même chaîne fonctionne dans uniqueLootList d'un boss, avec un tirage distinct pour chaque participant éligible.

Récompenses d'arène :​

Lorsque vous créez des tables de butin d'arène, veuillez vous assurer de commencer votre table de butin par rawArenaReward: au lieu de uniqueLootList:.

CléDétailsValeursPar défaut
waveVague terminée qui accorde cette entrée. Tous les types d'entrée l'acceptent, dans les deux formats.Integer-1
itemLevelDéfinit le niveau du butin lâché. Utilisé uniquement par les arènes, et pertinent uniquement pour les entrées d'items elite (filename). Accepté dans les deux formats.Integer1
Ces deux clés comportent des pièges
  • Seules les entrées ayant une wave de 1 ou plus sont enregistrées comme récompenses de vague. Une entrée de récompense d'arène sans wave est analysée et acceptée, mais aucune vague ne la distribuera jamais.
  • itemLevel vaut 1 par défaut, et non le niveau de l'arène ou du joueur. Un item elite scalable accordé par une arène sans itemLevel explicite tombe donc en tant qu'item de niveau 1.
Exemple
rawArenaReward:
- material: BREAD
wave: 1
amount: 10
chance: 0.5
- filename=magmaguys_toothpick.yml:wave=1:itemLevel=2

Après la vague 1, le pain fait un seul tirage à 50 %. En cas de réussite, le joueur reçoit 10 pains, avec l'excédent au sol. L'objet personnalisé a 100 % de chances et demande un MagmaGuy's Toothpick au niveau 2 ; la règle de mise à l'échelle de l'objet détermine toujours le niveau généré. Les contrôles d'éligibilité et d'écart de niveau de l'arène s'appliquent avant ces récompenses.

Les deux entrées utilisent des formats différents uniquement pour montrer les deux ; wave et itemLevel fonctionnent dans l'un comme dans l'autre.

Donjons instanciés :​

CléDétailsValeursPar défaut
difficultyIDFiltre un objet elite selon la difficulté du donjon actuel du destinataire ; les maps YAML acceptent aussi une liste d'IDs.Chaîne, nombre ou listenone

difficultyID est lu pour les objets elite (filename) dans les maps YAML et les chaînes séparées par deux-points. Les maps acceptent des listes comme difficultyID: [normal, hard]. Les objets vanilla, la monnaie et les commandes le rejettent comme clé inconnue. Les IDs et noms suivent le résolveur de difficulté : 0/1/2, Normal/Hard/Mythic ou la convention Easy/Medium/Hard du paquet. Les IDs inconnus conservent la correspondance exacte. Une liste vide ou un ID vide entraîne le rejet de l'entrée au chargement du fichier.

Le filtre est vérifié pour les récompenses elite des boss, coffres, quêtes et arènes. Il ne restreint que les joueurs actuellement dans une instance de donjon ; ailleurs, il est ignoré. Un boss apparu dans l'instance d'un autre plugin via l'API des boss instanciés est filtré selon la difficulté que ce plugin lui a attribuée. Une arène normale n'est pas une instance de donjon. Les récompenses de coffre, quête et arène restent personnelles, sans vote d'équipement partagé.

Pour les récompenses de boss, l'entrée se comporte ainsi :

  • La difficulté correspond à difficultyID : l'équipement entre dans la table de butin partagée du boss. Les autres récompenses restent personnelles. Les participants éligibles au combat peuvent réclamer l'équipement partagé ; ceux déjà verrouillés pour ce boss sont retirés avant le vote.
  • La difficulté du donjon ne correspond pas : l'entrée est ignorée.
  • Le joueur n'est pas dans une instance de donjon : difficultyID est ignoré. L'équipement utilise Besoin / Cupidité du groupe lorsqu'au moins deux membres éligibles sont proches, sinon il suit la distribution personnelle. Les autres récompenses restent personnelles.

Sans filtre difficultyID, l'équipement peut toujours rejoindre le butin de groupe, mais la branche de table partagée propre au donjon activée par ce champ ne s'exécute pas. Les candidats au butin de classe suivent leurs règles distinctes de sélection et de difficulté décrites plus haut.

Exemple
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.5
difficultyID: 1

Cela fera lâcher au mob 1 MagmaGuy's Toothpick avec une chance de drop de 50 % si les joueurs ont vaincu le boss en difficulté 1.