Beispiel #1
0
    def criaDrop(self,dado):
        if not MestreControle.mestre(dado[0]):
            return "Você não é mestre"

        #/drop item ataque defesa
        try:
            nome = dado[1]
            ataque = int(dado[2])
            defesa = int(dado[3])
        except:
            return "Erro nos dados, /drop nome_do_item Dano Defesa"
        try:
            item = Item()
            item  = item.create(
               nome=nome,
               ataque=ataque,
               defesa=defesa
           )
        except:
            return "erro ao criar item"
        try:
           drop = Drop()
           drop.create(
               item = item.id
           )
        except:
            return "Erro ao dropar"
        return item.nome+" Atk: "+str(item.ataque)+" Def: "+str(item.defesa)
Beispiel #2
0
    def cria(self, dados):
        if not MestreControle.mestre(dados[0]):
            return "Você não é mestre"

        classe = ""
        try:
            nome = dados[1]
            nivel = int(dados[2])
        except:
            return "Erro, tente: /crianpc Nome Nivel"
        try:
            existe = Npc.get(Npc.nome == nome)
        except:

            forca = randint(1, 20) + (nivel)
            inteligencia = randint(1, 20) + (nivel)
            resiliencia = randint(1, 20) + (nivel)
            destreza = randint(1, 20) + (nivel)
            agilidade = randint(1, 20) + (nivel)
            vida = 10 * resiliencia
            try:
                npc = Npc.create(nome=nome,
                                 vida=vida,
                                 vidamax=vida,
                                 nivel=nivel,
                                 classe=classe,
                                 forca=forca,
                                 inteligencia=inteligencia,
                                 resiliencia=resiliencia,
                                 destreza=destreza,
                                 agilidade=agilidade)
            except:
                return "Erro ao criar NPC"
            return "criado: " + str(npc.nome) + " nivel: " + str(npc.nivel)
        return "Npc já existe."
Beispiel #3
0
 def deletarPersonagem(self, dados):
     if not MestreControle.mestre(dados[0]):
         return "Você não é mestre :kissing_heart:"
     try:
         personagem = Personagem.get(
             Personagem.nome == dados[1])  # type: Personagem
     except:
         return "Personagem não encontrado"
     personagem.delete_instance()
     return "%s Desapareceu do mapa " % (personagem.nome)
Beispiel #4
0
 def levelup(self, dados):
     if not MestreControle.mestre(dados[0]):
         return "Você não é mestre :kissing_heart:"
     try:
         personagem = Personagem.get(
             Personagem.nome == dados[1])  # type: Personagem
     except:
         return "Personagem não encontrado"
     personagem.pontos += 5
     personagem.vida = personagem.vidamax
     personagem.nivel += 1
     personagem.save()
     return "%s nivel: %d possui: %d pontos não distibuidos" % (
         personagem.nome, personagem.nivel, personagem.pontos)
Beispiel #5
0
    def ataquenpc(self, dados):
        if not MestreControle.mestre(dados[0]):
            return "Você não é mestre"

        defesa = 0
        dano = 0
        npc = False
        try:
            npc = dados[1]
            atacado = dados[2]
        except:
            return "Erro tente: /npcataque npc personagem"
        try:
            self.atacante = Npc.get(Npc.nome == npc)
        except :
            
            return "ERRO, " + npc + " não é um npc"
        try:
            self.atacado = Npc.get(Npc.nome == atacado)
            defesa = self.atacado.resiliencia
            npc = True
        except:
            try:
                self.atacado = Personagem.get(Personagem.nome == atacado)
                try:
                    defesa = self.defesa()
                except :
                    return "Erro na defesa"
            except :
                return "Erro: " + atacado + " inexistente"
        dex = self.atacante.destreza + randint(1, 20)
        agi = self.atacado.agilidade + randint(1, 20)
        if (agi > dex):
            return "%s Esquivou de %s\n[AGI: %d, DEX: %d]" %(self.atacado.nome,self.atacante.nome,agi,dex)
        dano = (self.atacante.forca + randint(1, self.atacante.nivel))
        dmg = (dano - defesa)
        if dmg > 0:
            self.atacado.vida = self.atacado.vida - dmg
            if self.atacado.save():
                resultado = str(self.atacado.nome) + " recebeu " + str(dmg) + " e ficou com: " + str(
                    self.atacado.vida) + " de vida"
                if self.atacado.vida <= 0:
                    resultado += "\n %s morreu." % self.atacado.nome
                    if npc:
                        self.atacado.delete_instance()
                return resultado
        else:
            return "%s não teve dano suficiente para atingir %s [atk/def](%d/%d)" % (
            self.atacante.nome, self.atacado.nome, dano, defesa)
Beispiel #6
0
 def darPontos(self, dados):
     # /doar personagem quantidade
     if not MestreControle.mestre(dados[0]):
         return "Você não é mestre :kissing_heart:"
     try:
         quantidade = int(dados[2])
     except:
         return "Errp, tente: /doar personagem quantidade"
     try:
         personagem = Personagem.get(
             Personagem.nome == dados[1])  # type: Personagem
     except:
         return "Personagem não encontrado"
     personagem.pontos += quantidade
     personagem.save()
     return "%s, %d possui: %d pontos não distibuidos" % (personagem.nome,
                                                          personagem.pontos)
Beispiel #7
0
    def cria(self, dados):
        if not MestreControle.mestre(dados[0]):
            return "Você não é mestre"

        try:
            nome = dados[1]
            dificuldade = int(dados[2])
            descricao = ' '.join(map(str, dados[3:]))
        except:
            return "Erro, tente: /criaobjeto Nome Dificuldade(1 a 20) descrição "
        try:
            objeto = Objetos.create(nome=nome,
                                    dificuldade=dificuldade,
                                    descricao=descricao)
        except:
            return "erro ao criar Objeto"
        return objeto.nome + ": " + objeto.descricao + " dificuldade: " + str(
            objeto.dificuldade)