# Définition des éléments communs aux personnages
init 0 python:
    class Personnage(object):

        # Variables des classes des personnages
        def __init__(self):
            self.c = None
            self.genre = None
            self.age = None
            self.conjoint = None
            self.attirance = None
            self.enfants = None
            self.social = None
            self.salaire = None
            self.entreprise = None
            self.experience = None
            self.anciennete = None
            self.etudes = None
            self.chomage = None
            self.humeur = None

        # Méthode qui définit la fiche personnage complète
        def etat_civil(self):
            # genre
            self.genre = renpy.random.choice(["homme", "femme"])
            # nom en fonction du genre
            if self.genre == "femme":
                idiome = renpy.random.choice(["Juliette", "Sylvie", "Rachel", "Lydie", "Anaëlle"])
                self.c = Character(idiome, color="#af0f0fff")
            else: # si c'est un homme
            #TODO Externaliser les listes de noms
                idiome = renpy.random.choice(["Gérard", "Pierre", "Olivier", "Jules", "Maxime"])
                self.c = Character(idiome, color="#af0f0fff")
            # âge (de 18 à 64 ans)
            self.age = renpy.random.randint(18,64)
            # conjoint (non = 0, oui = 1)
            self.conjoint = renpy.random.randint(0,1)
            # attirance (hétéro = 0, gay = 1)
            self.attirance = renpy.random.randint(0,1)
            # enfants (0 à 3)
            #TODO Nuancer nb enfant par rapport situation familiale en s'appuyant sur des statistiques
            self.enfants = renpy.random.randint(0,3)
            # situation sociale
            self.social = renpy.random.choice(["technicien", "secrétaire", "graphiste"])
            # nombre d'années d'études
            # TODO pondérer par des statistiques
            self.etudes = renpy.random.randint(0,8)
            # nombre d'annés d'expérience sur toute la carrière
            self.experience = renpy.random.randint(0, self.age - 18 + self.etudes)
            # entreprise employeuse
            self.entreprise = renpy.random.choice(["SAFE energies", "Watt-o-watt", "Enercentrale"])
            # nombre d'années d'ancienneté dans l'entreprise
            self.anciennete = renpy.random.randint(0, self.experience)
            # nombre d'années de chômage
            self.chomage = self.age - 18 - self.etudes - self.experience
            # salaire brut actuel
            # TODO s'appuyer sur des statistiques
            # salaire de base
            if self.social == "technicien":
                self.salaire = renpy.random.randint(1400, 1700)
            if self.social == "secrétaire":
                self.salaire = renpy.random.randint(1700, 2000)
            if self.social == "graphiste":
                self.salaire = renpy.random.randint(2000, 4000)
            # majoration suivant l'experience (5% par année d'exp)
            # TODO s'appuyer sur des statistiques
            self.salaire = self.salaire + (self.salaire * self.experience * 0.05)
            # minoration de 20% si genre = femme
            if self.genre == "femme":
                self.salaire = self.salaire - (self.salaire * 0.2)
            # suppression des décimales
            self.salaire = int(self.salaire)
            # Humeur du personnage (de base 0)
            self.humeur = 0
        
        # Méthode qui permet d'appeller les dialogues avec les autres personnages
        def parle(self,sujet):
            # Réglage de l'humeur (<10 = sympahtique, entre -10 et 10 = neutre, >10 = antipathique)
            if self.humeur >= 10:
                mood = "sympathique"
            elif self.humeur <= -10:
                mood = "antipathique"
            else:
                mood = "neutre"
            # Parsing des label (nom.sujet_humeur)
            parse = str(self.c)+"."+str(sujet)+"_"+str(mood)
            return parse

                

