# Artiste

## 1. Définition
Employé dédié au divertissement des visiteurs. Il réalise des spectacles de rue, joue de la musique ou peint, augmentant ainsi le bonheur des visiteurs et leur temps de séjour dans le zoo. Achetable avec des pièces.

## 2. Fonctions
*   **Divertissement :** Crée une zone d'attractivité temporaire autour de lui.
*   **Bonheur :** Augmente la jauge de bonheur des visiteurs à proximité.
*   **Dons :** Peut générer de petits revenus supplémentaires (pourboires).

## 3. Icone
*   **Représentation :** Masque de théâtre ou Notes de musique.
*   **Couleur dominante :** Rose et Violet.

## 4. Interactions
*   **Recrutement :** Menu "Employés", coût en pièces.
*   **Placement :** Peut être assigné à une "scène" ou un point de passage stratégique.
*   **Performance :** Le joueur peut déclencher un "Show Spécial" (cooldown) pour un gros boost.

## 5. Annexes Techniques

### Données (JSON)
```json
{
  "employee_id": "artist_03",
  "type": "artiste",
  "subtype": "musician", // "clown", "painter", "juggler"
  "name": "Melody",
  "salary": 45,
  "hire_cost": 450,
  "state": "enum (IDLE, PERFORMING, BREAK)",
  "performance_cooldown_end": "timestamp",
  "stats": {
    "charisma": 15,
    "radius": 3, // Rayon d'effet
    "tips_collected": 0
  },
  "iso_x": "integer",
  "iso_y": "integer",
  "z_index": "integer"
}
```

### Règles Métier
*   L'efficacité diminue si l'artiste reste trop longtemps au même endroit (besoin de rotation ou de pause).
*   Attire les foules, ce qui peut créer des bouchons (à gérer avec les chemins).

### Algorithme de Performance
```python
def update_artist(artist, visitors_nearby):
    if artist.state == "PERFORMING":
        for visitor in visitors_nearby:
            visitor.happiness += artist.stats.charisma * 0.1
            visitor.stay_duration += 5 # minutes

            # Chance de pourboire
            if random() < 0.05:
                tip = random(1, 5)
                artist.tips_collected += tip
                add_coins(tip)
```

## 6. Annexes UX/UI
*   **Visuel Carte :** Personnage coloré, jonglant ou jouant d'un instrument.
*   **Effet :** Notes de musique ou étoiles flottant autour de lui.
*   **Son :** Musique d'ambiance locale quand on zoome dessus.
*   **Vue Isométrique :** Animation de jonglage ou de jeu d'instrument en boucle.


# 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.
