# 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”.
