This commit is contained in:
2026-03-05 04:01:29 +01:00
parent dfecb09b7c
commit 6c8a710432
32 changed files with 8203 additions and 3 deletions

75
docs/specs/nurse.md Normal file
View File

@@ -0,0 +1,75 @@
# Nurse (Nurserie)
## 1. Définition
Employée spécialisée dans la gestion de la nurserie : incubation, soins de base aux bébés, assistance au joueur lors des événements déclosion et durgence. Achetable avec des pièces (même logique que les autres employés).
## 2. Fonctions
* **Triage nurserie :** Priorise les slots (œuf prêt, bébé critique, croissance).
* **Soins pédiatriques :** Applique des soins de stabilisation (réduit la vitesse de dégradation quand un bébé est en danger), en complément du `soigneur` (qui gère la santé globale).
* **Régulation :** Contribue à la régulation de température de la nurserie (effet borné, dépend du niveau de nurserie).
* **Assistance UI :** Sert de personnage contextuel quand la nurserie est actionnée ou quun événement nurserie survient.
## 3. Icone
* **Représentation :** Biberon + petit badge croix (pédiatrie).
* **Couleur dominante :** Pastel + blanc.
## 4. Interactions
* **Recrutement :** Menu “Employés” (ou Menu Achats → Personnel).
* **Assignation :** Assignable à une `nurserie` spécifique ou à une zone (si plusieurs nurseries existent).
* **Priorités :** “Œufs prêts” > “Bébés critiques” > “Croissance” > “Maintenance”.
## 5. Annexes Techniques
### Données (JSON)
```json
{
"employee_id": "nurse_01",
"type": "nurse",
"name": "Aline",
"created_at": "timestamp",
"salary": 45,
"hire_cost": 450,
"assigned_building": "nurserie_uuid | null",
"stats": {
"speed": 1.0,
"stabilization": 0.7,
"temp_help": 1
},
"state": "enum (IDLE, MOVING, STABILIZING, CHECKING_SLOTS, BREAK)",
"iso_x": "integer",
"iso_y": "integer",
"z_index": "integer"
}
```
### Règles Métier
* La nurse ne remplace pas le `soigneur` : elle **nagit** que sur les bébés et la nurserie (périmètre borné).
* Si aucun chemin nexiste vers la nurserie, laction est refusée avec message explicite (pas de fallback silencieux).
# Annexes UX/UI
## 0. Direction Artistique & Vue
* **Vue** : Isométrique (2.5D).
* **Style** : Coloré, vivant, détails foisonnants (Réf: IMG_20260303_170253.jpg).
* **Sprites** : 4 directions.
* **Interactions** :
* **Sélection** : Cliquer sur la base de l'élément (ou son sprite principal) pour le sélectionner.
* **Feedback** : Surbrillance (outline blanc/jaune) au survol de la souris.
## Affichage contextuel (modules)
Le personnage “Nurse” saffiche dans les modules suivants :
- **Nurserie** (`nurserie.md`) : ouverture, éclosion prête, nurserie pleine, urgence bébé.
- **Inventaire bébés** (`inventaire_bebe_animaux.md`) : filtre “en danger”, deep-link, actions “voir”.
- **Fiche bébé** (`bebe_animal.md`) : état critique, sortie prématurée (confirmation), soins.
### Déclencheurs (exemples)
| Module | Event / Action | Effet UI |
|---|---|---|
| Nurserie | `OPEN_NURSERIE` | La nurse apparaît en vignette/portrait dans le panneau. |
| Nurserie | `EGG_HATCHED` / slot prêt | Bulle : “Éclosion prête” + CTA deep-link slot. |
| Nurserie | `NURSERIE_FULL` | Bulle : cause (slots pleins) + CTA “Voir slots”. |
| Bébé | `BABY_CRITICAL` | Bulle : raison (froid/faim/santé) + CTA “Voir bébé”. |
## Skins & thèmes
* Uniforme et palette dérivent du thème (`theme.md`).
* Accessoires (stéthoscope, badge, serre-tête) via skins (`skin.md`, `inventaire_skins.md`).