From c0571c0fbd8a31726bc14dc0f4fc35a6ac060088 Mon Sep 17 00:00:00 2001 From: Esenjin <esenjin@sangigi-fuchsia.fr> Date: Fri, 21 Feb 2025 15:53:32 +0100 Subject: [PATCH] =?UTF-8?q?am=C3=A9lioration=20de=20la=20formulation=20des?= =?UTF-8?q?=20phrases?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/script.js | 21 +++++-- data/bugs.json | 154 +++++++++++++++++++++++------------------------ data/hooks.json | 31 ++++++++++ 3 files changed, 125 insertions(+), 81 deletions(-) create mode 100644 data/hooks.json diff --git a/assets/script.js b/assets/script.js index 884f1b9..c326c11 100644 --- a/assets/script.js +++ b/assets/script.js @@ -4,20 +4,33 @@ document.addEventListener("DOMContentLoaded", () => { button.addEventListener("click", async () => { try { - const bugsResponse = await fetch("data/bugs.json"); - const featuresResponse = await fetch("data/features.json"); + const [hooksResponse, bugsResponse, featuresResponse] = await Promise.all([ + fetch("data/hooks.json"), + fetch("data/bugs.json"), + fetch("data/features.json") + ]); - if (!bugsResponse.ok || !featuresResponse.ok) { + if (!hooksResponse.ok || !bugsResponse.ok || !featuresResponse.ok) { throw new Error("Erreur lors du chargement des fichiers JSON."); } + const hooks = await hooksResponse.json(); const bugs = await bugsResponse.json(); const features = await featuresResponse.json(); + const hook = hooks.hooks[Math.floor(Math.random() * hooks.hooks.length)]; const bug = bugs.bugs[Math.floor(Math.random() * bugs.bugs.length)]; const feature = features.features[Math.floor(Math.random() * features.features.length)]; - result.textContent = `${bug} ${feature}`; + // Construction de la phrase en fonction du type d'accroche + let phrase; + if (hook.includes("fait que")) { + phrase = `${hook} ${feature}`; + } else { + phrase = `${hook} ${bug}, ${feature}`; + } + + result.textContent = phrase; } catch (error) { result.textContent = "Une erreur s'est produite. Veuillez réessayer."; console.error(error); diff --git a/data/bugs.json b/data/bugs.json index 9fa4d2f..82c42c8 100644 --- a/data/bugs.json +++ b/data/bugs.json @@ -1,81 +1,81 @@ { "bugs": [ - "À cause d'un bug sur le sort Roublardise,", - "À cause d'un bug sur les renvois de dommages,", - "À cause d'un bug sur l'hôtel des ventes,", - "À cause d'un bug sur la gestion des résistances,", - "À cause d'un bug sur les caractéristiques des familiers,", - "À cause d'un bug sur le système de quêtes,", - "À cause d'un bug sur les métiers de récolte,", - "À cause d'un bug sur le système de guildes,", - "À cause d'un bug sur les montures,", - "À cause d'un bug sur les enclos de guilde,", - "À cause d'un bug sur les maisons de joueurs,", - "À cause d'un bug sur le système de chat,", - "À cause d'un bug sur les émoticônes,", - "À cause d'un bug sur les échanges entre joueurs,", - "À cause d'un bug sur le système de combat,", - "À cause d'un bug sur l'affichage des points de vie,", - "À cause d'un bug sur les points d'action,", - "À cause d'un bug sur les points de mouvement,", - "À cause d'un bug sur les sorts communs,", - "À cause d'un bug sur les armes,", - "À cause d'un bug sur les boucliers,", - "À cause d'un bug sur les familiers,", - "À cause d'un bug sur les potions de téléportation,", - "À cause d'un bug sur les potions de rappel,", - "À cause d'un bug sur les potions de cité,", - "À cause d'un bug sur les zaaps,", - "À cause d'un bug sur les prismes d'alliance,", - "À cause d'un bug sur les percepteurs,", - "À cause d'un bug sur les avis de recherche,", - "À cause d'un bug sur les succès,", - "À cause d'un bug sur les titres et ornements,", - "À cause d'un bug sur les challenges en combat,", - "À cause d'un bug sur les donjons modulaires,", - "À cause d'un bug sur les compagnons,", - "À cause d'un bug sur les invocations,", - "À cause d'un bug sur l'affichage des états,", - "À cause d'un bug sur les coups critiques,", - "À cause d'un bug sur les résistances élémentaires,", - "À cause d'un bug sur les maîtrises d'armes,", - "À cause d'un bug sur les animations de sorts,", - "À cause d'un bug sur les effets visuels,", - "À cause d'un bug sur les sons en combat,", - "À cause d'un bug sur les musiques d'ambiance,", - "À cause d'un bug sur les notifications,", - "À cause d'un bug sur les raccourcis clavier,", - "À cause d'un bug sur l'interface utilisateur,", - "À cause d'un bug sur le système de craft,", - "À cause d'un bug sur les documents de quête,", - "À cause d'un bug sur les collisions en combat,", - "À cause d'un bug sur l'almanax du 18 février,", - "À cause d'un bug sur les objets vivants,", - "À cause d'un bug sur les trousseaux de clés,", - "À cause d'un bug sur les portails dimensionnels,", - "À cause d'un bug sur le système de liste d'amis,", - "À cause d'un bug sur les succès monstres,", - "À cause d'un bug sur les emplacements de sorts,", - "À cause d'un bug sur les bonus de zone,", - "À cause d'un bug sur les dialogues de PNJ,", - "À cause d'un bug sur les drops de ressources,", - "À cause d'un bug sur les effets de poussée,", - "À cause d'un bug sur le système d'expérience,", - "À cause d'un bug sur les zones de téléportation,", - "À cause d'un bug sur le système de groupe,", - "À cause d'un bug sur les transformations,", - "À cause d'un bug sur le système de kolizeum,", - "À cause d'un bug sur les archimonstres,", - "À cause d'un bug sur les quêtes d'alignement,", - "À cause d'un bug sur le système de conquête,", - "À cause d'un bug sur les zones instanciées,", - "À cause d'un bug sur le système de placement,", - "À cause d'un bug sur les effets d'esquive et de tacle,", - "À cause d'un bug sur le système d'invocation,", - "À cause d'un bug sur les changements de map,", - "À cause d'un bug sur le système de connexion,", - "À cause d'un bug sur les sorts de zone,", - "À cause d'un bug sur le passif de la classe Sacrieur,", - "À cause d'un bug sur le système d'artisanat," + "sur le sort Roublardise", + "sur les renvois de dommages", + "sur l'hôtel des ventes", + "sur la gestion des résistances", + "sur les caractéristiques des familiers", + "sur le système de quêtes", + "sur les métiers de récolte", + "sur le système de guildes", + "sur les montures", + "sur les enclos de guilde", + "sur les maisons de joueurs", + "sur le système de chat", + "sur les émoticônes", + "sur les échanges entre joueurs", + "sur le système de combat", + "sur l'affichage des points de vie", + "sur les points d'action", + "sur les points de mouvement", + "sur les sorts communs", + "sur les armes", + "sur les boucliers", + "sur les familiers", + "sur les potions de téléportation", + "sur les potions de rappel", + "sur les potions de cité", + "sur les zaaps", + "sur les prismes d'alliance", + "sur les percepteurs", + "sur les avis de recherche", + "sur les succès", + "sur les titres et ornements", + "sur les challenges en combat", + "sur les donjons modulaires", + "sur les compagnons", + "sur les invocations", + "sur l'affichage des états", + "sur les coups critiques", + "sur les résistances élémentaires", + "sur les maîtrises d'armes", + "sur les animations de sorts", + "sur les effets visuels", + "sur les sons en combat", + "sur les musiques d'ambiance", + "sur les notifications", + "sur les raccourcis clavier", + "sur l'interface utilisateur", + "sur le système de craft", + "sur les documents de quête", + "sur les collisions en combat", + "sur l'almanax du 18 février", + "sur les objets vivants", + "sur les trousseaux de clés", + "sur les portails dimensionnels", + "sur le système de liste d'amis", + "sur les succès monstres", + "sur les emplacements de sorts", + "sur les bonus de zone", + "sur les dialogues de PNJ", + "sur les drops de ressources", + "sur les effets de poussée", + "sur le système d'expérience", + "sur les zones de téléportation", + "sur le système de groupe", + "sur les transformations", + "sur le système de kolizeum", + "sur les archimonstres", + "sur les quêtes d'alignement", + "sur le système de conquête", + "sur les zones instanciées", + "sur le système de placement", + "sur les effets d'esquive et de tacle", + "sur le système d'invocation", + "sur les changements de map", + "sur le système de connexion", + "sur les sorts de zone", + "sur le passif de la classe Sacrieur", + "sur le système d'artisanat" ] } diff --git a/data/hooks.json b/data/hooks.json new file mode 100644 index 0000000..7241344 --- /dev/null +++ b/data/hooks.json @@ -0,0 +1,31 @@ +{ + "hooks": [ + "À cause d'un bug", + "Suite à un bug", + "En raison d'un bug", + "À la suite d'un bug", + "Du fait d'un bug", + "Par la faute d'un bug", + "Un bug a fait que", + "Un mystérieux bug fait que", + "Un bug inexplicable fait que", + "À cause d'un dysfonctionnement", + "Suite à un dysfonctionnement", + "En raison d'un problème technique", + "À cause d'un soucis", + "Suite à un soucis", + "En raison d'un bug", + "À la suite d'un bug", + "Du fait d'un bug", + "Par la faute d'un bug", + "Un bug a fait que", + "À cause d'un problème", + "Suite à un problème", + "En raison d'un problème", + "À la suite d'un problème", + "Du fait d'un problème", + "Par la faute d'un problème", + "Un problème a fait que", + "À cause d'une erreur" + ] +} \ No newline at end of file