Files
builazoo/docs/specs/vendeur_pieces.md
2026-03-05 04:01:29 +01:00

56 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 danalytics”.
# 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.