Aller au contenu principal

Système de jeux de hasard

Le système de jeux de hasard ajoute un casino complet à EliteMobs. Les joueurs peuvent miser leurs Elite Coins sur quatre mini-jeux différents, s'endetter lorsqu'ils n'ont plus d'argent, et en subir les conséquences lorsque le Recouvreur de dettes vient frapper à leur porte. Les administrateurs peuvent configurer une grande partie du système, notamment les multiplicateurs de gains du Blackjack, du Pile ou Face et du Plus ou Moins. Les gains de la machine à sous et la dette maximale sont toutefois codés en dur.


Mise en place​

Les joueurs accèdent aux jeux par des PNJ configurés à cet effet et doivent posséder elitemobs.gambling.npc, accordée par défaut. Les quatre jeux ont chacun leur type d'interaction ; l'affichage des gains de la maison est sélectionné par le nom du fichier du PNJ.

Pour mettre en place un PNJ de jeu, créez un fichier de configuration de PNJ et réglez interactionType sur l'une des valeurs suivantes :

Type d'interactionDescription
GAMBLING_BLACKJACKOuvre le menu de mise pour le Blackjack
GAMBLING_COINFLIPOuvre le menu de mise pour le Pile ou Face
GAMBLING_SLOTSOuvre le menu de mise pour la Machine à sous
GAMBLING_HIGHERLOWEROuvre le menu de mise pour Plus ou Moins

Le PNJ Propriétaire de la salle de jeux n'utilise pas de type d'interaction spécial. Pour le mettre en place, créez un PNJ avec le nom de fichier gambling_den_owner.yml. L'affichage des gains de la maison apparaîtra automatiquement au-dessus du PNJ en fonction de ce nom de fichier.

EliteMobs fournit des configurations de PNJ prêtes à l'emploi pour ces cinq rôles : il suffit normalement de les placer.

FichierRôle
blackjack_dealer.ymlBlackjack (Vincent, le croupier de Blackjack)
coin_flipper.ymlPile ou Face (Lucky Pete)
slot_machine_operator.ymlMachine à sous (Spinner Sam)
card_shark.ymlPlus ou Moins (Ace Morgan, le joueur de cartes)
gambling_den_owner.ymlAffichage des gains de la maison

Jeux​

Blackjack​

L'objectif est de s'approcher le plus possible de 21 sans le dépasser. Cette implémentation applique les règles suivantes.

Règles​

  • Le joueur et le croupier reçoivent chacun deux cartes.
  • La deuxième carte du croupier est cachée jusqu'à ce que le joueur reste.
  • Les as valent 11 ou 1 (ajusté automatiquement pour éviter de sauter lorsque c'est possible).
  • Les figures (Valet, Dame, Roi) valent 10.
  • Le croupier reste à 17.
  • Les cartes sont tirées indépendamment avec remise ; il n'y a pas de paquet fini à compter. Atteindre 21 après Hit déclenche automatiquement Stand.
  • Le menu affiche cinq emplacements de carte par main. Les cartes supplémentaires comptent toujours dans le total, même lorsqu'elles ne peuvent plus être affichées dans ces emplacements.
  • Un joueur qui reçoit un Blackjack naturel touche immédiatement ses gains, même si le croupier a lui aussi un Blackjack naturel.

Actions​

ActionDescription
HitTirer une carte supplémentaire.
StandConserver votre main actuelle ; le croupier joue ensuite.
Double DownPayer une seconde mise identique, doubler la mise totale, tirer exactement une carte, puis rester sauf si vous dépassez 21. Disponible uniquement à la première action avec 2 cartes, si le solde restant et le crédit couvrent la mise supplémentaire.

Gains​

RésultatMultiplicateur par défaut
Victoire normale (le total du joueur bat celui du croupier, ou le croupier saute)2.0x
Blackjack (21 avec les deux premières cartes)2.5x
Égalité (push)1.0x (mise rendue)
Défaite (le joueur saute ou le total du croupier est supérieur)0x (mise perdue)

Fermeture du menu​

Si un joueur ferme le menu pendant le tour du croupier, la main du croupier est jouée automatiquement et le résultat est résolu. Si un joueur ferme le menu avant de rester, la mise est perdue.


Pile ou Face​

Un simple jeu à 50/50. Choisissez Pile ou Face, et la pièce décide de votre sort.

Comment jouer​

  1. Le jeu s'ouvre avec un bouton Pile et un bouton Face.
  2. Cliquez sur l'un d'eux pour faire votre choix.
  3. Une animation de lancer de pièce se joue.
  4. Le résultat est affiché.

Gains​

RésultatMultiplicateur par défaut
Bonne prédiction1.9x
Tranche (la pièce retombe sur la tranche)5.0x
Mauvaise prédiction0x (mise perdue)

Le résultat « tranche »​

Il y a 1 % de chance que la pièce retombe sur la tranche au lieu de Pile ou Face. Dans ce cas, le joueur gagne toujours, quel que soit son choix, et reçoit un gain de 5x sur sa mise. Un message de chat et un affichage visuel spéciaux sont montrés pour cet événement rare.

Avec ces valeurs par défaut, Pile et Face surviennent chacun dans 49,5 % des cas. Le paiement moyen attendu est de 0.495 × 1.9 + 0.01 × 5 = 0.9905 fois la mise, soit un avantage total de la maison de 0,95 %. L'avantage de 5 % d'un simple Pile ou Face à 1,9x ne s'applique que si le résultat sur la tranche est désactivé. Les multiplicateurs incluent la mise initiale.

Fermeture du menu​

Si un joueur ferme le menu avant de faire un choix, la mise est perdue.


Machine à sous​

Faites tourner trois rouleaux et alignez des symboles pour gagner. Les symboles les plus rares rapportent davantage.

Comment jouer​

  1. Le jeu s'ouvre avec une grille de rouleaux 3x3 et un bouton Spin.
  2. Cliquez sur Spin pour lancer les rouleaux.
  3. Chaque rouleau s'arrête tour à tour avec une animation.
  4. La rangée du milieu (ligne de paiement) détermine le résultat.

Symboles et gains​

Chaque rouleau tire indépendamment un symbole selon les poids ci-dessous. Trois symboles identiques rapportent 100 / weight. Exactement deux symboles identiques n'importe où sur la rangée centrale, y compris en première et troisième positions, rapportent 25 % de ce montant. Ces paiements incluent la mise : une paire de cerises ou de citrons rend moins que la mise initiale, même si le menu affiche une victoire.

SymbolePoidsChanceGain 3 symbolesGain 2 symboles
Cerise3535%2.86x0.71x
Citron2828%3.57x0.89x
Orange2020%5.0x1.25x
Cloche dorée1010%10.0x2.5x
Barre d'argent55%20.0x5.0x
Lucky 722%50.0x12.5x

Trois Lucky 7 constituent le Jackpot et déclenchent un effet visuel et sonore spécial.

Fermeture du menu​

Si un joueur ferme le menu avant de lancer les rouleaux, la mise est perdue.

Après un résultat, Spin Again prélève une nouvelle mise du même montant et revient à l'écran de préparation. Le joueur doit ensuite cliquer sur Spin ; fermer le menu entre ces deux étapes fait perdre la nouvelle mise.


Plus ou Moins​

Un jeu de cartes basé sur les séries. Devinez si la carte suivante est plus haute ou plus basse que la carte actuelle, et faites monter un multiplicateur. Encaissez à tout moment ou risquez le tout.

Comment jouer​

  1. Une carte est tirée et affichée (les valeurs vont de 2 à 14, où l'As = 14).
  2. Devinez si la carte suivante sera plus haute ou plus basse que la carte actuelle.
  3. Si vous devinez correctement, votre multiplicateur augmente et la carte révélée devient la nouvelle carte actuelle.
  4. Vous pouvez encaisser à tout moment après au moins une bonne prédiction.
  5. Si vous vous trompez, vous perdez la totalité de votre mise.
  6. Si la carte suivante est égale à la carte actuelle, cela compte comme une défaite.

Multiplicateur de série​

Chaque bonne prédiction multiplie vos gains par le multiplicateur configuré (par défaut 1.3x). Le multiplicateur se cumule :

SérieMultiplicateur (par défaut)Gain sur une mise de 100 pièces
11.3x130
21.69x169
32.197x219.7
42.856x285.6
53.713x371.3
.........
12~23.3x~2,330

Série maximale et encaissement automatique​

La série maximale est de 12. Lorsqu'un joueur atteint 12 bonnes prédictions, il encaisse automatiquement et ses gains lui sont attribués. Cela évite les multiplicateurs incontrôlables.

Fermeture du menu​

Si un joueur ferme le menu alors qu'il est en série gagnante, il encaisse automatiquement et reçoit ses gains actuels. S'il ferme le menu avant d'avoir fait la moindre prédiction, la mise est perdue.


Mises​

Avant le début de chaque partie, un menu de mise est présenté au joueur pour choisir son enjeu.

Limites de mise​

RéglageValeur par défaut
Mise minimale10

Il n'existe pas de mise maximale configurable. Le menu utilise des mises entières ; All In ignore les fractions de pièce lorsqu'il additionne le solde et le crédit disponible.

minBet fixe le montant de Reset et la limite basse des boutons de diminution. Le montant initial est max(minBet, 10). Ce n'est pas une validation universelle des transactions : All In peut fixer un montant positif inférieur à minBet, et Play l'accepte actuellement s'il peut être payé. Ne comptez pas sur ce réglage pour imposer un minimum dans tous les cas.

Commandes du menu de mise​

Le menu de mise propose plusieurs commandes :

  • Boutons d'incrément -- Trois tailles d'augmentation et de diminution. Avec au moins 100 pièces et aucune dette, les pas sont de 5 %, 10 % et 25 % du solde, tronqués à l'entier avec un minimum de 1. Sinon, ils sont de 10, 50 et 100.
  • All In -- Règle la mise sur le maximum que le joueur peut se permettre (crédit disponible inclus).
  • Reset -- Réinitialise la mise au minimum.
  • Play -- Lance la partie avec la mise actuelle. Actif uniquement si le joueur peut se permettre la mise.
  • Cancel -- Ferme le menu sans miser.

Le menu affiche le solde actuel. Les lignes de dette et de crédit disponible apparaissent lorsque la dette est positive, bien que les joueurs sans dette puissent aussi utiliser le crédit.


Système de dette​

Les joueurs peuvent miser au-delà de leur solde en s'endettant. Le casino accorde un crédit jusqu'à une limite fixe.

Fonctionnement de la dette​

  1. Lorsqu'un joueur place une mise supérieure à son solde, le montant restant est ajouté en tant que dette de jeu.
  2. La dette maximale qu'un joueur peut accumuler est de 500 pièces. Cette valeur est codée en dur et n'est pas configurable.
  3. Les joueurs ne peuvent pas placer de mises qui pousseraient leur dette au-delà du maximum.
  4. Lorsqu'un joueur gagne, ses gains servent d'abord à rembourser sa dette avant d'être ajoutés à son solde. Les autres revenus obtenus via EliteMobs remboursent aussi cette dette en premier, y compris lorsque l'intégration Vault est activée. Les remboursements d'achats d'enchantements ne sont pas soumis au recouvrement de dette.

Crédit disponible​

Pour une dette finie, le crédit disponible est max(0, maxDebt - currentDebt). Le menu l'affiche lorsque le joueur a une dette.

Avertissement de dette​

Lorsqu'un joueur s'endette, il reçoit un message d'avertissement. Le Recouvreur de dettes peut venir le chercher tant qu'il porte une dette impayée.


Boss Recouvreur de dettes​

Le Recouvreur de dettes est un custom boss qui apparaît pour traquer les joueurs endettés au jeu.

Conditions d'apparition​

  • Le joueur doit avoir une dette de jeu impayée.
  • Une vérification périodique s'exécute toutes les 60 minutes (configurable) pour tous les joueurs connectés.
  • La première vérification attend un intervalle complet après l'initialisation. Un intervalle doit aussi s'être écoulé depuis la dernière tentative d'apparition pour ce joueur ; ce compteur est réinitialisé à l'arrêt du plugin.
  • Chaque vérification a 50 % de chances (configurable) de faire apparaître le Recouvreur de dettes pour un joueur éligible.
  • Un seul Recouvreur de dettes peut être actif par joueur à la fois.
  • Le Recouvreur de dettes utilise le fichier de custom boss debt_collector.yml.

La vérification périodique n'exclut elle-même aucun monde ni mode de jeu ; l'apparition normale d'un custom boss peut toutefois échouer. Rembourser la dette empêche les apparitions périodiques futures, mais ne retire pas automatiquement un recouvreur déjà présent.

Mise à l'échelle du niveau​

Le fichier debt_collector.yml fourni utilise un niveau dynamique et scaledCombat: true : ses calculs de combat s'adaptent donc à chaque joueur. Ses multiplicateurs de vie et de dégâts proviennent de ce fichier de boss. La procédure d'apparition ne lui attribue pas directement le niveau de combat du joueur poursuivi ; modifier la configuration du boss change son comportement de mise à l'échelle.

Comportement​

  • Le Recouvreur de dettes essaie dix positions en surface, à une distance horizontale de 5 à 10 blocs. Si aucune ne convient, il utilise un décalage de 5 blocs maximum sur chaque axe horizontal, à la hauteur du joueur.
  • Il cible immédiatement le joueur pour lequel il est apparu.
  • Il possède un délai d'expiration de 600 secondes (10 minutes) par défaut. S'il n'est pas tué dans ce laps de temps, il disparaît et avertit le joueur qu'il reviendra.

Résultats​

RésultatEffet
Le Recouvreur de dettes est tuéSa cible enregistrée reçoit le message de retour si elle est connectée, même si un autre joueur l'a tué. La dette ne diminue pas.
Le joueur meurt d'un coup direct du recouvreurLa dette de la victime diminue de 50 pièces (configurable). Elle est avertie si cela solde sa dette. Le recouvreur est retiré après 5 secondes. La dernière entité ayant infligé des dégâts doit être elle-même un boss debt_collector.yml ; le gestionnaire ne recherche ni les tireurs de projectiles ni les morts environnementales ultérieures.
Expiration du délai du gestionnaireLe recouvreur est retiré et envoie un avertissement. Une vérification périodique future peut en faire apparaître un autre si le joueur reste éligible et si le tirage réussit.

Propriétaire de la salle de jeux​

Le Propriétaire de la salle de jeux affiche les gains de la maison en texte flottant. Ce total représente les mises enregistrées moins les paiements, y compris les mises financées par la dette. Ce n'est ni un solde bancaire distinct ni le montant déjà encaissé auprès des débiteurs.

  • Les gains positifs sont affichés en vert (par ex. +1234.56).
  • Les gains négatifs (les joueurs gagnent plus qu'ils ne perdent) sont affichés en rouge (par ex. -567.89).
  • L'affichage se met à jour chaque seconde.
  • Les gains de la maison sont enregistrés dans house_earnings.yml et survivent aux redémarrages du serveur.

Configuration​

Tous les réglages de jeu sont stockés dans GamblingSettings.yml. Vous trouverez ci-dessous les principaux réglages influant sur le gameplay.

Réglages généraux​

CléDescriptionPar défaut
gamblingEnabledActive ou désactive l'intégralité du système de jeux de hasard. Lorsqu'il est désactivé, les PNJ de jeu ne fonctionnent pas et le Recouvreur de dettes n'apparaît pas.true
minBetMontant de Reset et limite basse des boutons de diminution ; voir la limite d'All In ci-dessus.10

Remarque : la dette maximale (500.0) est codée en dur et n'est pas configurable.

Le chargeur exige des entiers positifs pour minBet, l'intervalle de vérification du recouvreur et son délai d'expiration. Les probabilités doivent être finies et comprises entre 0 et 1. Les multiplicateurs de paiement et la réduction de dette liée à la mort doivent être finis et non négatifs. Une valeur invalide produit un avertissement et est remplacée par sa valeur par défaut dans la configuration chargée.

Multiplicateurs de gains​

CléDescriptionPar défaut
payouts.blackjack.normalMultiplicateur de gain pour une victoire normale au Blackjack.2.0
payouts.blackjack.blackjackMultiplicateur de gain pour un Blackjack naturel (21 avec les deux premières cartes).2.5
payouts.coinFlip.normalMultiplicateur pour une bonne prédiction Pile/Face. Un paiement de 1,9x ne donne un avantage de 5 % à la maison que si le résultat sur la tranche est désactivé.1.9
payouts.coinFlip.edgeChanceChance (de 0.0 à 1.0) que la pièce retombe sur la tranche (victoire bonus). Réglez sur 0.0 pour désactiver.0.01
payouts.coinFlip.edgePayoutMultiplicateur de gain lorsque la pièce retombe sur la tranche.5.0
payouts.higherLower.multiplierV2Multiplicateur appliqué à chaque bonne prédiction dans Plus ou Moins. Se cumule de façon multiplicative.1.3
Limite de configuration du Pile ou Face

Les réglages du Pile ou Face partagent une même section YAML :

payouts:
coinFlip:
normal: 1.9
edgeChance: 0.01
edgePayout: 5.0

Si votre fichier existant enregistre un nombre directement à payouts.coinFlip, déplacez cette valeur sous normal et ajoutez les deux réglages de tranche. EliteMobs désactive les jeux d'argent et signale cette correction sans réécrire le fichier. Rechargez après l'avoir corrigé.

Gains de la machine à sous​

Les gains de la machine à sous ne sont pas configurables. Ils sont calculés automatiquement à partir des poids des symboles selon la formule 100 / weight :

SymbolePoidsGain 3 symbolesGain 2 symboles
Cerise352.86x0.71x
Citron283.57x0.89x
Orange205.0x1.25x
Cloche1010.0x2.50x
Barre520.0x5.00x
Lucky 7250.0x12.50x

Il n'existe aucune clé payouts.slots.* dans GamblingSettings.yml — les seules entrées de machine à sous du fichier sont les chaînes d'interface slots.* (noms de boutons, libellés, titres de résultats). Les gains sont toujours dérivés des poids de symboles codés en dur.

Réglages du Recouvreur de dettes​

CléDescriptionPar défaut
debtCollector.spawnChanceChance (de 0.0 à 1.0) que le Recouvreur de dettes apparaisse à chaque vérification.0.5
debtCollector.checkIntervalMinutesFréquence (en minutes) de la vérification déterminant si le Recouvreur de dettes doit apparaître pour les joueurs endettés.60
debtCollector.timeoutSecondsDurée (en secondes) avant que le Recouvreur de dettes ne disparaisse s'il n'est pas tué.600
debtCollector.debtReductionOnPlayerDeathMontant de dette effacé lorsque le Recouvreur de dettes tue le joueur.50.0

Sécurité économique​

Les mises sont prélevées avant l'ouverture d'une partie. Le Pile ou Face et la Machine à sous règlent le résultat avant son animation ; le Plus ou Moins enregistre chaque prédiction avant son animation et paie lorsque le joueur encaisse. Le Blackjack règle le résultat après que le croupier a fini de tirer, ou joue immédiatement sa main si le menu est fermé pendant son tour. Les paiements sont arrondis à deux décimales et incluent la mise initiale. Le gestionnaire commun des résultats empêche de verser deux fois le même paiement en attente.

Les règles de fermeture du menu ci-dessus s'appliquent aussi lorsque l'inventaire d'un joueur se ferme à sa déconnexion. Ces protections ne permettent pas de récupérer une session inachevée après un plantage du serveur ou l'arrêt du plugin ; évitez de redémarrer pendant des parties actives.