# Vendeur (achat en pièces pour le zoo) ## 1. Définition Personnage contextuel du module de conversion/achat de monnaie “pièces” pour le zoo. Il intervient dans le `menu_achats.md` pour présenter les packs, confirmer les transactions et afficher les erreurs de paiement/fonds. ## 2. Fonctions * **Présentation packs** : Affiche les packs de pièces (et, si présent, la monnaie source : gems, coupons). * **Transaction** : Déclenche une transaction atomique (débit monnaie source + crédit pièces). * **Transparence** : Affiche le détail (taux, bonus éventuel, limites) sans masquage. ## 3. Icone * **Représentation :** Pile de pièces + symbole échange. * **Couleur dominante :** Or. ## 4. Interactions * **Ouverture** : Menu Achats → section “Pièces”. * **Achat** : Sélection pack → confirmer (si requis) → crédit. ## 5. Annexes Techniques ### Données (JSON) ```json { "npc_id": "coin_merchant_01", "type": "vendeur_pieces", "name": "Maya", "offers": [ { "offer_id": "coins_pack_s", "coins_amount": 1000, "price": { "gems": 10 } } ], "limits": { "daily_purchases_max": 10 } } ``` ### Règles Métier * Aucune alternative silencieuse : si paiement impossible, afficher la cause (`NOT_ENOUGH_GEMS`, `LIMIT_REACHED`, `PAYMENT_FAILED`). * Les offres doivent rester cohérentes avec le thème (bannière, palette) et les règles “pas d’analytics”. # Annexes UX/UI ## 0. Direction Artistique & Vue * **Style** : Cohérent UI shop (réutilise `menu_achats.md`). * **Personnage** : Portrait/mascotte dans le panneau “Pièces”. ## Affichage contextuel (modules) - **Menu Achats** (`menu_achats.md`) : ouverture section pièces, confirmation, achat réussi/échoué. ## Skins & thèmes * Tenue et décor dérivent du thème (`theme.md`). * Accessoires (bourse, caisse, badge) via `inventaire_skins.md` si des skins “UI shop staff” existent.