Ejemplo n.º 1
0
        public void CalcEfeitos(StringBuilder ataquesInimigos)
        {
            // Os efeitos só podem ser ativados 1 vez.
            bool regen = false;

            // For ao contrario para poder remover o efeito sem dar erro.
            for (int i = Efeitos.Count - 1; i >= 0; i--)
            {
                switch (Efeitos[i].Tipo)
                {
                // Efeito poção de vida.
                case Enuns.RPClasse.Frasco:
                    if (regen)
                    {
                        continue;
                    }
                    regen = true;
                    Vida.Adicionar(Efeitos[i].Quantidade);
                    ataquesInimigos.AppendLine($":sparkling_heart:+{Efeitos[i].Quantidade.Text()}.".Bold());
                    if (Efeitos[i].Usar())
                    {
                        Efeitos.RemoveAt(i);
                    }
                    break;
                }
            }
        }
Ejemplo n.º 2
0
 public void Resetar()
 {
     Zona    = new RPZona();
     Efeitos = new List <RPEfeito>();
     Vida.Adicionar(double.MaxValue);
     Mana.Adicionar(double.MaxValue);
     Nivel.PersonagemMorreu();
     foreach (var frasco in Frascos)
     {
         frasco.ResetarCargas();
     }
 }
Ejemplo n.º 3
0
        public int AddExp(double exp)
        {
            int quantEvoluiu = Nivel.AddExp(exp);

            if (quantEvoluiu != 0)
            {
                CalcVida();
                CalcMana();
                CalcEvasao();
                CalcPrecisao();
                Vida.Adicionar(double.MaxValue);
                Mana.Adicionar(double.MaxValue);
            }
            return(quantEvoluiu);
        }