Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- import json
- """list_race = {"Elfe":, "Halfelin":, "Humain":,
- "Nain":, "Demi-elfe":, "Demi-Orque":, "Drakeide":,
- "Gnome":, "Tieffelin":, "Aarakocra":, "Genasi":,
- "Gnome des profondeurs":, "Goliath":}"""
- d4 = random.randint(1,4)
- d6 = random.randint(1,6)
- d8 = random.randint(1,8)
- d10 = random.randint(1,10)
- d12 = random.randint(1,12)
- d20 = random.randint(1,20)
- d100 = random.randrange(0,100, 10)
- with open('all_armures.json','r') as t:
- all_armures = json.load(t)
- class Personnage_vierge():
- def __init__(self, nom, race, classe, historique):
- def calcul_caracs():
- a = random.randint(1,6)
- b = random.randint(1,6)
- c = random.randint(1,6)
- d = random.randint(1,6)
- if a<b & a<c & a<d: # on cherche à supprimer la valeur la plus basse des trois
- del a
- valeur_finale = b + c + d
- elif b<a & b<c & b<d:
- del b
- valeur_finale = a + c + d
- elif c<a & c<b & c<d:
- del c
- valeur_finale = b + a + d
- else:
- del d
- valeur_finale = b + c + a
- return valeur_finale
- self.nom = nom
- self.race = race
- self.classe = classe
- self.historique = historique
- self.alignement = ""
- self.xp = 0
- self.niveau = 1
- self.caracs = {"Force":calcul_caracs(), "Dexterite":calcul_caracs(),
- "Constitution":calcul_caracs(),"Intelligence":calcul_caracs(),
- "Sagesse":calcul_caracs(),"Charisme":calcul_caracs()}
- self.modificateurs = {"Force":(self.caracs["Force"]-10) //2,
- "Dexterite":(self.caracs["Dexterite"]-10) //2,
- "Constitution":(self.caracs["Constitution"]-10) //2,
- "Intelligence":(self.caracs["Intelligence"]-10) //2,
- "Sagesse":(self.caracs["Sagesse"]-10) //2,
- "Charisme":(self.caracs["Charisme"]-10) //2}
- self.PV = 0
- self.De_vie = 0
- self.CA = 0
- self.maitrise = 0
- self.vitesse = 0
- self.sauvegarde_mort = 0
- self.maitrise_sauvegarde = {"Force":False, "Dexterite":False,
- "Constitution":False, "Intelligence":False,
- "Sagesse":False,"Charisme":False}
- self.PV_temporaire = self.PV
- self.histoire = {"Traits de personnalite":"", "Ideaux":"", "Liens":"", "Defauts":""}
- self.competences = {"Athletisme":False, "Acrobaties":False, "Discretion":False,
- "Escamotage":False, "Arcanes":False, "Investigation":False,
- "Histoire":False, "Nature":False, "Religion":False,
- "Dressage":False, "Medecine":False, "Perception":False,
- "Perspicacite":False, "Survie":False, "Intimidation":False,
- "Persuasion":False, "Représentation":False, "Tromperie":False}
- self.attaques = {}
- self.sorts = {"niv0:{}","niv1:{}","niv2:{}",
- "niv3:{}","niv4:{}","niv5:{}",
- "niv6:{}","niv7:{}","niv8:{}","niv9{}",}
- self.capacites = {}
- self.traits = {}
- self.gold = 0
- self.langues = {}
- self.autres_maitrise = {}
- self.inventaire = {}
- self.dd_sauvegarde_sort = 0
- self.bonus_attaque_sort = 0
- self.equipement = {}
- class Race(Personnage_vierge):
- def __init__(self):
- Personnage_vierge.__init__(self, "Maladryck", "Elfe", "Barbare", "Ermite")
- nom_race = "Elfe"
- if nom_race == "Elfe":
- self.caracs["Dexterite"] += 2
- self.vitesse = 9
- self.competences['Perception'] = True
- self.capacites = {"Transe":" Les elfes n'ont pas besoin de dormir."
- "Au lieu de cela, ils méditent profondément, restant à demi conscients, 4 heures par jour "
- "(le mot commun pour désigner cette méditation est « transe »)."
- " En méditant, vous pouvez rêver, tant bien que mal ; ces rêves sont en fait"
- " des exercices mentaux qui deviennent un réflexe après des années de pratique."
- " Après un repos de ce type, vous obtenez les mêmes avantages qu'un humain après 8 heures de sommeil",
- "Ascendance féerique": "Vous avez l'avantage aux jets de sauvegarde contre les effets de charme et la magie ne peut pas vous endormir."}
- class Classe(Race):
- def __init__(self):
- Race.__init__(self)
- nom_classe = "barbare"
- self.De_vie = d12
- self.PV = 12 + self.modificateurs['Constitution']
- self.maitrise = 2
- self.autres_maitrise = {"armures":"legeres intermediaires boucliers",
- "armes":"courantes guerre","outils":"aucun"}
- self.maitrise_sauvegarde["Force"] = True
- self.maitrise_sauvegarde["Constitution"] = True
- self.competences["Athletisme"] = True
- self.competences["Survie"] = True
- self.equipement["Hache a deux mains"] = "1d12, lourde, 2 mains"
- self.equipement["hachette"] = "1d6, legere"
- self.capacites["Rage"] = "x2, avantage jets de force et sauvegarde force, +2dégats force, résistance dégats physiques"
- self.capacites["Defense sans armure"] = "10+modif dexte+modif constit"
- class Historique(Classe):
- def __init__(self):
- Classe.__init__(self)
- nom_historique = "Ermite"
- self.competences['Medecine'] = True
- self.competences['Religion'] = True
- self.autres_maitrise["Kit d'herboriste"] = 1
- self.equipement["kit d'herboriste"] = 1
- self.equipement["étui a parchemin"] = 1
- self.equipement["couverture pour l'hiver"] = 1
- self.gold += 5
- self.capacites['Decouverte'] = ["decouverte durant le temps de retraite. nature de la découverte à convenir avec le MJ"]
- class Personnage_complet(Historique):
- def __init__(self):
- Historique.__init__(self)
- def __repr__(self):
- return "{:<20}".format(self.nom)+"CA: {:<20}".format(self.CA)+"\n{:<20}".format(self.race)+"PV: {:<20}".format(self.PV)+"\n{:<20}".format(self.classe)+"Bonus Maîtrise: {:<20}".format(self.maitrise)
- def __add__(self, nom_armure):
- if type == type(Armure):
- self.CA += nom_armure.CA
- carac_armure = nom_armure.carac_armure
- self.CA += self.modificateurs[carac_armure]
- class Armure():
- def __init__(self, nom_armure):
- self.nom = nom_armure["nom"]
- self.CA = nom_armure["CA"]
- self.rang = nom_armure["rang"]
- self.prerequis = nom_armure["prerequis"]
- self.discretion = nom_armure["discretion"]
- self.poids = nom_armure["poids"]
- self.prix = nom_armure["prix"]
- self.carac_armure = nom_armure["carac_armure"]
- Maladryck = Personnage_complet()
- armure = Armure(all_armures["Armure matelassee"])
- Maladryck + armure
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement