91 lines
4 KiB
Plaintext
91 lines
4 KiB
Plaintext
# 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
|
|
|
|
|
|
|