# Spécifications : Achat et Upgrade des Camions ## Achat - Le joueur possède un camion par défaut. - Possibilité d'acheter des camions supplémentaires (si le design autorise plusieurs flottes). - **Limite** : Nombre de camions limité par le niveau du Garage (si existant) ou du QG. ## Upgrade (7 Niveaux) - **Niveau 1** : Camion standard. - **Niveau 2-7** : - **Vitesse** : Augmente la vitesse de déplacement sur la carte du monde (réduit le temps de mission). - **Confort** : Réduit la perte de santé/stress des animaux transportés. - **Capacité** : (Optionnel) Transport de plusieurs animaux ? *Actuellement 1 unité = 1 camion.* - **Fiabilité** : Réduit les chances de panne (événement aléatoire "Retard"). # Annexes Techniques ## 1. Données et États ### Modèle de Données (Action) ```json { "action": "upgrade_truck", "truck_id": "uuid", "current_stats": { "speed": 50, "comfort": 10 }, "next_stats": { "speed": 60, "comfort": 20 }, "cost": 500 } ``` *Voir `camion.md` pour le modèle de données complet.* ## 7. Progression ### Tableau des Upgrades *Voir `camion.md` pour le tableau détaillé des coûts et effets par niveau.* ## 8. Logique et Interfaces ### Pseudo-code ```python def upgrade_truck(truck, player): if truck.is_on_mission: return error("TRUCK_BUSY", "Impossible d'améliorer un camion en mission.") cost = get_upgrade_cost(truck.level + 1) if player.money < cost: return error("NO_MONEY") player.money -= cost truck.level += 1 truck.update_stats() return success("TRUCK_UPGRADED") ``` ### Cas Limites - **Camion en mission** : Bouton upgrade désactivé avec message "En mission". - **Niveau Max** : Afficher "Max" à la place du prix. # 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) ### Garage / Atelier (Consultation) **Description UX** : Le joueur gère sa flotte de camions. **Description UI** : Liste des camions avec stats (Vitesse, Confort). Bouton "Améliorer". **Emplacement** : Bâtiment Garage (si existe) ou Menu Transport. **Intégration** : Modal. **Navigation** : Menu -> Transport. **Événements** : `OPEN_GARAGE`. #### Assets - **Musiques** : Radio "Trucker" (Rock instrumental léger). - **Sons** : `wrench.mp3` (bruit d'outil). - **Graphiques** : Fond garage. - **Images** : Sprites Camions évolutifs (Vieux tacot -> Camion futuriste). - **Vidéos** : Rotation 360° du modèle de camion. - **Animations** : Étincelles de soudure. - **Couleurs** : Gris, Métal. - **Textes** : "Niveau X". - **Formes** : Silhouettes de camions en arrière-plan. ### Customisation (Cosmétique) **Description UX** : Changer la couleur du camion. **Description UI** : Palette de couleurs. **Emplacement** : Garage. **Intégration** : Sélecteur. **Navigation** : Clic Couleur -> Appliquer. **Événements** : `PAINT_TRUCK`. #### Assets - **Musiques** : Bruit de spray "Pshhh" musical. - **Sons** : `spray.mp3`. - **Graphiques** : Pistolet peinture. - **Images** : Nuancier de couleurs (Texture brillante). - **Vidéos** : Reflet de lumière sur la carrosserie (shader). - **Animations** : Camion change de couleur. - **Couleurs** : Palette 16 couleurs. - **Textes** : "Peinture fraîche !". - **Formes** : Taches de peinture au sol. ### Vue Isométrique - **Garage** : Si le garage est un bâtiment sur la carte, l'animation d'upgrade se joue dessus. - **Carte Monde** : Le sprite du camion sur la carte du monde change pour refléter son niveau (ex: plus de fumée, design plus aérodynamique).