コード例 #1
0
ファイル: parchemin.py プロジェクト: wkta/tsunami
 def __init__(self, cle=""):
     """Constructeur de l'objet"""
     BaseType.__init__(self, cle)
     self._cle_sort = ""
     self.charges = 1
     self.etendre_editeur("s", "sort", Uniligne, self, "cle_sort")
     self.etendre_editeur("c", "charges", Uniligne, self, "charges")
コード例 #2
0
ファイル: parchemin.py プロジェクト: stormi/tsunami
 def __init__(self, cle=""):
     """Constructeur de l'objet"""
     BaseType.__init__(self, cle)
     self._cle_sort = ""
     self.charges = 1
     self.etendre_editeur("s", "sort", Uniligne, self, "cle_sort")
     self.etendre_editeur("c", "charges", Uniligne, self, "charges")
コード例 #3
0
 def __init__(self, cle=""):
     """Constructeur de l'objet"""
     BaseType.__init__(self, cle)
     self.unique = False
     self.valeur = 1
     self.sans_prix = True
     self.etendre_editeur("m", "valeur monétaire", Uniligne, self, "valeur")
コード例 #4
0
ファイル: pierre_feu.py プロジェクト: stormi/tsunami
 def __init__(self, cle=""):
     """Constructeur de l'objet"""
     BaseType.__init__(self, cle)
     self.efficacite = 30
     
     # Editeur
     self.etendre_editeur("f", "efficacite", Entier, self, "efficacite",
             1, 50)
コード例 #5
0
    def __init__(self, cle=""):
        """Constructeur de l'objet"""
        BaseType.__init__(self, cle)
        self.efficacite = 30

        # Editeur
        self.etendre_editeur("f", "efficacite", Entier, self, "efficacite", 1,
                             50)
コード例 #6
0
 def regarder(self, personnage):
     """Le personnage regarde l'objet."""
     prototype = getattr(self, "prototype", self)
     variables = {
         "recette": prototype.nom_recette,
         "RECETTE": prototype.nom_recette.upper(),
         "Recette": prototype.nom_recette.capitalize(),
         "contenu": prototype.contenu.regarder(personnage, self),
     }
     BaseType.regarder(self, personnage, variables)
コード例 #7
0
ファイル: recette.py プロジェクト: vlegoff/tsunami
 def regarder(self, personnage):
     """Le personnage regarde l'objet."""
     prototype = getattr(self, "prototype", self)
     variables = {
         "recette": prototype.nom_recette,
         "RECETTE": prototype.nom_recette.upper(),
         "Recette": prototype.nom_recette.capitalize(),
         "contenu": prototype.contenu.regarder(personnage, self),
     }
     BaseType.regarder(self, personnage, variables)
コード例 #8
0
    def __init__(self, cle=""):
        """Constructeur de l'objet"""
        BaseType.__init__(self, cle)
        self._cle_sort = ""
        self.etendre_editeur("s", "sort", Uniligne, self, "cle_sort")

        # Attributs propres à l'objet (non au prototype)
        self._attributs = {
            "proprietaire": Attribut(None),
        }
コード例 #9
0
ファイル: plateau.py プロジェクト: stormi/tsunami
 def __init__(self, cle=""):
     """Constructeur du type jeu"""
     BaseType.__init__(self, cle)
     self.peut_prendre = False
     plateaux = list(sorted(type(self).importeur.jeux.plateaux.keys()))
     self.plateau = ""
     self.etendre_editeur("l", "plateau", Choix, self, "plateau", plateaux)
     # Attributs propres à l'objet (non au prototype)
     self._attributs = {
         "partie": Attribut(),
     }
コード例 #10
0
ファイル: tonneau_eau.py プロジェクト: stormi/tsunami
    def __init__(self, cle=""):
        """Constructeur de l'objet"""
        BaseType.__init__(self, cle)
        self.gorgees_max_contenu = 50
        self.etendre_editeur("go", "nombre de gorgées au maximum", Entier,
                self, "gorgees_max_contenu")

        # Attributs propres à l'objet (non au prototype)
        self._attributs = {
            "gorgees_contenu": Attribut(lambda: self.gorgees_max_contenu),
        }
コード例 #11
0
    def __init__(self, cle=""):
        """Constructeur de l'objet"""
        BaseType.__init__(self, cle)
        self.nom_recette = "la recette de quelque chose"
        self.contenu = Description(parent=self, scriptable=False)

        # Éditeurs
        self.etendre_editeur("o", "nom de la recette", Uniligne, self,
                             "nom_recette", 0, LOWER)
        self.etendre_editeur("c", "contenu de la recette", EdtDesc, self,
                             "contenu")
