Add chance simulator toolbox and refine checklist interactions
All checks were successful
Deploy Sokko G / deploy (push) Successful in 17s

This commit is contained in:
Shinuwa 2026-08-31 15:16:36 +02:00
parent 35fe877d58
commit 6b85e58765
25 changed files with 1518 additions and 18 deletions

View file

@ -459,7 +459,7 @@
{
"group": "Historique",
"icon": "rubber",
"title": "Effacer l'historique",
"title": "Supprimer les simulations",
"preview": {
"kind": "button",
"label": "Effacer"
@ -491,6 +491,61 @@
"example": "@activeTab: teams\n[dice]\nfaces: 6\nrolls: 5\n\n[wheel]\ndraws: 3\n\n- Oui | weight=2\n- Non | weight=2\n- Peut etre | weight=1\n\n[teams]\nteamCount: 4\nplayerSelectionMode: all\nplayerSelectionCount: 6\n\n- Dracaufeu | score=0\n- Tortank | score=0\n- Florizarre | score=0\n- Dracolosse | score=0\n- Ectoplasma | score=0\n- Alakazam | score=0\n- Mackogneur | score=0\n- Cizayox | score=0\n- Tyranocif | score=0\n- Gardevoir | score=0\n- Drattak | score=0\n- Métalosse | score=0\n- Carchacrok | score=0\n- Lucario | score=0\n- Trioxhydre | score=0\n- Amphinobi | score=0\n- Archéduc | score=0\n- Félinferno | score=0\n- Corvaillus | score=0\n- Lanssorien | score=0\n- Raichu | score=0\n- Artikodin | score=0\n- Électhor | score=0\n- Sulfura | score=0\n! Dracolosse / Drattak / Carchacrok / Lanssorien | mode=group\n! Artikodin / Électhor / Sulfura | mode=group"
}
},
"rngSimulator": {
"controls": [
{
"group": "Taux",
"icon": "clover",
"title": "Enregistrer un taux",
"preview": {
"kind": "textButton",
"label": "%"
}
},
{
"group": "Simulation",
"icon": "play-circle",
"title": "Simuler",
"preview": {
"kind": "iconButton",
"icon": "play-circle"
}
},
{
"group": "Historique",
"icon": "rubber",
"title": "Effacer l'historique",
"preview": {
"kind": "iconButton",
"icon": "rubber"
}
}
],
"features": [
{
"title": "Taux sauvegardés",
"text": "Chaque taux possède un libellé et garde la précision saisie, même pour des probabilités très faibles.",
"details": [
"La saisie par défaut utilise trois décimales, mais le stockage conserve la chaîne exacte normalisée.",
"Un taux comme 0.000004% reste disponible tel quel pour les calculs et les simulations.",
"La sélection active permet de comparer rapidement plusieurs drops ou chances de réussite."
]
},
{
"title": "Lecture probabiliste",
"text": "L'outil affiche la moyenne d'essais avant réussite, le temps moyen selon votre rythme et les paliers de chance cumulée.",
"details": [
"Les occurrences par heure, jour et mois sont indépendantes pour s'adapter à différents usages.",
"Les paliers 50%, 90%, 95% et 99% donnent un repère concret sur la variance.",
"La simulation agrège réussites, échecs et pire série d'échecs sans stocker chaque tirage."
]
}
],
"importFormat": {
"text": "Le format texte contient les sections [rates] et [settings]. Les taux sont exprimés en pourcentage.",
"example": "@activeRateId: fnn88zy\n[rates]\n- Elten Piece | rate=0.000004 | active=true\n- Pen Eklecta | rate=20.02\n\n[settings]\nmultiplier: 320\nsimulationDraws: 100000\nperHour: 60\nperDay: 0\nperMonth: 0"
}
},
"images": {
"controls": [
{
@ -2038,6 +2093,62 @@
"importError": "Format de randomizer invalide.",
"exportInfo": "Le format texte conserve les paramètres du dé, de la roue et des équipes."
},
"rngSimulator": {
"ratesTitle": "Taux enregistrés",
"addRateTitle": "Ajouter un taux",
"editRateTitle": "Modifier un taux",
"emptyRates": "Aucun taux enregistré.",
"labelLabel": "Libellé",
"labelPlaceholder": "Drop rare",
"rateLabel": "Taux (%)",
"rateLabelRequired": "Libellé requis.",
"rateInvalid": "Taux invalide. Utilisez une valeur supérieure à 0 et inférieure ou égale à 100.",
"addRateButton": "Ajouter",
"saveRateButton": "Enregistrer",
"cancelButton": "Annuler",
"deleteTitle": "Supprimer",
"noActiveRateTitle": "Aucun taux actif",
"simulationDrawsLabel": "Tirages simulés",
"perHourLabel": "Par heure",
"perDayLabel": "Par jour",
"perMonthLabel": "Par mois",
"probabilitySectionTitle": "Probabilités avec multiplicateur",
"multiplierLabel": "Multiplicateur (%)",
"clearMultiplierButton": "Réinitialiser le multiplicateur",
"averageDrawsLabel": "Moyenne avant réussite après multiplicateur",
"simulationChanceLabel": "Chance sur les tirages saisis après multiplicateur",
"averageTimeTitle": "Temps moyen avant réussite",
"occurrenceCountLabel": "Nombre d'occurrences",
"hourTimeLabel": "En heures",
"dayTimeLabel": "En jours",
"monthTimeLabel": "En mois",
"chanceTargetsTitle": "Tirages pour atteindre une chance cumulée",
"drawsUnit": "tirages",
"hoursUnit": "h",
"daysUnit": "j",
"monthsUnit": "mois",
"emptySummary": "Ajoutez un taux pour afficher les calculs.",
"simulationTitle": "Résultats simulés",
"simulateButton": "Simuler",
"clearHistoryButton": "Supprimer les simulations",
"emptyHistory": "Aucune simulation.",
"successesLabel": "Réussites",
"failsLabel": "Fails",
"observedRateLabel": "Taux de réussite",
"multiplierShortLabel": "Bonus",
"longestFailStreakLabel": "Pire série",
"importPlaceholder": "@activeRateId: fnn88zy\n[rates]\n- Elten Piece | rate=0.000004 | active=true\n- Pen Eklecta | rate=20.02\n\n[settings]\nmultiplier: 320\nsimulationDraws: 100000\nperHour: 60\nperDay: 0\nperMonth: 0",
"importOpenButton": "Importer du texte",
"exportOpenButton": "Exporter en format texte",
"importModalTitle": "Importer un simulateur de chance",
"exportModalTitle": "Exporter un simulateur de chance",
"importButton": "Importer le texte",
"exportButton": "Copier le texte",
"importSuccess": "Import du simulateur de chance terminé.",
"exportSuccess": "Export du simulateur de chance copié.",
"importError": "Format de simulateur de chance invalide.",
"exportInfo": "Le format texte conserve les taux enregistrés et les paramètres."
},
"combos": {
"importPlaceholder": "@device: playstation\n# Neutral\nHadoken | device=playstation | direction:down > direction:right > button:cross",
"importOpenButton": "Importer du texte",