Example #1
0
    def attaquer(self, cible: Personnage) -> int:
        """ Methode appelant la méthode prendrerDegat du Personnage ciblé

        Parameters
        ----------
        cible: Personnage
            Personnage ciblé

        Retourne un int pour la construction de log au moment du combat

        """

        degat = 0

        if "Kv2v2v2" in cible.getNom():

            if self._inventaire.getArme() is not None:
                if self._inventaire.getArme().getNom(
                ) == "Panzerschreck":  #attention il y a arme_ ...
                    degat = self._force + self._inventaire.getArme(
                    ).getModDegat()
                else:
                    degat = -1
            else:
                degat = -1

        else:
            if self._inventaire.getArme() is not None:
                if random.randint(
                        1, 10) > self._precision + self._inventaire.getArme(
                        ).getModPrecision():
                    return 0
            else:
                if random.randint(1, 10) > self._precision:
                    return 0

            if self._inventaire.getArme() is not None:
                degat = self._force + self._inventaire.getArme().getModDegat()
            else:
                degat = self._force

        cible.prendreDegat(degat)

        return degat