コード例 #12
0
 def __init__(self, cle=""):
     """Constructeur du type jeu"""
     BaseType.__init__(self, cle)
     self.peut_prendre = False
     plateaux = list(sorted(type(self).importeur.jeux.plateaux.keys()))
     self.plateau = ""
     self.etendre_editeur("l", "plateau", Choix, self, "plateau", plateaux)
     # Attributs propres à l'objet (non au prototype)
     self._attributs = {
         "partie": Attribut(),
     }
コード例 #13
0
ファイル: recette.py プロジェクト: vlegoff/tsunami
    def __init__(self, cle=""):
        """Constructeur de l'objet"""
        BaseType.__init__(self, cle)
        self.nom_recette = "la recette de quelque chose"
        self.contenu = Description(parent=self, scriptable=False)

        # Éditeurs
        self.etendre_editeur("o", "nom de la recette", Uniligne, self,
                "nom_recette", 0, LOWER)
        self.etendre_editeur("c", "contenu de la recette", EdtDesc, self,
                "contenu")
コード例 #14
0
ファイル: combustible.py プロジェクト: vlegoff/tsunami
 def __init__(self, cle=""):
     """Constructeur de l'objet"""
     BaseType.__init__(self, cle)
     self.terrains = []
     self.rarete = 1
     self.qualite = 2
     
     # Editeurs
     self.etendre_editeur("t", "terrains", Selection, self, "terrains",
             list(importeur.salle.terrains.keys()))
     self.etendre_editeur("r", "rareté", Entier, self, "rarete", 1, 10)
     self.etendre_editeur("a", "qualité", Entier, self, "qualite", 1, 10)
コード例 #15
0
    def __init__(self, cle=""):
        """Constructeur de l'objet"""
        BaseType.__init__(self, cle)
        self.terrains = []
        self.rarete = 1
        self.qualite = 2

        # Editeurs
        self.etendre_editeur("t", "terrains", Selection, self, "terrains",
                             list(importeur.salle.terrains.keys()))
        self.etendre_editeur("r", "rareté", Entier, self, "rarete", 1, 10)
        self.etendre_editeur("a", "qualité", Entier, self, "qualite", 1, 10)
コード例 #16
0
ファイル: sac_poudre.py プロジェクト: stormi/tsunami
    def __init__(self, cle=""):
        """Constructeur de l'objet"""
        BaseType.__init__(self, cle)
        self.masculin = True
        self.onces_max_contenu = 5
        self.etendre_editeur("on", "nombre d'onces au maximum", Entier,
                self, "onces_max_contenu")
        self.etendre_editeur("ma", "genre masculin", Flag, self, "masculin")

        # Attributs propres à l'objet (non au prototype)
        self._attributs = {
            "onces_contenu": Attribut(lambda: self.onces_max_contenu),
        }
コード例 #17
0
ファイル: tonneau_eau.py プロジェクト: stormi/tsunami
    def regarder(self, personnage):
        """Quand on regarde le tonneau."""
        moi = BaseType.regarder(self, personnage)
        # Cette description peut être appelée dans une échoppe, suite à
        # l'utilisation de la commande "infos", donc self.gorgees_contenu
        # peut être absent.
        gorgees_contenu = getattr(self, "gorgees_contenu",
                self.gorgees_max_contenu)

        contenu = gorgees_contenu / self.gorgees_max_contenu
        if contenu == 0:
            retour = "Ce tonneau est vide."
        elif contenu <= 0.05:
            retour = "Ce tonneau est presque vide."
        elif contenu < 0.1:
            retour = "Un peu d'eau se trouve encore au fond de ce tonneau."
        elif contenu < 0.2:
            retour = "Il reste un fond appréciable dans ce tonneau."
        elif contenu < 0.4:
            retour = "Ce tonneau est décidément plus qu'à moitié vide."
        elif contenu < 0.6:
            retour = "Ce tonneau est à moitié vide... ou à moitié plein."
        elif contenu < 0.8:
            retour = "Ce tonneau est rempli aux trois quarts."
        elif contenu < 0.95:
            retour = "Ce tonneau est presque entièrement rempli."
        else:
            retour = "Ce tonneau est plein... ou presque."

        moi += retour
        return moi
コード例 #18
0
ファイル: armure.py プロジェクト: vlegoff/tsunami
    def regarder(self, personnage):
        """Le personnage regarde l'objet"""
        msg = BaseType.regarder(self, personnage)
        if getattr(self, "au_fourreau", None):
            msg += "Au fourreau : " + self.au_fourreau.nom_singulier

        return msg
コード例 #19
0
ファイル: armure.py プロジェクト: wkta/tsunami
    def regarder(self, personnage):
        """Le personnage regarde l'objet"""
        msg = BaseType.regarder(self, personnage)
        if getattr(self, "au_fourreau", None):
            msg += "Au fourreau : " + self.au_fourreau.nom_singulier

        return msg
コード例 #20
0
ファイル: arme.py プロジェクト: wkta/tsunami
    def __init__(self, cle=""):
        """Constructeur de l'objet"""
        BaseType.__init__(self, cle)
        self.emplacement = "mains"
        self.positions = (1, 2)
        self.degats_fixes = 5
        self.degats_variables = 0
        self.bonus_lance = 0
        self.peut_depecer = False

        # Editeurs
        self.etendre_editeur("f", "dégâts fixes", Entier, self, "degats_fixes")
        self.etendre_editeur("v", "dégâts variables", Entier, self,
                "degats_variables")
        self.etendre_editeur("bo", "bonus au lancé", Entier, self, \
                "bonus_lance", None)
        self.etendre_editeur("pe", "peut dépecer", Flag, self, "peut_depecer")
コード例 #21
0
ファイル: plateau.py プロジェクト: stormi/tsunami
    def regarder(self, personnage):
        """Quand on regarde le plateau."""
        moi = BaseType.regarder(self, personnage)
        partie = getattr(self, "partie", None)
        if partie:
            moi += "\n\n" + partie.afficher(personnage)

        return moi
コード例 #22
0
    def regarder(self, personnage):
        """Quand on regarde le plateau."""
        moi = BaseType.regarder(self, personnage)
        partie = getattr(self, "partie", None)
        if partie:
            moi += "\n\n" + partie.afficher(personnage)

        return moi
コード例 #23
0
ファイル: armure.py プロジェクト: vlegoff/tsunami
    def __init__(self, cle=""):
        """Constructeur de l'objet"""
        BaseType.__init__(self, cle)
        self.encaissement_fixe = 5
        self.encaissement_variable = 0
        self.fourreau = False
        self.fourreau_visible = True
        self.poids_max_fourreau = 1
        self.types_fourreau = []
        self._attributs = {
            "au_fourreau": Attribut(None),
        }

        # Editeurs
        self.etendre_editeur("f", "encaissement fixe", Entier, self,
                "encaissement_fixe")
        self.etendre_editeur("v", "encaissement variable", Entier, self,
                "encaissement_variable")
        self.etendre_editeur("fo", "fourreau", EdtFourreau, self, "")
コード例 #24
0
    def acheter(self, quantite, magasin, transaction):
        """Achète le grimoire."""
        objets = BaseType.acheter(self, quantite, magasin, transaction)
        acheteur = transaction.initiateur

        for objet in objets:
            objet.proprietaire = acheteur

        acheteur.envoyer_tip("Vous êtes propriétaire de ce grimoire. " \
                "Utilisez la commande %étudier% pour l'étudier.")
コード例 #25
0
ファイル: armure.py プロジェクト: wkta/tsunami
    def __init__(self, cle=""):
        """Constructeur de l'objet"""
        BaseType.__init__(self, cle)
        self.encaissement_fixe = 5
        self.encaissement_variable = 0
        self.fourreau = False
        self.fourreau_visible = True
        self.poids_max_fourreau = 1
        self.types_fourreau = []
        self._attributs = {
            "au_fourreau": Attribut(None),
        }

        # Editeurs
        self.etendre_editeur("f", "encaissement fixe", Entier, self,
                             "encaissement_fixe")
        self.etendre_editeur("v", "encaissement variable", Entier, self,
                             "encaissement_variable")
        self.etendre_editeur("fo", "fourreau", EdtFourreau, self, "")
コード例 #26
0
ファイル: tonneau_eau.py プロジェクト: stormi/tsunami
    def get_nom(self, nombre=1, pluriels=True):
        """Retourne le nom complet en fonction du nombre.

        Par exemple :
        Si nombre == 1 : retourne le nom singulier
        Sinon : retourne le nombre et le nom pluriel

        """
        if nombre <= 0:
            raise ValueError("la fonction get_nom a été appelée " \
                    "avec un nombre négatif ou nul.")
        if nombre == 1 and getattr(self, "gorgees_contenu", 1) == 0:
            return self.nom_singulier + " vide"
        else:
            return BaseType.get_nom(self, nombre, pluriels)
コード例 #27
0
ファイル: parchemin.py プロジェクト: wkta/tsunami
    def regarder(objet, personnage):
        """Le personnage regarde l'objet."""
        msg = BaseType.regarder(objet, personnage)
        if getattr(objet, "sort", False):
            de = "de"
            if objet.sort.nom[0] in ["a", "e", "i", "o", "u", "y"]:
                de = "d'"
            if objet.charges > 0:
                s = "s" if objet.charges > 1 else ""
                msg += "\nCe parchemin contient " + str(objet.charges)
                msg += " charge" + s + " du sort " + de + " " + objet.sort.nom
                msg += "."
            else:
                msg += "\nCe parchemin ne contient plus aucune charge."

        return msg
