ok
This commit is contained in:
55
docs/specs/vendeur_pieces.md
Normal file
55
docs/specs/vendeur_pieces.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user