# Spécifications : Nurserie ## Définition Bâtiment dédié à l'éclosion des œufs et à la croissance des bébés animaux. ## Fonctionnalités - **Éclosion** : Lieu où les œufs achetés sont placés pour éclore. - **Croissance** : Permet aux bébés de grandir en sécurité. - **Stockage** : Zone tampon avant placement dans le zoo. ## Niveaux d'Amélioration (7 niveaux) - **Coût** : Progressif par palier. - **Effet** : Accélère le temps d'éclosion/croissance. Améliore la qualité des reproducteurs (bonus génétique). - **Ratio** : 1 unité permet de faire grandir 1 bébé maximum à la fois. # Annexes Techniques ## 1. Données et États ### Modèle de Données (JSON) ```json { "id": "uuid", "type": "nurserie", "level": "integer (1-7)", "slots": [ { "slot_id": 1, "content": "egg_uuid | baby_uuid | null", "timer_end": "timestamp" } ], "iso_x": "integer", "iso_y": "integer", "z_index": "integer" } ``` ### Caractéristiques Initiales | Caractéristique | Valeur Initiale (Niv 1) | | :--- | :--- | | Slots | 1 | | Vitesse Éclosion | x1.0 | | Protection T° | +/- 2°C tolérance | ### Scores Initiaux **Taux Survie** : 100% (si conditions respectées). ## 2. Cycles de Vie et Apparition ### Conditions d'Apparition Construction par joueur ou présent au début. ### Conditions de Disparition Destruction par joueur (si vide). ### Hérédité **Bonus Génétique** : Niveau 5+ donne +5% chance rareté supérieure à l'éclosion. ## 3. Impacts Environnementaux ### Impact Température La nurserie régule la température interne. | Niveau | Régulation | | :--- | :--- | | 1 | +/- 2°C | | 7 | +/- 10°C (Climatisation parfaite) | ### Impact Milieu (Biome) **Adaptation** : Bonus croissance +10% si le biome de la case Nurserie correspond au biome de l'œuf (ex: Œuf Pingouin sur case Neige). ### Impact Saisons Protège des effets négatifs des saisons (Hiver/Été). **Printemps** : Bonus Vitesse +10% (Nature en éveil). ### Impact Heure / Jour-Nuit Fonctionne 24h/24. Veilleuse de nuit (pas de malus obscurité). ## 4. Impacts Biologiques et Sociaux ### Impact Reproduction **Incubateur** : +10% vitesse si les parents sont présents dans le zoo (Lien affectif simulé). ### Impact Mort Réduit drastiquement la mortalité infantile (Santé ne baisse pas sauf si Faim extrême). **Urgence** : Peut accueillir un bébé malade pour le soigner (Niv 4+). ### Impact Nourriture Les bébés sont nourris automatiquement si stock nourriture global > 0. Consommation réduite de 50% par rapport à un adulte. ### Impact Attractivité (Visiteurs/Animaux) **Webcam** : +5 Attractivité (Les gens aiment voir les bébés en ligne sur le site du zoo). ### Impact Valeur **Valorisation** : Un bébé né en nurserie et bien traité vaut +10% à la revente (Certificat de bonne santé). ## 5. Impacts Logistiques et Économiques ### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite) **Vitesse Éclosion/Croissance** : | Niveau | Multiplicateur Vitesse | | :--- | :--- | | 1 | x1.0 | | 2 | x1.2 | | 3 | x1.5 | | 4 | x2.0 | | 5 | x3.0 | | 6 | x5.0 | | 7 | x10.0 | ### Dépenses (Boutiques/Visiteurs) **Électricité** : 5 pièces/heure (Chauffage lampes). ### Trajet Visiteurs **Vitrine** : Les visiteurs s'agglutinent devant la vitre (si module Vitrine installé au Niv 3). ## 6. Événements ### Événements du Jeu / Carte / Zoo / Ville / Visiteur * **Éclosion** : Œuf -> Bébé. * **Maturité** : Bébé -> Adulte (prêt à sortir). * **Jumeaux** : 1% chance d'avoir 2 bébés pour 1 œuf. ## 7. Progression ### Tableau des Upgrades | Niveau | Coût (Pièces) | Slots | Vitesse | Temps Construction | | :--- | :--- | :--- | :--- | :--- | | 1 | 100 | 1 | x1.0 | 0s | | 2 | 200 | 2 | x1.2 | 0s | | 3 | 400 | 3 | x1.5 | 0s | | 4 | 800 | 4 | x2.0 | 0s | | 5 | 1600 | 5 | x3.0 | 0s | | 6 | 3200 | 6 | x5.0 | 0s | | 7 | 6400 | 7 | x10.0 | 0s | ## 8. Logique et Interfaces ### Pseudo-code Impacts ``` function updateNurserie(nurserie): for slot in nurserie.slots: if slot.content is Egg: slot.timer -= baseTime * nurserie.speedMultiplier if slot.timer <= 0: hatchEgg(slot.content) ``` ### Messages d'Infos / Alerte | ID | Niveau | Message | | :--- | :--- | :--- | | `EGG_HATCHED` | Info | "Un œuf a éclos en Nurserie !" | | `NURSERIE_FULL` | Warning | "Nurserie pleine, impossible d'acheter/reproduire." | | `TWINS` | Info | "Incroyable ! Des jumeaux sont nés !" | # 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) ### Gestion des Slots (Consultation) **Description UX** : Le joueur clique sur la nurserie pour voir l'état de ses œufs et bébés. **Description UI** : **Bottom Sheet** avec une grille de slots (1 à 7 selon niveau). Chaque slot affiche l'icône de l'œuf/bébé, une barre de progression (éclosion/croissance) et un timer restant. **Emplacement** : Case Nurserie. **Intégration** : Modal centrée. **Navigation** : Clic Nurserie -> Modal -> Clic Slot (Action) ou Fermer. **Événements** : `OPEN_NURSERIE`. #### Assets - **Musiques** : Berceuse douce (boîte à musique). - **Sons** : `ui_open.mp3` - **Graphiques** : Style "Couveuse" ou "Nid douillet". - **Images** : `egg_[rarity].png`, `baby_[species].png`. - **Vidéos** : Fond animé avec des nuages qui passent. - **Animations** : Œuf qui tremble légèrement quand proche éclosion. - **Couleurs** : Tons pastels (rose, bleu clair, jaune paille). - **Textes** : "Slot X", "Temps restant : MM:SS". - **Formes** : Cases de grille arrondies. ### Placement d'un Œuf **Description UX** : Après achat ou reproduction, l'œuf va automatiquement dans un slot vide. Si plein, notification d'erreur. **Description UI** : Animation de l'œuf "volant" vers la nurserie (si visible) ou simple apparition dans le slot. **Emplacement** : HUD -> Nurserie. **Intégration** : Automatique. **Navigation** : N/A **Événements** : `EGG_ADDED`. #### Assets - **Musiques** : Son "Pop" doux. - **Sons** : `pop_soft.mp3` - **Graphiques** : Ombre portée de l'œuf. - **Images** : Icône Œuf. - **Vidéos** : Effet de téléportation (particules). - **Animations** : Fade in + Scale up de l'œuf dans le slot. - **Couleurs** : Blanc coquille. - **Textes** : "Placé". - **Formes** : Cercle. ### Éclosion (Action) **Description UX** : Quand le timer est fini, l'œuf se fissure. Le joueur clique pour "ouvrir" l'œuf et découvrir le bébé. **Description UI** : Le slot brille ou clignote. Au clic, animation d'éclosion et popup "Nouveau Bébé !" avec ses stats. **Emplacement** : Modal Nurserie. **Intégration** : Bloque le slot jusqu'à validation. **Navigation** : Clic Œuf éclos -> Popup Récompense -> Retour Modal. **Événements** : `HATCH_CLICK`. #### Assets - **Musiques** : Jingle court "Victoire/Naissance". - **Sons** : `crack_egg.mp3`, `baby_cry.mp3`. - **Graphiques** : Coquilles brisées. - **Images** : Sprite bébé. - **Vidéos** : Rayons de lumière émanant de l'œuf. - **Animations** : Séquence d'éclosion (3 frames). - **Couleurs** : Rayons dorés/blancs. - **Textes** : "C'est un [Espèce] [Rareté] !". - **Formes** : Étoile ou Cercle rayonnant. ### Sortie de Nurserie (Placement) **Description UX** : Le bébé est mature (ou le joueur veut le sortir). Drag & drop du slot vers une case du zoo. **Description UI** : Le curseur devient le sprite du bébé/animal. Les cases valides s'illuminent en vert, invalides en rouge. **Alternative** : Sélectionner le bébé -> Cliquer sur la case cible (Tap to Place). **Emplacement** : Modal Nurserie -> Carte Zoo. **Intégration** : Ferme la modal et passe en mode placement. **Navigation** : Drag Slot -> Drop Carte. **Événements** : `DRAG_START`, `DRAG_DROP`. #### Assets - **Musiques** : Son "Sélection". - **Sons** : `pickup.mp3`, `place_ok.mp3` / `place_error.mp3`. - **Graphiques** : Grille de placement overlay. - **Images** : Sprite fantôme (translucide) sous le curseur. - **Vidéos** : Pulsation de la case cible. - **Animations** : Rebondissement du sprite au drop. - **Couleurs** : Vert #00FF00 (OK), Rouge #FF0000 (KO). - **Textes** : Tooltip "Placer ici". - **Formes** : Carré de sélection.