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; }
public void ChoiseAttack(CommandContext ctx, CharacterEntity character, BaseMonstersEntity monster, int choise) { switch (choise) { case 1: BasicAttack(ctx, character, monster); break; } }
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)); } } }
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; }