Files
builazoo/docs/specs/nurse.md
2026-03-05 04:01:29 +01:00

76 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`).