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

@ -800,6 +800,47 @@ Stockage compact :
- `mode: "group"` interdit chaque nom de la combinaison avec tous les autres noms de cette combinaison.
- les exclusions invalides, dupliquées ou qui référencent un joueur absent sont ignorées.
## Outil Simulateur de chance
Type : `rngSimulator`
```json
{
"activeRateId": "rate1",
"rates": [
{
"id": "rate1",
"label": "Drop rare",
"rate": "2.500"
},
{
"id": "rate2",
"label": "Ultra rare",
"rate": "0.000004"
}
],
"settings": {
"multiplier": 50,
"simulationDraws": 1000,
"perHour": 30,
"perDay": 120,
"perMonth": 3600
}
}
```
Stockage compact :
- `rates` contient les taux enregistrés du module; un taux sans libellé est ignoré.
- `rate` est une chaîne en pourcentage afin de conserver la précision saisie, par exemple `"2.500"` ou `"0.000004"`.
- un taux doit être strictement supérieur à `0` et inférieur ou égal à `100`; les valeurs supérieures sont bornées à `"100"`.
- `activeRateId` référence un taux existant; sinon le premier taux est sélectionné.
- `settings.multiplier` est un bonus ou malus en pourcentage appliqué au taux actif pour les calculs et simulations, vaut 0 par défaut et le taux effectif est borné entre 0% et 100%.
- `settings.simulationDraws` est borné de 1 à 1 000 000 et vaut 1000 par défaut.
- `settings.perHour`, `settings.perDay` et `settings.perMonth` sont numériques, positifs ou nuls, et valent 0 par défaut.
- `settings` est omis si tous ses champs ont leurs valeurs par défaut.
- l'historique des simulations n'est pas persisté en IndexedDB; il est limité aux 20 dernières entrées en `sessionStorage`.
## Outil Combos
Type : `combos`