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

50 lines
2.0 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.
# Maire (Ville)
## 1. Définition
Personnage représentant la ville sur la carte du monde. Il sert dinterface narrative-fonctionnelle pour les événements de ville (festival, grève, bonus économique) qui impactent le flux de visiteurs et le budget moyen.
## 2. Fonctions
* **Annonce événements** : Présente les événements de ville et leurs impacts chiffrés.
* **Relation ville-zoo** : Expose létat de relation/jumelage (si présent dans `ville.md`).
* **Point dentrée UI** : Personnage contextuel quand le joueur sélectionne une ville ou quand un événement `CITY_EVENT` survient.
## 3. Icone
* **Représentation :** Écharpe tricolore / blason.
* **Couleur dominante :** Bleu (institution) + accents thème.
## 4. Interactions
* **Clic ville** : ouvre le panneau ville (population, richesse, événements).
* **Clic alerte** : deep-link vers la ville concernée depuis une notification.
## 5. Annexes Techniques
### Données (JSON)
```json
{
"npc_id": "mayor_01",
"type": "maire",
"city_id": "uuid",
"name": "M. Dubois",
"state": "enum (IDLE, ANNOUNCING, NEGOTIATING)",
"current_event": "string | null"
}
```
### Règles Métier
* Les impacts annoncés par le maire doivent être **indexés** par la ville (population, richesse, distance, événement actif) conformément aux formules de `ville.md`.
* Pas de promesse “best effort” : si un événement est actif, il est listé, daté et son effet est explicite.
# Annexes UX/UI
## 0. Direction Artistique & Vue
* **Vue** : Carte monde (UI panneau + portrait).
* **Style** : Cohérent avec le thème (costume, écharpe, badge).
## Affichage contextuel (modules)
- **Ville** (`ville.md`) : sélection de ville, événements, variations de flux visiteurs.
- **Attractivité sur ville** (`attractivite_zoo_sur_ville.md`) : explication des variations de flux (si le module expose une UI).
## Skins & thèmes
* Variantes par thème (costume, palette) via `theme.md`.
* Accessoires via `inventaire_skins.md` si des skins “carte monde / ville” existent.