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

730 lines
25 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.
# Spécifications : Bébé Animal
## Définition
Stade de développement entre l'éclosion de l'œuf et l'âge adulte.
## Spécificités
- **Lieu** : Doit grandir en Nurserie (recommandé) ou sur une case adaptée.
- **Fragilité** : Plus sensible aux écarts de température/faim que les adultes.
- **Vente** : Peut être vendu comme "Bébé" (souvent plus cher car potentiel reproducteur intact).
- **Évolution** : Devient "Bébé mature" en fin de nurserie, prêt à être placé sur la grille comme adulte.
# Annexes Techniques
## 1. Données et États
### Modèle de Données (JSON)
Structure identique à `Animal` (voir `animal_generique.md`), avec un flag ou état spécifique :
```json
{
"is_baby": true,
"growth_progress": "float (0-100)",
"nurserie_id": "uuid_v4 | null"
}
```
### Caractéristiques Initiales
| Caractéristique | Valeur Initiale |
| :--- | :--- |
| Santé | 100.0 |
| Faim | 0.0 |
| Croissance | 0.0 |
### Scores Initiaux
| Score | Valeur |
| :--- | :--- |
| Valeur Vente | 1.5 * Valeur Adulte (Potentiel) |
| Attractivité | 2 * Attractivité Adulte (Effet "Mignon") |
## 2. Cycles de Vie et Apparition
### Conditions d'Apparition
| Type | Condition |
| :--- | :--- |
| Naissance | Reproduction réussie |
| Éclosion | Fin timer œuf en Nurserie |
### Conditions de Disparition
| Cause | Seuil |
| :--- | :--- |
| Croissance terminée | Croissance >= 100 (Devient Adulte) |
| Mort | Santé <= 0 (Plus fragile) |
### Hérédité
Voir `animal_generique.md`.
## 3. Impacts Environnementaux
### Impact Température
**Facteur de fragilité : x2** par rapport à l'adulte.
| Delta T° | Effet sur Santé / Heure |
| :--- | :--- |
| +/- 1 | -2 |
| +/- 2 | -10 |
| > +/- 2 | -40 (Mort rapide) |
### Impact Milieu (Biome)
| Compatibilité | Effet |
| :--- | :--- |
| Mauvais Biome | Stress x2 par rapport à l'adulte |
### Impact Saisons
Voir `animal_generique.md`.
### Impact Heure / Jour-Nuit
Voir `animal_generique.md`.
## 4. Impacts Biologiques et Sociaux
### Impact Reproduction
**Stérilité temporaire** : Un bébé ne peut pas se reproduire (Logique biologique).
### Impact Mort
| Événement | Effet Satisfaction |
| :--- | :--- |
| Mort d'un bébé | Malus Réputation x2 (Tristesse visiteurs) |
### Impact Nourriture
**Métabolisme rapide :** Faim augmente 1.5x plus vite que l'adulte.
### Impact Attractivité (Visiteurs/Animaux)
| Rareté | Attractivité |
| :--- | :--- |
| Toutes | Bonus "Cuteness" (+50% rayon attraction) |
### Impact Valeur
| Facteur | Effet |
| :--- | :--- |
| Croissance 0-50% | Valeur max (Potentiel) |
| Croissance 50-99% | Valeur décroissante vers prix adulte |
## 5. Impacts Logistiques et Économiques
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
**Vitesse Croissance** : 1% toutes les 30 secondes (rapide) à 1h (lent) selon Rareté.
### Dépenses (Boutiques/Visiteurs)
**Soins Vétérinaires** : Coût x2 si malade (Fragilité pédiatrique).
### Trajet Visiteurs
**Aimant** : Priorité absolue pour les visiteurs si le bébé est visible (hors nurserie).
## 6. Événements
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
* **Croissance** : Passage à l'âge adulte (Notification).
* **Besoin Soin** : Alerte plus fréquente.
* **Premiers Pas** : Petit event mignon (+Satisfaction).
## 7. Progression
### Tableau des Upgrades
*Note : Stades biologiques naturels.*
| Stade | Nom | Effet |
| :--- | :--- | :--- |
| 0-30% | Nouveau-né | Fragilité Max, Dort beaucoup. |
| 30-70% | Jeune | Commence à marcher, Joue. |
| 70-100% | Adolescent | Mange comme un adulte, Moins fragile. |
## 8. Logique et Interfaces
### Pseudo-code Impacts
```javascript
function updateBaby(baby, context):
# Fragilité accrue
damageMultiplier = 2.0
growthRate = baseGrowthRate * nurserieLevelBonus
baby.growth_progress += growthRate
if baby.growth_progress >= 100:
transformToAdult(baby)
# Reste de la logique héritée de Animal avec damageMultiplier
```
### Messages d'Infos / Alerte
| ID | Niveau | Message |
| :--- | :--- | :--- |
| `BABY_GROWN` | Info | "Un bébé est devenu adulte !" |
| `BABY_CRITICAL` | Critique | "Un bébé est en danger critique !" |
# 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.
## 1. Expérience Utilisateur (UX)
### Croissance en Nurserie (Passif)
**Description UX** : Le bébé est visible dans son slot de nurserie. Il grandit visuellement (petite jauge).
**Description UI** : Sprite "Bébé" (tête disproportionnée, grands yeux). Jauge de croissance.
**Emplacement** : Modal Nurserie.
**Intégration** : Slot.
**Navigation** : Clic Slot Nurserie (Zoom).
**Événements** : `BABY_GROWING`.
#### Assets
- **Musiques** : Berceuse (Boîte à musique, boucle 30s).
- **Sons** : Petits bruits aigus.
- **Graphiques** : Sprite Bébé.
- **Images** : Photo "Échographie" (si œuf).
- **Vidéos** : Cinématique éclosion (optionnel).
- **Animations** : Respiration (Scale up/down léger).
- **Couleurs** : Tons pastels.
- **Textes** : "Bébé [Espèce]".
- **Formes** : Bulle de protection autour du bébé.
### Sortie Prématurée (Action)
**Description UX** : Le joueur décide de placer le bébé dans le zoo avant l'âge adulte (risqué).
**Description UI** : Warning "Attention, ce bébé est fragile !".
**Emplacement** : Nurserie -> Zoo.
**Intégration** : Confirmation modale.
**Navigation** : Drag -> Confirm -> Drop.
**Événements** : `PLACE_BABY`.
#### Assets
- **Musiques** : Alerte "Danger" (rythme rapide).
- **Sons** : `warning_beep.mp3`.
- **Graphiques** : Icône Danger.
- **Images** : Fond d'écran rouge clignotant (léger).
- **Vidéos** : Effet de tremblement rouge sur le sprite.
- **Animations** : Tremblement de l'interface.
- **Couleurs** : Rouge.
- **Textes** : "Risque de mort élevé !".
- **Formes** : Triangle d'avertissement.
### Passage Adulte (Événement)
**Description UX** : Le bébé atteint 100% de croissance. Il se transforme en adulte.
**Description UI** : Flash lumineux. Le sprite change. Notification "Adulte !".
**Emplacement** : Nurserie ou Zoo.
**Intégration** : Immédiat.
**Navigation** : Auto (Cutscene).
**Événements** : `BECOME_ADULT`.
#### Assets
- **Musiques** : Jingle évolution.
- **Sons** : `level_up.mp3`.
- **Graphiques** : Particules brillantes.
- **Images** : Sprite Adulte.
- **Vidéos** : Effet de morphing (shader).
- **Animations** : Morphing ou Fade cross.
- **Couleurs** : Blanc/Or.
- **Textes** : "Adulte".
- **Formes** : Rayons de lumière.
## Définition
| Champ | Valeur |
|---|---|
| Concept | Instance danimal au stade “bébé” (post-éclosion), avec progression de croissance vers ladulte. |
| Rôle | Introduire une phase de fragilité et de soins, visible en nurserie et/ou sur le zoo, avec effets dattractivité “mignon” et contraintes biologiques (non reproductible). |
| Portée | Une entité `Animal` (référence `animal_id`) au sein dun zoo, potentiellement rattachée à une `nurserie_id`. |
| Contrainte | Calculs dérivés (croissance, fragilité, dégâts) à la volée, sans cache/mémorisation ; pas de fallback silencieux en cas détat incohérent (log + erreur). |
## Fonctions (tableau détaillé)
| Fonction | Déclencheur | Entrées | Sorties | Règles | Observabilité |
|---|---|---|---|---|---|
| Créer bébé | éclosion / naissance | `parents_ids?`, `species_id`, `genetics` | entité animal `is_baby=true` | Création atomique ; init `growth_progress=0` | Event `BABY_CREATED` |
| Assigner à une nurserie | placement automatique ou choix joueur | `animal_id`, `nurserie_id`, `slot_id` | bébé visible en slot | Un bébé peut être en nurserie ou sur grille, pas les deux | Event `BABY_ASSIGNED_NURSERY` |
| Progresser croissance | tick logique (lazy) | temps, conditions | `growth_progress` ↑ | Vitesse dépend de rareté + niveau nurserie ; clamp 0..100 | Event `BABY_GROWTH_UPDATED` |
| Appliquer fragilité | calcul impacts | température, faim, stress | santé ↓ | Multiplicateur fragilité > adulte ; pas dexception au biome/temp extrêmes | Event `BABY_FRAGILITY_APPLIED` |
| Interdire reproduction | tentative accouplement | `animal_id` | refus | Toujours refus tant que `is_baby=true` | Event `BABY_REPRO_BLOCKED` |
| Transformer en adulte | `growth_progress>=100` | `animal_id` | `is_baby=false` | Transition irréversible ; conserve identité + génétique | Event `BABY_BECAME_ADULT` |
| Mettre en vente (bébé) | action joueur | `animal_id`, type vente | listing créé | Vente possible si pas “en danger critique” | Event `BABY_LISTED_FOR_SALE` |
## Icone de base
| Élément | Spécification |
|---|---|
| Représentation | Sprite “bébé” (tête plus grande), badge “B” sur coin UI |
| Couleur dominante | Pastel (bleu/rose selon thème), outline blanc au survol |
| Variantes | `animal_baby_<species>_dir_{N,E,S,W}.png` |
| États | `calme`, `affamé`, `froid/chaud`, `malade`, `en_croissance` |
## Interactions (tableau détaillé)
| Interaction | Type | Préconditions | Étapes UI | Résultat | Erreurs / Messages |
|---|---|---|---|---|---|
| Ouvrir fiche bébé | Consultation | bébé visible (nurserie ou zoo) | clic sprite/base → panneau | stats + actions | - |
| Nourrir bébé | Action | nourriture dispo | clic “Nourrir” | faim ↓, santé stable | `NO_FOOD`, `BABY_CRITICAL` |
| Soigner bébé | Action | employé/soigneur dispo | clic “Soigner” | maladie ↓ | `NO_STAFF`, `NETWORK_ERROR` |
| Sortie prématurée | Action | bébé en nurserie | drag vers case → confirm | bébé sur grille | `PLACEMENT_INVALID`, `BABY_TOO_FRAGILE` |
| Mettre en vente | Action | bébé stable | “Vendre” → choisir mode | listing créé | `BABY_CRITICAL` |
## Personnages contextuels (événements & interaction)
- **Nurse (nurserie)** : voir `nurse.md` (triage, urgences, éclosion).
- **Soigneur** : voir `soigneur.md` (soins santé, maladies, stabilisation globale).
### Affichage
La nurse est le personnage contextuel principal des actions “bébé” (éclosion, sortie prématurée, danger). Le soigneur est affiché lors des événements de santé (maladie, traitement, surcharge).
### Déclencheurs (exemples)
| Event | Condition | Personnage | Effet UI |
|---|---|---|---|
| `BABY_CREATED` | naissance/éclosion | nurse | bulle “Bébé né” + CTA “Voir” |
| `BABY_CRITICAL` | danger critique | nurse | bulle “Urgence” + CTA “Soigner / Voir” |
| `ANIMAL_SICK` (bébé) | état maladie | soigneur | bulle “Maladie détectée” + CTA “Appeler soigneur” |
| `ANIMAL_HEALED` (bébé) | fin soin | soigneur | message fin intervention |
### Skins & thèmes
Rendu des personnages : `theme.md` + skins via `inventaire_skins.md` (si skins de staff).
## Annexes Techniques
### 1. Données et États (tableau détaillé)
| Donnée / État | Type | Exemple | Source | Contraintes |
|---|---|---|---|---|
| `animal_id` | uuid_v4 | `uuid_v4` | DB | identifiant stable |
| `species_id` | string | `PANDA` | DB | enum espèces |
| `is_baby` | boolean | true | DB | vrai jusquà transition adulte |
| `growth_progress` | float | 42.5 | calcul/DB | clamp 0..100 |
| `growth_stage` | string | `juvenile` | calcul | dérivé de `growth_progress` |
| `nurserie_id` | uuid_v4 \| null | `uuid_v4` | DB | null si sur grille |
| `position.iso_x` | int \| null | 120 | DB | requis si sur grille |
| `position.iso_y` | int \| null | 88 | DB | requis si sur grille |
| `render.z_index` | int | 12088 | calcul | tri profondeur (iso) |
| `render.hitbox` | string | `base_sprite` | client | clic sur base |
| `health` | float | 100.0 | calcul/DB | 0..100 |
| `hunger` | float | 0.0 | calcul/DB | 0..100 |
| `stress` | float | 0.0 | calcul/DB | 0..100 |
| `timestamps.created_at` | timestamp | - | DB | UTC |
| `timestamps.updated_at` | timestamp | - | DB | UTC |
#### Caractéristiques Initiales (tableau détaillé)
| Caractéristique | Valeur initiale | Unité | Notes |
|---|---:|---|---|
| Santé | 100.0 | pts | base |
| Faim | 0.0 | pts | augmente plus vite quun adulte |
| Stress | 0.0 | pts | sensible aux écarts |
| Croissance | 0.0 | % | 0..100 |
| Fragilité | 2.0 | multiplicateur | dégâts environnement ×2 |
#### Scores Initiaux (tableau détaillé)
| Score | Valeur initiale | Plage | Impact |
|---|---:|---|---|
| Attractivité “mignon” | +100% vs adulte | 0..+200% | augmente afflux visiteurs |
| Valeur potentielle | 150% du prix adulte | 50%..200% | décroît avec croissance |
| Malus réputation (mort bébé) | ×2 | ×1..×3 | punit davantage un accident |
### 2. Cycles de Vie et Apparition (tableau détaillé)
| Phase | Déclencheur | Entrées | Sorties | Invariants |
|---|---|---|---|---|
| Éclosion/Naissance | reproduction ok / timer œuf | genetics, species | bébé créé | `is_baby=true` |
| Croissance | temps + conditions | température, nourriture | `growth_progress` ↑ | monotone |
| Transition adulte | `growth_progress>=100` | animal | adulte | identité conservée |
#### Conditions d'Apparition (tableau détaillé)
| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| Reproduction réussie | true | est | spawn bébé |
| Éclosion | timer fini | atteint | spawn bébé |
#### Conditions de Disparition (tableau détaillé)
| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| Croissance terminée | 100 | >= | devient adulte |
| Santé critique | 0 | <= | mort |
#### Hérédité (tableau détaillé)
| Élément | Hérité | Règle |
|---|---|---|
| Génétique | Oui | copie des gènes (voir `animal_generique.md`) |
| Traits esthétiques | Oui | pattern/couleurs, appliqués au sprite bébé |
| Affinités milieu/temp | Oui | modifie fragilité effective |
### 3. Impacts Environnementaux
#### Impact Température (tableau détaillé)
| Condition | Effet bébé | Notes |
|---|---|---|
| \(|\Delta T|\le 1\) | santé \(-2\) / h | fragilité ×2 vs adulte |
| \(|\Delta T|=2\) | santé \(-10\) / h | soins requis rapidement |
| \(|\Delta T|\ge 3\) | santé \(-40\) / h | mort rapide si non corrigé |
#### Impact Milieu (Biome) (tableau détaillé)
| Biome | Effet bébé | Notes |
|---|---|---|
| Biome compatible | stress +0 | nominal |
| Biome incompatible | stress +2x | plus fort que ladulte |
#### Impact Saisons (tableau détaillé)
| Saison | Effet bébé | Notes |
|---|---|---|
| Hiver | risque froid ↑ | privilégier nurserie |
| Été | risque chaud ↑ | besoin deau/ombre |
#### Impact Heure / Jour-Nuit (tableau détaillé)
| Période | Effet bébé | Notes |
|---|---|---|
| Nuit | sommeil ↑, faim ↑ | bébé se repose, métabolisme reste rapide |
| Jour | attractivité visiteurs ↑ | “mignon” visible |
### 4. Impacts Biologiques et Sociaux
#### Impact Reproduction (tableau détaillé)
| Facteur | Effet sur taux | Condition |
|---|---|---|
| Stade bébé | 0 | reproduction interdite |
#### Impact Mort (tableau détaillé)
| Cas | Effet | Condition |
|---|---|---|
| Mort bébé | malus réputation ×2 | si visiteurs exposés à lévénement |
#### Impact Nourriture (tableau détaillé)
| Ressource | Effet | Condition |
|---|---|---|
| Nourriture espèce | faim \(-\) plus fréquemment | métabolisme ×1.5 |
#### Impact Attractivité(Visiteurs (tableau détaillé)
| Action/État | Gain | Rayon | Notes |
|---|---:|---:|---|
| Bébé visible | +50% | +2 cases | priorité de visite |
| Bébé en nurserie | +0% sur grille | - | visible uniquement via UI |
#### Impact Attractivité Animaux) (tableau détaillé)
| Action/État | Effet animaux | Condition |
|---|---|---|
| Présence bébé | stress \(\pm\) selon espèce | certaines espèces parentales calment, dautres stressent |
#### Impact Valeur (tableau détaillé)
| Facteur | Variation | Condition |
|---|---:|---|
| Croissance 0..50% | +50% | potentiel maximum |
| Croissance 50..99% | décroissance vers adulte | linéaire |
| Santé < 50 | -30% | vente risquée |
### 5. Impacts Logistiques et Économiques
#### Vitesse (Camion) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Transport bébé | vitesse \(-20%\) | conduite prudente |
| Contrôle température | stabilité ↑ | camion équipé |
#### Vitesse (Nurserie) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Niveau nurserie | croissance +\(\{0,10,20,30\}%\) | upgrade nurserie |
| Soins assignés | dégâts temp \(-25%\) | soigneur actif |
#### Vitesse (Accueil) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Check-in bébé | durée +10% | contrôles supplémentaires |
#### Vitesse (Recherche) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Étude bébé | progrès recherche +5% | si centre recherche dispose dun protocole |
#### Vitesse (Labo) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Analyses | durée +15% | prélèvements délicats |
#### Vitesse (Visite) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Temps devant bébé | +20% | “effet mignon” |
#### Dépenses (Billeterie) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Communication “naissance” | 0 | - | événement interne, pas danalytics |
#### Dépenses (Boutiques) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Souvenir “bébé” | +1 | item | si boutique souvenir |
#### Dépenses (Visiteurs) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Satisfaction (bonus) | + | points | si bébé visible |
#### Dépenses (Employés) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Temps soigneur | +1 | min / tick | bébé fragile |
#### Dépenses (Boutiques) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Section dupliquée | 0 | - | conservée |
#### Dépenses (Nurseries) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Slot nurserie | 5 | coins / h | par bébé |
#### Dépenses (Nourriture) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Nourriture bébé | +20% | coins / ration | rations plus fréquentes |
#### Dépenses (Acceuil des animaux) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Contrôle santé bébé | 10 | coins | à larrivée |
#### Dépenses (Camion) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Caisson temp | 15 | coins | transport bébé |
#### Trajet Visiteurs
##### Trajet Visiteurs vers/depuis la ville (tableau détaillé)
| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Ville | Zoo | annonce naissance (in-game) | afflux modéré |
##### Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Entrée | Enclos bébé | bébé visible | priorité haute |
##### Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Enclos bébé | Boutique souvenir | souvenir dispo | achat impulsif |
##### Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Billetterie | Enclos bébé | visite planifiée | détour direct |
### 6. Événements
#### Événements du Jeu (tableau détaillé)
| Event | Déclencheur | Payload | Effet |
|---|---|---|---|
| `BABY_CREATED` | éclosion/naissance | `animal_id`, `species_id` | ajoute entité |
| `BABY_GROWTH_UPDATED` | tick lazy | `animal_id`, `growth_progress` | UI jauge |
| `BABY_BECAME_ADULT` | seuil 100 | `animal_id` | swap sprite + stats |
| `BABY_CRITICAL` | santé basse | `animal_id`, raison | alerte |
#### Événements du Carte (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|
| `BABY_MARKER_SHOW` | map open | badge sur bâtiment nurserie |
#### Événements du Zoo (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|
| `BABY_SELECTED` | clic sprite | ouvre panneau |
| `BABY_MOVED` | placement | maj position iso + z_index |
#### Événements du Ville / Visiteur (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|
| `VISITOR_ATTRACTED_BY_BABY` | bébé visible | route vers enclos |
#### Événements du Visiteur (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|
| `VISITOR_TAKES_PHOTO_BABY` | proche enclos | satisfaction + |
#### Événements du Joueur (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|
| `PLAYER_FEEDS_BABY` | action | faim ↓ |
| `PLAYER_LISTS_BABY` | vente | listing |
### 7. Progression
#### Tableau des Upgrades (tableau détaillé)
| Niveau | Coût | Effet | Débloque |
|---|---:|---|---|
| Nurserie 1 | 0 | croissance nominale | slots base |
| Nurserie 2 | 250 | croissance +10% | slot +1 |
| Nurserie 3 | 750 | dégâts temp -10% | protocole soins |
### 8. Logique et Interfaces
#### Pseudo-code Impacts (tableau détaillé)
| Fonction | Entrées | Sorties | Notes |
|---|---|---|---|
| `computeBabyGrowth` | baby, now, nurserieLevel | float | clamp 0..100 |
| `computeBabyTempDamage` | deltaT, fragility | float | multiplicateur |
| `canReproduce` | baby | bool | false si `is_baby` |
| `transformToAdult` | baby | adult | conserve ID + génétique |
#### Messages d'Infos / Alerte (tableau détaillé)
| ID | Niveau | Message | Condition |
|---|---|---|---|
| `BABY_GROWING` | Info | "Croissance en cours." | bébé actif |
| `BABY_BECAME_ADULT` | Info | "Un bébé est devenu adulte." | transition |
| `BABY_CRITICAL` | Critique | "Un bébé est en danger critique." | santé basse |
| `BABY_TOO_FRAGILE` | Warning | "Bébé trop fragile pour sortir." | sortie prématurée |
## Annexes UX/UI
### 1. Expérience Utilisateur (UX)
#### Description UX (tableau détaillé)
| Parcours | But | Friction | Réduction clics |
|---|---|---|---|
| Consulter bébé | suivre croissance | trouver slot | notif deep-link vers slot |
| Nourrir | éviter danger | action répétée | bouton direct dans panneau sélection |
| Sortir prématurément | placer sur grille | validation risque | une seule modale de confirmation |
#### Description UI (tableau détaillé)
| Composant | Contenu | États |
|---|---|---|
| Slot nurserie | sprite + jauge | normal/critique |
| Panneau bébé | santé, faim, croissance | actions activées/désactivées |
| Badge “B” | état bébé | visible sur sprite et liste |
#### Emplacement (tableau détaillé)
| Zone UI | Position | Notes |
|---|---|---|
| Nurserie | slots | vue principale |
| Zoo | sur case (iso) | clic sur base |
| Notifications | top UI | deep-link |
#### Intégration (tableau détaillé)
| Intégration | Contrat | Notes |
|---|---|---|
| `nurserie.md` | slots + jauge | croissance |
| `animal_generique.md` | base stats | mêmes champs + `is_baby` |
| `vente_*` | vente bébé | règles “pas critique” |
#### Navigation (tableau détaillé)
| Action | Chemin | Résultat |
|---|---|---|
| Ouvrir bébé (nurserie) | notif → nurserie → slot | panneau ouvert |
| Ouvrir bébé (zoo) | clic sprite/base | panneau |
| Nourrir | panneau → bouton | action appliquée |
| Sortir prématurément | drag → modale → drop | bébé placé |
#### Événements (tableau détaillé)
| Event UI | Déclencheur | Effet |
|---|---|---|
| `OPEN_BABY_PANEL` | clic | ouvre panneau |
| `CLICK_FEED_BABY` | bouton | action |
| `CONFIRM_PLACE_BABY` | modale | place |
#### Assets Skinables
##### Musiques (tableau détaillé)
| Asset | Usage | Durée | Notes |
|---|---|---:|---|
| `nursery_lullaby_loop.mp3` | nurserie | loop | discret |
##### Sons (tableau détaillé)
| Asset | Usage | Volume |
|---|---|---|
| `baby_chirp_01.mp3` | idle bébé | bas |
| `ui_warning_beep.mp3` | critique | moyen |
| `ui_level_up.mp3` | transition adulte | moyen |
##### Graphiques (tableau détaillé)
| Asset | Usage | Contraintes |
|---|---|---|
| `baby_outline_hover.png` | survol | overlay iso |
| `baby_growth_bar.png` | jauge | lisible petit |
| `baby_warning_icon.png` | critique | contraste |
##### Images (tableau détaillé)
| Asset | Usage |
|---|---|
| `nursery_slot_frame.png` | slot |
| `baby_card_bg.png` | panneau |
##### Vidéos (tableau détaillé)
| Asset | Usage | Durée |
|---|---|---:|
| `baby_hatch.webm` | éclosion | 2.0s |
| `baby_morph_to_adult.webm` | transition | 1.2s |
##### Animations (tableau détaillé)
| Animation | Déclencheur | Notes |
|---|---|---|
| respiration légère | idle | 1.5s loop |
| tremblement | critique | 0.4s |
| flash + particules | adulte | 0.8s |
##### Couleurs (tableau détaillé)
| Token | Valeur | Usage |
|---|---|---|
| `baby_pastel_blue` | #A7D8FF | nurserie |
| `baby_pastel_pink` | #FFB3D9 | accents |
| `baby_warning_red` | #D32F2F | critique |
##### Textes (tableau détaillé)
| Clé | FR | EN |
|---|---|---|
| `baby.title` | Bébé | Baby |
| `baby.feed` | Nourrir | Feed |
| `baby.heal` | Soigner | Heal |
| `baby.too_fragile` | Bébé trop fragile. | Baby too fragile. |
| `baby.became_adult` | Devenu adulte. | Became adult. |
##### Formes (tableau détaillé)
| Élément | Forme | Notes |
|---|---|---|
| Jauge croissance | rectangle arrondi | compacte |
| Badge “B” | pastille ronde | lisible |
| Alerte critique | triangle | contraste élevé |