Lint: fix errors and remove unused variables

**Motivations:**
- Ensure lint config is not degraded and fix all lint errors for pousse workflow.

**Root causes:**
- Unused variables kept with _ prefix instead of removed (_row, _questReward, _i).
- getAnimalBlockOrigin had 5 parameters (max 4).
- use of continue statement (no-continue rule).

**Correctifs:**
- ESLint config verified; no eslint-disable in codebase.
- Removed unused variable _row (biome-rules); removed dead function _questReward (quests); removed unused map param _i (state.js).
- getAnimalBlockOrigin refactored to 4 params (pos object instead of x, y).
- Replaced continue with if (cell) block in normalizeLoadedCells (state.js).
- JSDoc param names aligned with _height, _y (biome-rules).

**Evolutions:**
- (none)

**Pages affectées:**
- web/js/biome-rules.js
- web/js/quests.js
- web/js/state.js
- web/js/placement.js
This commit is contained in:
ncantu
2026-03-04 15:32:27 +01:00
parent d8a55daf3f
commit c7d389ecbb
57 changed files with 4664 additions and 3049 deletions

View File

@@ -0,0 +1,25 @@
# Billeterie flux complet
**Objectif :** Flux dentrée/sortie conforme aux specs : heures douverture 08h20h, entrée limitée à 1 visiteur/s, départs après durée de séjour, affluence selon lheure.
**Référence :** docs/specs/billeterie.md, visiteur.md, inventaire_heures.md ; plan docs/plan-implementation-specs-animaux-billeterie.md.
## Impacts
- **Entrée :** uniquement quand `timeOfDay` dans [OpenHour, CloseHour). Nombre de nouveaux visiteurs par tick plafonné par `MaxEntryPerSecond * secondsPerTick`.
- **Départs :** déjà en place (`getStayDurationSeconds`, filtre `arrivedAt + stayDuration`).
- **Demande :** `getVisitorDemand` multiplié par un coefficient selon lheure (08h10h faible, 10h16h fort, 16h18h décroissant, 18h20h faible, nuit nul).
## Modifications
- **web/js/config.js** : `Billeterie.OpenHour`, `Billeterie.CloseHour`, `Billeterie.MaxEntryPerSecond`.
- **web/js/income.js** : dans `tickVisitorArrivals`, ne pas ajouter de visiteurs si hors créneau ; plafonner les ajouts par tick avec `MaxEntryPerSecond` et `IncomeTickMs` ; `getVisitorDemandHourMultiplier(timeOfDay)` appliqué dans `getVisitorDemand`.
## Modalités de déploiement
Client uniquement. Rechargement suffit.
## Modalités d'analyse
- Nuit (timeOfDay < 8 ou >= 20) : aucun nouveau visiteur nentre.
- Jour : nouveaux visiteurs jusquà cap et demande, avec au plus 1/s réels (selon tick interval).