Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.03 KB | None | 0 0
  1. import random
  2. import json
  3.  
  4. """list_race = {"Elfe":, "Halfelin":, "Humain":,
  5. "Nain":, "Demi-elfe":, "Demi-Orque":, "Drakeide":,
  6. "Gnome":, "Tieffelin":, "Aarakocra":, "Genasi":,
  7. "Gnome des profondeurs":, "Goliath":}"""
  8.  
  9.  
  10. d4 = random.randint(1,4)
  11. d6 = random.randint(1,6)
  12. d8 = random.randint(1,8)
  13. d10 = random.randint(1,10)
  14. d12 = random.randint(1,12)
  15. d20 = random.randint(1,20)
  16. d100 = random.randrange(0,100, 10)
  17.  
  18. with open('all_armures.json','r') as t:
  19.     all_armures = json.load(t)
  20. class Personnage_vierge():
  21.  
  22.  
  23.     def __init__(self, nom, race, classe, historique):
  24.         def calcul_caracs():
  25.             a = random.randint(1,6)
  26.             b = random.randint(1,6)
  27.             c = random.randint(1,6)
  28.             d = random.randint(1,6)
  29.             if a<b & a<c & a<d: # on cherche à supprimer la valeur la plus basse des trois
  30.                 del a
  31.                 valeur_finale = b + c + d
  32.             elif b<a & b<c & b<d:
  33.                 del b
  34.                 valeur_finale = a + c + d
  35.             elif c<a & c<b & c<d:
  36.                 del c
  37.                 valeur_finale = b + a + d
  38.             else:
  39.                 del d
  40.                 valeur_finale = b + c + a
  41.             return valeur_finale
  42.         self.nom = nom
  43.         self.race = race
  44.         self.classe = classe
  45.         self.historique = historique
  46.         self.alignement = ""
  47.         self.xp = 0
  48.         self.niveau = 1
  49.         self.caracs = {"Force":calcul_caracs(), "Dexterite":calcul_caracs(),
  50.         "Constitution":calcul_caracs(),"Intelligence":calcul_caracs(),
  51.         "Sagesse":calcul_caracs(),"Charisme":calcul_caracs()}
  52.         self.modificateurs = {"Force":(self.caracs["Force"]-10) //2,
  53.                             "Dexterite":(self.caracs["Dexterite"]-10) //2,
  54.                             "Constitution":(self.caracs["Constitution"]-10) //2,
  55.                             "Intelligence":(self.caracs["Intelligence"]-10) //2,
  56.                             "Sagesse":(self.caracs["Sagesse"]-10) //2,
  57.                             "Charisme":(self.caracs["Charisme"]-10) //2}
  58.         self.PV = 0
  59.         self.De_vie = 0
  60.         self.CA = 0
  61.         self.maitrise = 0
  62.         self.vitesse = 0
  63.         self.sauvegarde_mort = 0
  64.         self.maitrise_sauvegarde =  {"Force":False, "Dexterite":False,
  65.                             "Constitution":False, "Intelligence":False,
  66.                             "Sagesse":False,"Charisme":False}
  67.         self.PV_temporaire = self.PV
  68.         self.histoire = {"Traits de personnalite":"", "Ideaux":"", "Liens":"", "Defauts":""}
  69.         self.competences = {"Athletisme":False, "Acrobaties":False, "Discretion":False,
  70.                              "Escamotage":False, "Arcanes":False, "Investigation":False,
  71.                              "Histoire":False, "Nature":False, "Religion":False,
  72.                              "Dressage":False, "Medecine":False, "Perception":False,
  73.                              "Perspicacite":False, "Survie":False, "Intimidation":False,
  74.                               "Persuasion":False, "Représentation":False, "Tromperie":False}
  75.         self.attaques = {}
  76.         self.sorts = {"niv0:{}","niv1:{}","niv2:{}",
  77.                         "niv3:{}","niv4:{}","niv5:{}",
  78.                         "niv6:{}","niv7:{}","niv8:{}","niv9{}",}
  79.         self.capacites = {}
  80.         self.traits = {}
  81.         self.gold = 0
  82.         self.langues = {}
  83.         self.autres_maitrise = {}
  84.         self.inventaire = {}
  85.         self.dd_sauvegarde_sort = 0
  86.         self.bonus_attaque_sort = 0
  87.         self.equipement = {}
  88.  
  89. class Race(Personnage_vierge):
  90.     def __init__(self):
  91.         Personnage_vierge.__init__(self, "Maladryck", "Elfe", "Barbare", "Ermite")
  92.         nom_race = "Elfe"
  93.         if nom_race == "Elfe":
  94.             self.caracs["Dexterite"] += 2
  95.             self.vitesse = 9
  96.             self.competences['Perception'] = True
  97.             self.capacites = {"Transe":" Les elfes n'ont pas besoin de dormir."
  98.             "Au lieu de cela, ils méditent profondément, restant à demi conscients, 4 heures par jour "
  99.             "(le mot commun pour désigner cette méditation est « transe »)."
  100.             " En méditant, vous pouvez rêver, tant bien que mal ; ces rêves sont en fait"
  101.             " des exercices mentaux qui deviennent un réflexe après des années de pratique."
  102.             " Après un repos de ce type, vous obtenez les mêmes avantages qu'un humain après 8 heures de sommeil",
  103.             "Ascendance féerique": "Vous avez l'avantage aux jets de sauvegarde contre les effets de charme et la magie ne peut pas vous endormir."}
  104.  
  105. class Classe(Race):
  106.     def __init__(self):
  107.         Race.__init__(self)
  108.         nom_classe = "barbare"
  109.         self.De_vie = d12
  110.         self.PV = 12 + self.modificateurs['Constitution']
  111.         self.maitrise = 2
  112.         self.autres_maitrise = {"armures":"legeres intermediaires boucliers",
  113.                                 "armes":"courantes guerre","outils":"aucun"}
  114.         self.maitrise_sauvegarde["Force"] = True
  115.         self.maitrise_sauvegarde["Constitution"] = True
  116.         self.competences["Athletisme"] = True
  117.         self.competences["Survie"] = True
  118.         self.equipement["Hache a deux mains"] = "1d12, lourde, 2 mains"
  119.         self.equipement["hachette"] = "1d6, legere"
  120.         self.capacites["Rage"] = "x2, avantage jets de force et sauvegarde force, +2dégats force, résistance dégats physiques"
  121.         self.capacites["Defense sans armure"] = "10+modif dexte+modif constit"
  122.  
  123. class Historique(Classe):
  124.     def __init__(self):
  125.         Classe.__init__(self)
  126.         nom_historique = "Ermite"
  127.         self.competences['Medecine'] = True
  128.         self.competences['Religion'] = True
  129.         self.autres_maitrise["Kit d'herboriste"] = 1
  130.         self.equipement["kit d'herboriste"] = 1
  131.         self.equipement["étui a parchemin"] = 1
  132.         self.equipement["couverture pour l'hiver"] = 1
  133.         self.gold += 5
  134.         self.capacites['Decouverte'] = ["decouverte durant le temps de retraite. nature de la découverte à convenir avec le MJ"]
  135.  
  136. class Personnage_complet(Historique):
  137.     def __init__(self):
  138.         Historique.__init__(self)
  139.  
  140.     def __repr__(self):
  141.         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)
  142.     def __add__(self, nom_armure):
  143.         if type == type(Armure):
  144.             self.CA += nom_armure.CA
  145.             carac_armure = nom_armure.carac_armure
  146.             self.CA += self.modificateurs[carac_armure]
  147. class Armure():
  148.     def __init__(self, nom_armure):
  149.         self.nom = nom_armure["nom"]
  150.         self.CA = nom_armure["CA"]
  151.         self.rang = nom_armure["rang"]
  152.         self.prerequis = nom_armure["prerequis"]
  153.         self.discretion = nom_armure["discretion"]
  154.         self.poids = nom_armure["poids"]
  155.         self.prix = nom_armure["prix"]
  156.         self.carac_armure = nom_armure["carac_armure"]
  157.  
  158. Maladryck = Personnage_complet()
  159. armure = Armure(all_armures["Armure matelassee"])
  160.  
  161. Maladryck + armure
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement