76 lines
3.4 KiB
Markdown
76 lines
3.4 KiB
Markdown
# 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 d’urgence. 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 qu’un é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 **n’agit** que sur les bébés et la nurserie (périmètre borné).
|
||
* Si aucun chemin n’existe vers la nurserie, l’action 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” s’affiche 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`).
|