public void AddMagicAttackStatus(BaseMonstersEntity monster)
        {
            monster.MagicAttack.MaxValuePoints = (monster.MonsterAtributes.Inteligencia.CurrentValuePoints * 3.00) + 5.00;

            monster.MonsterManaPoints.MaxValuePoints         += 8.00;
            monster.MonsterManaPoints.CurrentOrMinValuePoints = monster.MonsterManaPoints.MaxValuePoints;
        }
        public void AddManaStatus(BaseMonstersEntity monster)
        {
            monster.MonsterManaPoints.MaxValuePoints         += (monster.MonsterAtributes.Sabedoria.CurrentValuePoints * 3.00) + 30.00;
            monster.MonsterManaPoints.CurrentOrMinValuePoints = monster.MonsterManaPoints.MaxValuePoints;

            monster.MagicAttack.MaxValuePoints += 1.50;
        }
Ejemplo n.º 3
0
 public void ChoiseAttack(CommandContext ctx, CharacterEntity character, BaseMonstersEntity monster, int choise)
 {
     switch (choise)
     {
     case 1:
         BasicAttack(ctx, character, monster);
         break;
     }
 }
Ejemplo n.º 4
0
        public async Task Battle(CommandContext ctx, BaseMonstersEntity monster, PlayerEntity player, string battleMessageAccepted)
        {
            string battleAccepted = battleMessageAccepted;
            var    embed          = new DiscordEmbedBuilder();

            if (ctx.Message.Author.Id == player.PlayerId && (battleAccepted.ToLower() == "sim" || battleAccepted.ToLower() == "s"))
            {
                embed.WithDescription($"Batalha iniciada entre {player.NamePlayer} e {monster.MonsterName}\n" +
                                      $"🎲🎲 rolando os dados para ver quer ira começar 🎲🎲");
                await ctx.RespondAsync(embed.Build());

                int playerDice  = new Random().Next(1, 20);
                int monsterDice = new Random().Next(1, 20);
                var ganhador    = playerDice > monsterDice ? player.NamePlayer : monster.MonsterName;

                embed = new DiscordEmbedBuilder();
                embed.WithDescription($"{player.NamePlayer} tirou: {playerDice}\n" +
                                      $"{monster.MonsterName} tirou: {monsterDice}\n" +
                                      $"O iniciante será {ganhador}");
                embed.WithFooter("Se você for quem ira começar, faça seu ataque em ate 1 minuto");
                await ctx.RespondAsync(embed.Build());

                var battleInteractivity = ctx.Client.UseInteractivity().WaitForMessageAsync(x => x.Author.Id == player.PlayerId && x.ChannelId == ctx.Channel.Id);

                if (ganhador == monster.MonsterName)
                {
                    _monsterAttacks.MonsterChoises(ctx, monster, player.MyCharacter);
                }
                else
                {
                    embed = new DiscordEmbedBuilder();
                    embed.WithDescription("Escolha seus ataques: \n" +
                                          "1: ataque básico");
                    await ctx.RespondAsync(embed.Build());

                    var playerChoise = await ctx.Client.GetInteractivity().WaitForMessageAsync(x => x.Author.Id == ctx.User.Id && x.ChannelId == ctx.Channel.Id);

                    _playerAttacks.ChoiseAttack(ctx, player.MyCharacter, monster, int.Parse(playerChoise.Result.Content));
                }
            }
        }
Ejemplo n.º 5
0
        public BaseMonstersEntity BasicAttack(CommandContext ctx, CharacterEntity character, BaseMonstersEntity monster)
        {
            var baseAtaque = new Random().Next(5, 15) + new Random().Next((int)character.PhysicalAttack.CurrentOrMinValuePoints, (int)character.PhysicalAttack.MaxValuePoints);

            var armor = new Random().Next(5, 10) + new Random().Next((int)monster.Armor.CurrentOrMinValuePoints, (int)monster.Armor.MaxValuePoints);

            monster.MonsterLifePoints.CurrentOrMinValuePoints -= baseAtaque / (1 + armor / 100);

            return(monster);
        }
 public void AddPersuationStatus(BaseMonstersEntity monster)
 {
     monster.Persuation.MaxValuePoints = (monster.MonsterAtributes.Carisma.CurrentValuePoints * 3.00) + 10.00;
 }
 public void AddEvasionStatus(BaseMonstersEntity monster)
 {
     monster.Evasion.MaxValuePoints = (monster.MonsterAtributes.Agilidade.CurrentValuePoints * 3.00) + 10.00;
 }
 public void AddLuckStatus(BaseMonstersEntity monster)
 {
     monster.Luck.MaxValuePoints = (monster.MonsterAtributes.Sorte.CurrentValuePoints * 3.00) + 10.00;
 }
 public void AddPhysicalAttackStatus(BaseMonstersEntity monster)
 {
     monster.PhysicalAttack.MaxValuePoints = (monster.MonsterAtributes.Forca.CurrentValuePoints * 3.00) + 5.00;
 }
 public void AddLifeStatus(BaseMonstersEntity monster)
 {
     monster.MonsterLifePoints.MaxValuePoints         += (monster.MonsterAtributes.Vitalidade.CurrentValuePoints * 3.00) + 30.00;
     monster.MonsterLifePoints.CurrentOrMinValuePoints = monster.MonsterLifePoints.MaxValuePoints;
 }