Duel
Description
Ce script permet à un utilisateur d'en défier un autre en combat singulier.
Une fois le duel lancé, le narrateur (l'Eggdrop) commence à décrire l'action trépidante qui se déroule sous vos yeux ébahis.
Il existe 5 types d'action, différenciés par un symbole affiché en début de ligne :
> = attaque
< = contre-attaque
~ = esquive
~< = esquive + contre-attaque
x = attaque ratée
* = réaction neutre
A chaque round, le hasard décide qui attaque qui.
Lorsqu'une attaque est lancée, il y a une chance pour qu'elle aboutisse, une chance pour qu'elle rate, et une chance pour que la victime se défende de 3 façons possibles (esquive, contre-attaque, ou esquive + contre-attaque).
Des réactions neutres surviennent parfois en réponse à une attaque qui a abouti; elles représentent les réactions des participants ou du public à ce qui vient de se passer et n'ont aucune influence sur le score.
Chaque attaque a un certain nombre de défenses et de réactions qui lui sont associées spécifiquement afin d'avoir un contexte cohérent entre les actions et les réactions, et des soins particuliers ont été apportés à la variété, l'originalité et l'humour.
La base de données contient :
128 attaques toutes plus vicieuses les unes que les autres.
66 attaques ratées car les emmerdes, ça arrive...
116 esquives avec pied de nez.
93 contre-attaques histoire de mettre les points sur les i.
46 combos esquive + contre-attaque pour les plus habiles.
256 réactions neutres parce que les spectateurs veulent tout savoir.
Le calcul des points s'effectue comme suit :
- chaque attaque menée à bien rapporte 1pt à l'attaquant.
- une esquive annule l'attaque précédente.
- une contre-attaque n'annule pas l'attaque mais rapporte 1pt au défenseur.
- une esquive + contre-attaque annule l'attaque et rapporte 1pt au défenseur.
Commandes et syntaxe
Voici la syntaxe à utiliser pour défier quelqu'un en duel :
!duel <nick> [nombre de rounds gagnants]
Et voici ce que devra taper celui qui a été provoqué en duel pour accepter de relever le défi (si l'option
target_must_accept est activée) :
!engage
La commande
!duel_stats permet au propriétaire de l'Eggdrop de compter et d'afficher le nombre d'actions de chaque catégorie dans la base de données.
Pour activer ou désactiver Duel sur un chan, vous devez taper ceci sur le chan concerné :
!duels <on/off>
ou ceci en partyline de l'Eggdrop :
.chanset #NomDuChan <+/->duel
Screenshot
Quelques détails chiants pour ceux qui veulent juste faire un duel au plus vite, et bons à savoir pour les autres
- Le script utilise une file d'attente temporisée indépendante pour l'affichage des messages afin de ne pas engorger les files d'attente de l'Eggdrop en y envoyant beaucoup de messages d'un coup.
- Le script est pourvu d'un système anti-hl, qui permet de ne pas ennuyer les participants à chaque action.
- Chaque attaque / attaque ratée / défense / réaction ne sera pas répétée tant que toutes les autres n'auront pas été vues, et l'ordre est différent à chaque cycle. Notez qu'un rehash ou un restart de l'Eggdrop remet les compteurs à 0.
Changelog
1.0
1.01
- Correction : les codes de style (couleurs, gras, ...) n'étaient pas interprétés correctement dans les actions.
- Correction : la commande !duel tapée sans arguments n'affichait pas la syntaxe.
- Ajout : une nouvelle attaque a été ajoutée avec ses défenses et réactions associées.
- Modification : certaines actions ont été reformulées.
1.02
- Correction : les guillemets étaient filtrés par erreur dans les actions.
- Correction : une faute d'orthographe a été corrigée dans une action.
1.03
- Correction : il n'est désormais plus possible de lancer plusieurs duels simultanément sur le même chan.
1.1
- Ajout : nouveau paramètre de configuration target_must_accept permettant d'activer un mode dans lequel l'utilisateur provoqué en duel devra d'abord accepter celui-ci pour que les hostilités commencent. Voir également les deux nouveaux paramètres associés duel_request_timeout et acceptance_cmd.
- Ajout : nouvelle commande !duels <on/off> permettant d'activer ou désactiver les duels sur le chan en cours, permettant ainsi aux modérateurs n'ayant pas d'accès à la partyline de l'Eggdrop de le faire.
1.2
- Correction : la substitution des %randnick% utilisait parfois le nom d'utilisateurs ayant quitté le chan avant que la cible tape !engage.
- Modification : les paramètres de configuration du script se trouvent maintenant dans un fichier séparé, situé dans le répertoire duel par défaut.
- Ajout : système anti-hl pendant le déroulement du duel.
Les joueurs ne seront désormais hl qu'une fois pour les prévenir qu'ils ont été provoqués en duel, et une deuxième fois pour leur annoncer le résultat du duel.
Le paramètre de configuration HL_prevention permet d'activer ou non cette fonctionnalité.
- Ajout : nouvelle variable %randnick<index>% utilisable dans les attaques / défenses / réactions et retournant le nom d'un utilisateur présent sur le chan choisi en fonction de l'index que vous indiquez.
Reportez-vous aux explications détaillées au début de la base de données.
- Ajout : Duel utilise désormais des fichiers de langue pour l'affichage des messages du script.
Des fichiers pour la langue française et la langue anglaise sont fournis.
Un nouveau paramètre de configuration permettant de contrôler la langue a été ajouté.
- Quelques optimisations du code.
1.21
- Correction : Le pack de langue n'était pas déchargé de la mémoire lors de la désinstallation du script.
Téléchargement
Duel v1.21
Laissez vos commentaires / questions / suggestions / rapports de bugs
ici.