Changelog : 1.0 : - 1ère version 1.01 : - Correction d'un bug mineur : le jeu signale maintenant quand un mot a déjà été proposé même si il ne rapporte pas de points. 1.1 : - Correction de la procédure d'effacement automatique des scores : petite erreur d'arguments. 1.2 : - Le masque affiche maintenant les accents si il y en a 1.21 : - Le masque de départ affiche AUSSI les accents 1.3 : - Correction d'un bug qui bloquait le jeu si l'url du site qu'on utilise pour afficher la définition d'un mot était injoignable ou faisait un timeout. L'exception est maintenant gérée : un message est envoyé dans la partyline pour signaler le problème au propriétaire de l'eggdrop sans que ça bloque le jeu. - Ajout d'une option pour voicer les joueurs qui trouvent un mot. 1.4 : - Amélioration de la gestion des caractères spéciaux dans les pseudos - Amélioration de la gestion des entrées en double dans les scores (Lorsqu'un joueur possède plusieurs scores au même nom, ce qui peut arriver si il joue avec un nom différent de celui qu'il avait la dernière fois et qu'il reprend son ancien nick en cours de partie, les entrées en double sont fusionnées et les scores cumulés. Afin d'éviter toute tricherie (prise de possession d'un score appartenant à autrui), le bot affiche un message dans la partyline lorsque cela se produit et le host du joueur est loggé.) - La commande !place affiche maintenant la position du joueur sur combien au total. - Gestion d'un cas rare où le site utilisé pour récupérer la définition des mots renvoie seulement "Une remarque sur le dictionnaire ?" au lieu de renvoyer la définition. - Si des fichiers nécessaires au fonctionnement du jeu manquent, un message d'erreur explicite s'affiche. - Ajout d'une option pour désactiver toutes les couleurs du jeu. Remarque : en mode monochrome, les lettres bien placées sont soulignées au lieu de s'afficher en vert, et les lettres mal placées sont mise en gras au lieu de s'afficher en rouge. - Ajout d'un système anti-freeze pour relancer le jeu au cas où il freeze en cours de partie (juste au cas où). 1.5 : - Ajustement des scores par défaut pour un meilleur équilibre - Des indices sont donnés en cours de round si personne ne fait de proposition pendant un certain temps. - Ajout de plusieurs paramètres dans la section configuration : - nombres d'indices en fonction de la longueur du mot - nombre et intervalles des indices automatiques en cours de round - jour et heure de la remise à 0 hebdomadaire des scores - Ajout de l'affichage du nombre de lettres à côté du masque du mot à trouver lorsqu'on rejoint le chan en cours de partie. - Correction de quelques bugs. 2.0 : - Restructurations importantes. Si vous avez une version plus ancienne du Motus, effacez tous les fichiers avant d'installer cette nouvelle version (vous pouvez conserver votre fichier scores si vous le voulez, il sera converti automatiquement au nouveau format; mais il vous faudra le placer au bon endroit). - Ajout d'une FAQ. - Affiche un avertissement quand le temps est presque écoulé (20% du temps restant). - Déplacement des fichiers du motus (qui commencent à être nombreux) dans un répertoire nommé "motus" et ils ont été renommés plus explicitement pour la plupart. - Décentralisation de la configuration du jeu dans un fichier externe (ce qui permet d'avoir plusieurs configurations toutes prêtes). Vous pouvez paramétrer le fichier de configuration que le jeu doit utiliser. Remarque : cette option NE SE TROUVE PAS dans le fichier de configuration. Vous la trouverez dans le fichier motus.tcl - Ajout d'une procédure de désinstallation/désallocation des ressources - Ajout de la commande "!motus compile" pour recompiler le motus et appliquer tout changement de configuration sans avoir besoin de rehasher l'eggdrop. - Il est maintenant possible pour un administrateur d'activer/désactiver le jeu au moyen de la commande "!motus on/off" en public , ou .chanset #chan +motus/-motus en partyline. L'état actif ou inactif est mémorisé de façon permanente et résiste donc à un redémarrage de l'eggdrop. Lorsque le jeu est désactivé, certaines fonctionnalités continuent quand même à fonctionner : * les commandes !motus on/off (heureusement) et !motus compile * la remise à 0 hebdomadaire des scores (si elle est activée) * la mise à jour des statistiques Notez que si le Motus est désactivé, la remise à 0 des scores et le changement de semaine des statistiques se feront silencieusement. - Les commandes fonctionnent même si gras/couleur/autres sont utilisés. - Les scores sont désormais archivés dans un fichier nommé scores.history avant chaque effacement automatique ou non. - Ajout d'un module de statistiques. - Ajout de la commande !resetstats pour remettre toutes les statistiques à zéro. - Possibilité de faire des annonces entre deux rounds de jeu (records, meilleurs joueurs, publicité pour votre forum, etc...) Près de 60 variables sont mises à votre disposition pour composer vos annonces (voir fichier variables.txt pour la liste). - Le bot annonce lorsqu'un record est battu. - Ajout de la commande !fusion pour permettre à un admin de fusionner manuellement les scores de 2 joueurs (par exemple Luc et Luc[dodo]). - Ajout d'une option (activable ou non) pour compter des points de pénalité dans les cas suivants : mot déjà dit, mot inexistant, mot ne rapportant aucun point. - La commande !motuscmd a été renommée par défaut en !aide et affiche maintenant uniquement les commandes auxquelles a droit celui qui l'a tapée. Par exemple, un joueur ne verra pas les commandes admin. - Possibilité de choisir d'afficher l'aide en notice ou par message privé. - La liste de mots a été enrichie et comporte désormais 105502 mots de 4 à 15 lettres (pas de noms propres, pas de verbes conjugués) - Le Motus utilise maintenant l'ODS5 (Officiel du Scrabble v5) pour la vérification orthographique des propositions. - Il est maintenant possible de régler une longueur minimale pour les mots que le jeu propose. - La procédure d'affichage de la définition d'un mot a été réécrite car le site web utilisé ayant changé sa mise en page, la version précédente ne fonctionnait plus. Cette procédure a également été améliorée (définitions plus lisibles, moins de bugs d'analyse, gestion des exceptions, proposition de mots approchants au cas où le mot recherché n'a pas été trouvé, affichage des paronymes, homonymes, difficultés orthographiques, plus configurable, beaucoup plus rapide. - Il est maintenant possible de régler les options d'affichage de la définition des mots (nombre de paragraphes, nombre de lignes par paragraphe, ...) - Si la définition est trop longue pour être affichée intégralement, un lien TinyURL vers la page web contenant la définition complète est donné (option). - Les couleurs sont désormais entièrement paramétrables. - Ajout d'une méthode alternative d'envoi des messages au serveur pour une plus grande réactivité du jeu si votre serveur IRC le permet (voir dans le fichier de configuration pour les détails) - Ajout d'une option pour voicer ou non les joueurs qui gagnent un round. - Ajout d'une commande !stat pour afficher des statistiques sur un joueur et les titres / records qu'il détient. - Ajout d'une option qui permet d'annoncer sur un ou plusieurs chans quand une partie de Motus commence. - Ajout d'un module d'exportation HTML des statistiques et scores. Possibilité de régler l'intervalle de mise à jour, de choisir l'apparence parmi des templates séparés. Un seul template est fourni par défaut mais il est facile d'en créer d'autres et d'en changer à volonté; si vous créez vos propres templates et que vous souhaitez en faire profiter les autres et contribuer au développement du Motus, vous pouvez me les faire parvenir et je les inclurai dans une prochaine version ou j'en ferai un pack bonus. - Ajout d'une commande permettant de changer de profil de configuration jusqu'au prochain redémarrage/rehash de l'eggdrop. Par exemple, le profil default.cfg est celui qui est paramétré par défaut. Admettons que vous avez un autre profil nommé difficile.cfg avec des réglages de difficulté différents, vous pouvez l'activer en tapant !config difficile. - Ajout d'une commande servant à générer un rapport de débogage à envoyer à l'auteur afin qu'il puisse vous aider plus facilement en cas de problème. - Optimisations diverses, correction d'une multitude de bugs (je n'entrerai pas dans les détails car la liste est longue). "eh oui, la deux point zéro, c'est pas du pipeau" 2.01 : - Correction de la base de données WORDLIST.DB, les accents n'étaient pas codés correctement. - Les indices donnés accentuent désormais correctement les lettres qui doivent l'être. - La vérification de la validité des chans définis dans les réglages se fait maintenant correctement sur les chans enregistrés dans l'eggdrop, et non pas sur les chans actuellement rejoints par l'eggdrop. 2.02 : - Nouvelle correction de la procédure de vérification de la validité du chan défini. Si aucun enregistrement n'existe, il est tout simplement créé. - Diverses corrections mineures. 2.03 : - Correction d'un bug rarissime qui faisait se déclencher l'anti-freeze du jeu si un même mot sortait 2 fois de suite. 2.04 : - Correction de la gestion d'une exception dans la procédure d'affichage des définitions. 2.1 : - Ajout d'une commande pour afficher la liste des records du jeu (!records par défaut). - Ajout d'une commande "!motus version" pour afficher la version du jeu. - Le nombre de points de pénalité pour un mot inexistant est passé à 5 par défaut (cette valeur peut être réglée dans le fichier config) - Après constat que la fonction RAND n'offre pas un niveau d'aléatoire satisfaisant en termes de répartition (pas statistiquement), utilisation de d'une meilleure fonction aléatoire pour les petits nombres (basée sur le temps). - Le fichier variables.txt contenant la description des variables utilisées dans les annonces, a été renommé en variables_annonces.txt et un nouveau variables_html.txt a été ajouté pour détailler les variables supportées dans les templates HTML. - Ajout de 2 variables pouvant être utilisées dans les annonces inter-round : %hinttime% et %maxhints% (voir le fichier variables_annonces.txt) - Correction d'un bug qui arrêtait la distribution automatique d'indices lorsqu'un mot inexistant était proposé. - Correction d'un bug relativement rare qui provoquait l'octroi d'un indice supplémentaire à des moments inopportuns. - Les timers sont maintenant arrêtés proprement (on teste leur existence avant de les arrêter plutôt que de les forcer, ce qui évite de flooder la variable $::errorInfo) - Ajout d'un diagramme d'activité du jeu sur les 52 dernières semaines dans le template html de la page de statistiques, ainsi que des variables associées (voir variables_html.txt) - Le template html de la page de statistiques est maintenant en XHTML strict (merci à Galdinx) - Quelques optimisations ci et là.