コード例 #28
0
ファイル: parchemin.py プロジェクト: stormi/tsunami
    def regarder(objet, personnage):
        """Le personnage regarde l'objet."""
        msg = BaseType.regarder(objet, personnage)
        if getattr(objet, "sort", False):
            de = "de"
            if objet.sort.nom[0] in ["a", "e", "i", "o", "u", "y"]:
                de = "d'"
            if objet.charges > 0:
                s = "s" if objet.charges > 1 else ""
                msg += "\nCe parchemin contient " + str(objet.charges)
                msg += " charge" + s + " du sort " + de + " " + objet.sort.nom
                msg += "."
            else:
                msg += "\nCe parchemin ne contient plus aucune charge."

        return msg
コード例 #29
0
    def regarder(self, personnage):
        """Le personnage regarde l'objet."""
        sort = self.sort
        if sort:
            if sort.elements[0] != personnage.element:
                return "L'ancre ondule étrangement devant vos yeux... " \
                        "vous ne pouvez lire ce parchemin."

            msg = BaseType.regarder(self, personnage)
            points = sort.points_tribut
            s = "s" if points > 1 else ""
            phrase = "Il vous faut {} point{s} de tribut pour apprendre ce " \
                    "sort.".format(points, s=s)

            msg += "\n\n" + phrase

        return msg
コード例 #30
0
ファイル: pavillon.py プロジェクト: stormi/tsunami
 def __init__(self, cle=""):
     """Constructeur de l'objet"""
     BaseType.__init__(self, cle)
     self.type_pavillon = ""
     self.etendre_editeur("y", "type de pavillon", Choix, self,
             "type_pavillon", PAVILLONS)
コード例 #31
0
ファイル: recette.py プロジェクト: vlegoff/tsunami
 def get_structure(self, structure):
     """Retourne la structure étenduee."""
     BaseType.get_structure(self, structure)
     structure.nom_recette = self.nom_recette
     structure.contenu = self.contenu.regarder(None, self)
コード例 #32
0
 def get_structure(self, structure):
     """Retourne la structure étenduee."""
     BaseType.get_structure(self, structure)
     structure.nom_recette = self.nom_recette
     structure.contenu = self.contenu.regarder(None, self)
コード例 #33
0
ファイル: barre_attache.py プロジェクト: wkta/tsunami
 def __init__(self, cle=""):
     """Constructeur de l'objet"""
     BaseType.__init__(self, cle)
     self.nb_places = 1
     self.etendre_editeur("b", "nombre de places", Entier,
             self, "nb_places")
コード例 #34
0
ファイル: barre_attache.py プロジェクト: stormi/tsunami
 def __init__(self, cle=""):
     """Constructeur de l'objet"""
     BaseType.__init__(self, cle)
     self.nb_places = 1
     self.etendre_editeur("b", "nombre de places", Entier,
             self, "nb_places")
コード例 #35
0
 def __init__(self, cle=""):
     """Constructeur de l'objet"""
     BaseType.__init__(self, cle)
     self.types_harnachement = []
     self.etendre_editeur("ty", "types d'harnachement", Selection, self,
                          "types_harnachement", TYPES_HARNACHEMENT)
コード例 #36
0
ファイル: harnachement.py プロジェクト: stormi/tsunami
 def __init__(self, cle=""):
     """Constructeur de l'objet"""
     BaseType.__init__(self, cle)
     self.types_harnachement = []
     self.etendre_editeur("ty", "types d'harnachement", Selection,
             self, "types_harnachement", TYPES_HARNACHEMENT)
コード例 #37
0
ファイル: appat.py プロジェクト: vlegoff/tsunami
 def __init__(self, cle=""):
     """Constructeur de l'objet"""
     BaseType.__init__(self, cle)
     self.qualite = 1
     self.etendre_editeur("a", "qualité", Entier, self, "qualite", 1, 10)
コード例 #38
0
ファイル: boulet.py プロジェクト: stormi/tsunami
 def __init__(self, cle=""):
     """Constructeur de l'objet"""
     BaseType.__init__(self, cle)
     self.degats = 50
     self.etendre_editeur("ts", "dégâts", Flottant,
             self, "degats", "kg")
コード例 #39
0
ファイル: ecope.py プロジェクト: vlegoff/tsunami
 def __init__(self, cle=""):
     """Constructeur de l'objet"""
     BaseType.__init__(self, cle)
     self.poids_max = 5.0
     self.etendre_editeur("ma", "poids maximum", Flottant,
             self, "poids_max")