# Spécifications : Vente aux Enchères d'Animaux ## Définition Processus de vente pour les animaux adultes. ## Spécificités - **Valeur Variable** : Dépend de la rareté, mais aussi de l'âge et du "Score de Reproduction" restant. Un vieil animal vaut moins cher. - **Résistance** : Les adultes supportent mieux la période de mise en vente que les bébés. ## Processus Identique à la vente de bébés, mais avec des tolérances plus grandes sur les délais avant impact négatif sur la santé de l'animal. # Annexes Techniques ## 1. Données et États ### Modèle de Données (JSON) Identique à `vente_enchere_bebe.md`. ### Caractéristiques Initiales | Caractéristique | Valeur | Notes | |---|---|---| | Durée Enchère | 4h - 24h | Les adultes tolèrent des durées plus longues que les bébés. | | Délai Validation | 10 min | Identique au générique enchères (sablier). | | Dégradation âge | Oui | Prix perçu diminue avec l’âge (cf. `animal_generique.md`). | ### Scores Initiaux | Score | Valeur Initiale | Plage (Min-Max) | Impact | |---|---:|---|---| | Valeur perçue (âge) | 100 | 0-150 | Modifie la propension des bots à enchérir. | | Résistance transport | 80 | 0-100 | Réduit les risques d’incident pendant vente/transport. | ## 2. Cycles de Vie et Apparition ### Conditions d'Apparition Action joueur. ### Conditions de Disparition Vente ou Expiration. ### Hérédité | Parent | Trait Transmis | Probabilité | Mutation Possible | |---|---|---:|---| | Parents (si connus) | Arbre généalogique | 100% | Non | | Vendeur | “Certificat d’entretien” | 100% | Non | ## 3. Impacts Environnementaux ### Impact Température | Plage Température | Effet sur l'entité | Bonus/Malus | |---|---|---| | < 0°C | Fatigue + | Risque incident +5% si pas de camion climatisé | | 15–25°C | Stable | 0 | | > 35°C | Fatigue + | Risque incident +5% si pas de camion climatisé | ### Impact Milieu (Biome) | Biome | Compatibilité | Bonus/Malus | |---|---:|---| | Marché (UI) | 100% | Aucun | | Transport long | 90% | Légère fatigue (adultes résistent) | ### Impact Saisons | Saison | Effet | Modificateur | |---|---|---| | Hiver | Demande espèces froides + | Bids +10% (espèces adaptées) | | Été | Demande espèces chaudes + | Bids +10% (espèces adaptées) | ### Impact Heure / Jour-Nuit | Période | Activité marché | Impact | |---|---|---| | 18h–22h | Prime time | +10% bids | | Nuit | Faible | -15% bids | ## 4. Impacts Biologiques et Sociaux ### Impact Reproduction | Facteur | Effet sur Taux | Condition | |---|---|---| | Adulte fertile vendu | Prix x2 | Si fertilité > seuil et pas en cooldown | ### Impact Mort **Risque** : Si `status == expired` et non récupéré sous 24h -> Mort. ### Impact Nourriture | Type Nourriture | Gain Santé | Coût | Préférence | |---|---:|---:|---:| | Rations transport | stable | inclus | 3 | ### Impact Attractivité (Visiteurs/Animaux) | Action/État | Gain Attractivité | Rayon d'action | |---|---:|---:| | Vente star (rare) | -10% attractivité zoo | Global (zoo vendeur) | ### Impact Valeur | Facteur | Variation Prix | Condition | |---|---:|---| | Âge élevé | -20% | au-delà du seuil “senior” | | Santé parfaite | +10% | survival élevé | ## 5. Impacts Logistiques et Économiques ### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite) | Paramètre | Valeur | Unité | Règle | |---|---:|---|---| | Fenêtre récupération invendu | 24 | h | sinon risque mort adulte (cf. spec) | | Délai validation | 10 | min | après acceptation | ### Dépenses (Boutiques/Visiteurs) | Poste | Coût | Unité | Condition | |---|---:|---|---| | Taxe marché | 10% | du prix final | prélevée à finalisation | | Assurance transport | 3% | du prix final | optionnel | ### Trajet Visiteurs | Trajet | Condition | Effet | Notes | |---|---|---|---| | Consultation marché | ouverture UI | tri | pas de visiteurs physiques | ## 6. Événements ### Événements du Jeu / Carte / Zoo / Ville / Visiteur | Event | Déclencheur | Effet | Durée | |---|---|---|---| | `AUCTION_CREATED_ADULT` | création enchère | listing visible | jusqu’à fin | | `AUCTION_EXPIRED_ADULT` | end_time atteint | statut expired | jusqu’à récupération | | `AUCTION_FINALIZED_ADULT` | validation finie | transfert | instant | ## 7. Progression ### Tableau des Upgrades | Niveau | Coût | Prérequis | Bonus Débloqué | |---|---:|---|---| | 1 | 0 | - | Accès enchères adultes | | 2 | 2000 | Réputation 300 | Taxe -1% | ## 8. Logique et Interfaces ### Pseudo-code Impacts ```text createAuctionAdult(animal, startPrice, duration): assert animal.isAdult && animal.health > 50 moveToTransit(animal) publishListing() onExpire(): markExpired() startReclaimTimer(24h) ``` ### Messages d'Infos / Alerte | Type | Message | Condition | Priorité | |---|---|---|---:| | Info | "Enchère créée." | listing publié | 2 | | Warn | "Enchère expirée : récupérez l’animal." | status expired | 4 | | Error | "Impossible de vendre : animal indisponible." | malade/mort proche | 5 | # 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) ### Mise en Vente (Action) **Description UX** : Le joueur sélectionne un animal adulte sur la grille et choisit "Vendre". **Description UI** : Bouton contextuel "Vendre" sur le panneau animal. Ouvre la **Bottom Sheet** de configuration (Prix, Durée). **Emplacement** : Panneau Animal -> Modal Vente. **Intégration** : Contextuel. **Navigation** : Clic Animal -> Vendre -> Config -> Valider. **Événements** : `CREATE_AUCTION_ADULT`. #### Assets - **Musiques** : `ui_market_open.mp3` (jingle court). - **Sons** : `cash_register_open.mp3`. - **Graphiques** : Icône bourse + badge “adulte”. - **Images** : Portrait Animal. - **Vidéos** : `auction_sheet_intro.webm` (0.8s non loop, optionnel). - **Animations** : Animal disparaît de la grille (part en zone de vente). - **Couleurs** : Or/Gris (adulte), Ambre (pending validation). - **Textes** : "Mise à prix". - **Formes** : Bottom sheet + cartes. ### Retour Invendu (Action) **Description UX** : L'enchère est finie sans acheteur. Le joueur doit récupérer l'animal. **Description UI** : Notification "Vente expirée". Bouton "Récupérer" dans le menu Ventes. **Emplacement** : Menu Ventes -> Accueil Animaux. **Intégration** : Action requise. **Navigation** : Clic Récupérer -> Choix Case (si Accueil plein). **Événements** : `RECLAIM_ANIMAL`. #### Assets - **Musiques** : `ui_fail_soft.mp3` (jingle court). - **Sons** : `sad_trombone.mp3` (échec). - **Graphiques** : Icône retour (flèche). - **Images** : `icon_reclaim.png`. - **Vidéos** : `reclaim_return.webm` (1.2s non loop, optionnel). - **Animations** : Retour visuel de l'animal. - **Couleurs** : Gris (Désactivé). - **Textes** : "Invendu". - **Formes** : Bouton primary “Récupérer”.