Пример #1
0
        public async Task ComandoLocalAb(CommandContext ctx)
        {
            await ctx.TriggerTypingAsync();

            var jogador = ModuloBanco.GetJogador(ctx);

            if (ModuloBanco.TryGetRegiao(jogador, out var localAtual))
            {
                DiscordEmbedBuilder embed = new DiscordEmbedBuilder().Padrao("Área", ctx);

                StringBuilder saidas = new StringBuilder();
                foreach (var reg in localAtual.Saidas)
                {
                    saidas.AppendLine(reg.FirstUpper());
                }
                embed.AddField("Conectado á".Titulo(), saidas.ToString(), true);
                embed.WithTitle(localAtual.Nome.FirstUpper());
                embed.WithDescription(string.IsNullOrEmpty(localAtual.Descricao) == true ? "Sem descrição" : localAtual.Descricao);

                await ctx.RespondAsync(embed : embed.Build());
            }
            else
            {
                await ctx.RespondAsync($"Área ainda não adicionado no banco de dados, será adicionado em breve {ctx.User.Mention}!");
            }
        }
Пример #2
0
 private void BtnRemover_Click(object sender, EventArgs e)
 {
     if (dgvListaChamada.CurrentRow != null && dgvListaChamada.Rows.Count > 0)
     {
         int selectedIndex = dgvListaChamada.CurrentCell.RowIndex;
         if (selectedIndex > -1)
         {
             if (MessageBox.Show("Você tem certeza que deseja remover este aluno?", "Removendo..", MessageBoxButtons.YesNo) == DialogResult.Yes)
             {
                 ulong ra = (ulong)dgvListaChamada.Rows[selectedIndex].Cells[0].Value;
                 foreach (var item in _Alunos)
                 {
                     if (item.RA == ra)
                     {
                         _Alunos.Remove(item);
                         _ListaChamada.ListaRA.Remove(item.RA);
                         ModuloBanco.ListaChamadaEdit(_ListaChamada.Id, _ListaChamada);
                         break;
                     }
                 }
             }
             else
             {
                 return;
             }
         }
     }
 }
Пример #3
0
        public async Task ViajarAbAsync(CommandContext ctx, [RemainingText] string area = "")
        {
            await ctx.TriggerTypingAsync();

            if (string.IsNullOrWhiteSpace(area))
            {
                await ctx.ExecutarComandoAsync("ajuda viajar");

                return;
            }
            area = area.ToLower();
            var jogador = ModuloBanco.GetJogador(ctx);

            if (ModuloBanco.TryGetRegiao(jogador, out var regiao))
            {
                if (regiao.Saidas.Contains(area))
                {
                    jogador.Batalha     = new RPGBatalha();
                    jogador.RegiaoAtual = area;
                    jogador.Salvar();
                    await ctx.RespondAsync($"Você foi para [{area.FirstUpper()}] {ctx.User.Mention}!".Bold());
                }
                else
                {
                    await ctx.RespondAsync($"Área {area.FirstUpper()} não encontrada {ctx.User.Mention}!");
                }
            }
            else
            {
                await ctx.RespondAsync($"Área ainda não adicionado no banco de dados, será adicionado em breve {ctx.User.Mention}!");
            }
        }
Пример #4
0
 public void Salvar()
 {
     if (QuantidadeParaColetar == 0)
     {
         ModuloBanco.ColecaoVenda.DeleteOne(x => x.JogadorId == this.JogadorId);
         return;
     }
     ModuloBanco.EditVenda(this);
 }
Пример #5
0
        public async Task AdicionarItem(CommandContext ctx, int quantidade = 1, [RemainingText] string itemNome = "")
        {
            await ctx.TriggerTypingAsync();

            var usuario = ModuloBanco.GetJogador(ctx);

            usuario.Mochila.AdicionarItem(itemNome.ToLower(), quantidade);
            usuario.Salvar();
            await ctx.RespondAsync($"Adicionado {quantidade} [{itemNome.ToLower().FirstUpper()}]!");
        }
Пример #6
0
        public async Task ComandoUsarAb(CommandContext ctx, int quantidade, [RemainingText] string itemNome = "")
        {
            await ctx.TriggerTypingAsync();

            if (quantidade <= 0)
            {
                await ctx.ExecutarComandoAsync("ajuda usar");

                return;
            }

            if (string.IsNullOrEmpty(itemNome))
            {
                await ctx.ExecutarComandoAsync("ajuda usar");

                return;
            }

            var usuario = ModuloBanco.GetJogador(ctx);

            itemNome = itemNome.ToLower();

            if (usuario.Mochila.TryGetValue(itemNome, out var itemData))
            {
                if (quantidade > itemData)
                {
                    await ctx.RespondAsync($"{ctx.User.Mention} você somente tem {itemData} [{itemNome.FirstUpper()}] na mochila!".Bold());

                    return;
                }
                ModuloBanco.TryGetItem(itemNome, out var item);
                switch (item.Tipo)
                {
                case EnumTipo.Pocao:
                    usuario.Mochila.RemoverItem(itemNome, quantidade);
                    string vidaRestaura    = usuario.RecuperarVida(item.VidaRestaura * quantidade).Text();
                    string magiaRestaurada = usuario.RecuperarMagia(item.MagiaRestaura * quantidade).Text();
                    usuario.Salvar();
                    await ctx.RespondAsync($"{ctx.User.Mention} você usou {quantidade} [{item.Nome}]! Restaurado {Emojis.PontosVida} {vidaRestaura} e {Emojis.PontosPoder} {magiaRestaurada}!".Bold());

                    break;

                default:
                    await ctx.RespondAsync($"{ctx.User.Mention} [{item.Nome}] não é usável!");

                    break;
                }
            }
            else
            {
                await ctx.RespondAsync($"{ctx.User.Mention} {itemNome.FirstUpper()} não foi encontrado na mochila!".Bold());
            }
        }
Пример #7
0
        public async Task HabilidadeComandoAb(CommandContext ctx)
        {
            await ctx.TriggerTypingAsync();

            var jogador = ModuloBanco.GetJogador(ctx);
            DiscordEmbedBuilder embed = new DiscordEmbedBuilder().Padrao("Proficiencia", ctx);

            embed.WithDescription($"Pontos disponíveis: {jogador.ProficienciaPontos}".Bold());
            foreach (var item in jogador.Proficiencias)
            {
                embed.AddField(item.Value.Nome.ToString().Titulo().Bold(), $"{item.Value.Pontos}".Bold(), true);
            }
            await ctx.RespondAsync(embed : embed.Build());
        }
Пример #8
0
        public async Task AdicionarXP(CommandContext ctx, int quantidade = 1, DiscordUser discordUser = null)
        {
            if (discordUser == null)
            {
                discordUser = ctx.User;
            }
            await ctx.TriggerTypingAsync();

            var jogador = ModuloBanco.GetJogador(discordUser);

            jogador.AdicionarExp(quantidade);
            jogador.Salvar();
            await ctx.RespondAsync($"Adicionado {quantidade}XP para {discordUser.Mention}!");
        }
Пример #9
0
        public async Task Desbloquear(CommandContext ctx, DiscordUser user = null)
        {
            if (user == null)
            {
                return;
            }
            await ctx.TriggerTypingAsync();

            var jogador = ModuloBanco.GetJogador(user);

            jogador.Bloqueado = false;
            jogador.Salvar();
            await ctx.RespondAsync("Desbloqueado!");
        }
Пример #10
0
        public async Task ComandoMochilaAb(CommandContext ctx, int pagina = 0)
        {
            await ctx.TriggerTypingAsync();

            if (pagina < 0)
            {
                await ctx.ExecutarComandoAsync("ajuda mochila");

                return;
            }

            var jogador = ModuloBanco.GetJogador(ctx);

            DiscordEmbedBuilder embed = new DiscordEmbedBuilder().Padrao("Mochila", ctx);

            embed.WithColor(DiscordColor.Purple);
            if (jogador.Mochila == null)
            {
                jogador.Mochila = new RPGMochila();
            }
            if (jogador.Mochila.Count == 0)
            {
                embed.WithDescription("Nem um farelo dentro.");
            }
            else
            {
                StringBuilder str         = new StringBuilder();
                int           index       = pagina * 10;
                int           quantidades = 0;

                for (int i = pagina * 10; i < jogador.Mochila.Count; i++)
                {
                    var item = jogador.Mochila.Values[index];
                    str.AppendLine($"{item} - {jogador.Mochila.Keys[index].FirstUpper()}".Bold());
                    index++;
                    quantidades++;
                    if (quantidades == 10)
                    {
                        break;
                    }
                }
                embed.WithDescription(str.ToString());
                embed.WithFooter($"Página {pagina} | {jogador.Mochila.Count} Itens diferentes");
            }
            await ctx.RespondAsync(embed : embed.Build());
        }
Пример #11
0
        public RPGVenda(ulong id, int preco, int quantidade, string nome)
        {
            if (ModuloBanco.TryGetVenda(id, out var vendas))
            {
                this.Slot = vendas.Count;
            }
            else
            {
                this.Slot = 0;
            }
            this.JogadorId             = id;
            this.Preco                 = preco;
            this.Quantidade            = quantidade;
            this.ItemNome              = nome;
            this.QuantidadeParaColetar = 0;

            ModuloBanco.ColecaoVenda.InsertOne(this);
        }
Пример #12
0
        public async Task ComandoExplorarAb(CommandContext ctx)
        {
            await ctx.TriggerTypingAsync();

            var    jogador         = ModuloBanco.GetJogador(ctx);
            var    vidaSorteada    = Sortear.Valor(3, 4);
            var    danoSoorteado   = Sortear.Valor(7, 10);
            var    personGenerator = new PersonNameGenerator();
            RPGMob mob             = new RPGMob((jogador.AtaqueFisicoBase + jogador.AtaqueFisicoExtra) * vidaSorteada)
            {
                Nome         = personGenerator.GenerateRandomFirstName(),
                AtaqueFisico = jogador.VidaMaxima / danoSoorteado,
            };

            jogador.Batalha = new RPGBatalha(mob);
            jogador.Salvar();
            await ctx.RespondAsync($"{ctx.User.Mention} você explorou! Encontrou: < {mob.Nome.Underline()} >!".Bold());
        }
Пример #13
0
 private void BtnCriar_Click(object sender, EventArgs e)
 {
     if (CheckTextBox(txtNomeLista))
     {
         MessageBox.Show("Você precisa adicionar um nome a lista de chamda antes!");
         return;
     }
     _ListaChamada.NomeLista = txtNomeLista.Text;
     ModuloBanco.ListaChamadaAdd(_ListaChamada);
     btnCriar.Visible      = false;
     txtNomeLista.ReadOnly = true;
     txtRa.ReadOnly        = false;
     txtNome.ReadOnly      = false;
     btnAdicionar.Visible  = true;
     txtNomeLista.TabStop  = false;
     btnRemover.Visible    = true;
     label6.Visible        = true;
 }
Пример #14
0
 private void TxtRa_Leave(object sender, EventArgs e)
 {
     ulong.TryParse(txtRa.Text, out ulong ra);
     if (ra == 0)
     {
         return;
     }
     else
     {
         this.UseWaitCursor = true;
         Aluno aluno = ModuloBanco.AlunoGet(ra);
         if (aluno != null)
         {
             txtNome.Text = aluno.Nome;
             btnAdicionar.Focus();
         }
         this.UseWaitCursor = false;
     }
 }
        private async void BtnExcluir_ClickAsync(object sender, EventArgs e)
        {
            if (dgvListaChamada.CurrentRow != null && dgvListaChamada.Rows.Count > 0)
            {
                int selectedIndex = dgvListaChamada.CurrentCell.RowIndex;
                if (selectedIndex > -1)
                {
                    ObjectId id = (ObjectId)dgvListaChamada.Rows[selectedIndex].Cells[0].Value;
                    if (MessageBox.Show("Você tem certeza que deseja deletar esta lista de chamada?", "Deletando lista...", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        ModuloBanco.ListaChamadaDel(id);
                        var min = mc.SelectionStart;
                        var max = mc.SelectionEnd;
                        this.UseWaitCursor = true;
                        List <ListaChamada> ListaResultadoPesquisa = await ModuloBanco.ListaChamadaColecao.Find(
                            x => x.DataCriacao >= min &&
                            x.DataCriacao <= max
                            ).ToListAsync();

                        List <ListaParaEditar> list = new List <ListaParaEditar>();
                        foreach (var listas in ListaResultadoPesquisa)
                        {
                            ListaParaEditar l = new ListaParaEditar();
                            l.Id     = listas.Id;
                            l.Alunos = listas.ListaRA.Count;
                            l.Dia    = listas.DataCriacao;
                            l.Nome   = listas.NomeLista;
                            list.Add(l);
                        }
                        dgvListaChamada.DataSource = list;
                        this.UseWaitCursor         = false;
                    }
                    else
                    {
                        return;
                    }
                }
            }
        }
        private async void BtnCalcular_ClickAsync(object sender, EventArgs e)
        {
            var min = mc.SelectionStart;
            var max = mc.SelectionEnd;

            double.TryParse(txtHoras.Text, out double horas);
            this.UseWaitCursor = true;
            List <ListaChamada> ListaResultadoPesquisa = await ModuloBanco.ListaChamadaColecao.Find(
                x => x.DataCriacao >= min &&
                x.DataCriacao <= max
                ).ToListAsync();

            Dictionary <ulong, ListaHoras> listahoras = new Dictionary <ulong, ListaHoras>();

            foreach (var listas in ListaResultadoPesquisa)
            {
                foreach (var alunoRA in listas.ListaRA)
                {
                    listahoras.TryGetValue(alunoRA, out ListaHoras listaPresensa);
                    var alunoNome = ModuloBanco.AlunoGet(alunoRA);
                    if (listaPresensa != null)
                    {
                        listaPresensa.Horas    += horas;
                        listaPresensa.NomeAluno = alunoNome.Nome;
                        listaPresensa.RA        = alunoRA;
                    }
                    else
                    {
                        ListaHoras alu = new ListaHoras();
                        alu.Horas     = horas;
                        alu.NomeAluno = alunoNome.Nome;
                        alu.RA        = alunoRA;
                        listahoras.Add(alunoRA, alu);
                    }
                }
            }
            dgvListaChamada.DataSource = listahoras.Values.ToList();
            this.UseWaitCursor         = false;
        }
Пример #17
0
        public async Task MinerarAbAsync(CommandContext ctx)
        {
            await ctx.TriggerTypingAsync();

            var jogador = ModuloBanco.GetJogador(ctx);

            jogador.Proficiencias.TryGetValue(EnumProficiencia.Minerar, out var proff);
            ProficienciaMinerar minerar = proff as ProficienciaMinerar;
            int quantidade = minerar.CalcMinerioExtra();

            jogador.Equipamentos.TryGetValue(EnumTipo.Picareta, out var picareta);
            string minerio = "";

            switch (picareta)
            {
            case null:
                minerio = jogador.Mochila.AdicionarItem("pedra", quantidade);
                break;
            }
            jogador.Salvar();
            await ctx.RespondAsync($"Você minerou {quantidade} [{minerio.FirstUpper()}] {ctx.User.Mention}!".Bold());
        }
Пример #18
0
        public async Task CortarAbAsync(CommandContext ctx)
        {
            await ctx.TriggerTypingAsync();

            var jogador = ModuloBanco.GetJogador(ctx);

            jogador.Proficiencias.TryGetValue(EnumProficiencia.Cortar, out var proff);
            ProficienciaCortar cortar = proff as ProficienciaCortar;
            int quantidade            = cortar.CalcMadeiraExtra();

            jogador.Equipamentos.TryGetValue(EnumTipo.Machado, out var machado);
            string madeira = "";

            switch (machado)
            {
            case null:
                madeira = jogador.Mochila.AdicionarItem("galho", quantidade);
                break;
            }
            jogador.Salvar();
            await ctx.RespondAsync($"Você cortou {quantidade} [{madeira.FirstUpper()}] {ctx.User.Mention}!".Bold());
        }
Пример #19
0
        public async Task ComandoAtribuirAb(CommandContext ctx, int quantidade, [RemainingText] string proficienciaText = "")
        {
            await ctx.TriggerTypingAsync();

            if (string.IsNullOrEmpty(proficienciaText))
            {
                await ctx.ExecutarComandoAsync("ajuda atribuir");

                return;
            }

            if (quantidade < 0)
            {
                await ctx.ExecutarComandoAsync("ajuda atribuir");

                return;
            }

            var jogador = ModuloBanco.GetJogador(ctx.User.Id);

            if (jogador.ProficienciaPontos == 0 || jogador.ProficienciaPontos < quantidade)
            {
                await ctx.RespondAsync($"Você não tem {quantidade} ponto(s) para estar atribuindo {ctx.User.Mention}!".Bold());
            }
            else
            {
                if (jogador.TryGetProficiencia(proficienciaText, out RPGProficiencia proff))
                {
                    proff.Pontos += quantidade;
                    jogador.ProficienciaPontos -= quantidade;
                    jogador.Salvar();
                    await ctx.RespondAsync($"{quantidade} ponto(s) atribuido em {proff.Nome} {ctx.User.Mention}!".Bold());
                }
                else
                {
                    await ctx.RespondAsync($"Proficiência não encontrada {ctx.User.Mention}!".Bold());
                }
            }
        }
Пример #20
0
 private void FormLista_Load(object sender, EventArgs e)
 {
     if (Editar)
     {
         _ListaChamada       = ModuloBanco.ListaChamadaGet(Id);
         txtDataCriacao.Text = _ListaChamada.DataCriacao.ToString();
         _Alunos             = new BindingList <Aluno>();
         foreach (var item in _ListaChamada.ListaRA)
         {
             _Alunos.Add(ModuloBanco.AlunoGet(item));
         }
         dgvListaChamada.DataSource = _Alunos;
         txtRa.Focus();
         txtRa.ReadOnly        = false;
         txtNome.ReadOnly      = false;
         txtNomeLista.Text     = _ListaChamada.NomeLista;
         txtNomeLista.ReadOnly = true;
         txtNomeLista.TabStop  = false;
         btnCriar.Visible      = false;
         btnAdicionar.Visible  = true;
         btnRemover.Visible    = true;
         label6.Visible        = true;
     }
     else
     {
         txtDataCriacao.Text = DateTime.Now.ToString();
         _ListaChamada       = new ListaChamada()
         {
             Id          = ObjectId.GenerateNewId(),
             DataCriacao = DateTime.Now,
             NomeLista   = "",
             ListaRA     = new List <ulong>(),
         };
         _Alunos = new BindingList <Aluno>();
         dgvListaChamada.DataSource = _Alunos;
         txtNomeLista.Focus();
     }
 }
Пример #21
0
        public async Task ComandoPrefixoAb(CommandContext ctx, string prefix = null)
        {
            ServidorCore server = ModuloBanco.GetServidor(ctx.Guild.Id);

            if (string.IsNullOrWhiteSpace(prefix))
            {
                server.Prefix = "";
                server.Salvar();
                await ctx.RespondAsync("Prefix removido!").ConfigureAwait(false);
            }
            else
            {
                if (prefix.Length > 3)
                {
                    await ctx.RespondAsync("O prefixo não pode passar de 3 caracteres!").ConfigureAwait(false);

                    return;
                }
                server.Prefix = prefix;
                server.Salvar();
                await ctx.RespondAsync("Prefixo alterado!").ConfigureAwait(false);
            }
        }
Пример #22
0
        private void BtnAdicionar_Click(object sender, EventArgs e)
        {
            #region Checks
            if (CheckTextBox(txtNomeLista))
            {
                MessageBox.Show("Você precisa adicionar um nome a lista de chamda antes!");
                return;
            }

            if (CheckTextBox(txtRa))
            {
                MessageBox.Show("Você precisa colocar um RA!");
                return;
            }

            if (CheckTextBox(txtNome))
            {
                MessageBox.Show("Você precisa colocar um nome!");
                return;
            }
            #endregion
            this.UseWaitCursor = true;
            Aluno aluno = new Aluno()
            {
                Nome = txtNome.Text,
                RA   = Convert.ToUInt64(txtRa.Text)
            };
            foreach (var item in _Alunos)
            {
                if (item.RA == aluno.RA)
                {
                    this.UseWaitCursor = false;
                    MessageBox.Show("RA já adicionado na lista!");
                    return;
                }
            }
            Aluno nomeAlunoSalvo = ModuloBanco.AlunoGet(aluno.RA);
            if (nomeAlunoSalvo != null)
            {
                string nomef = nomeAlunoSalvo.Nome;
                if (aluno.Nome != nomef)
                {
                    this.UseWaitCursor = false;
                    if (MessageBox.Show($"O nome: '{aluno.Nome}' é diferente de '{nomef}'. Deseja salvar mesmo assim?", "Atenção, o nome é diferente!", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        this.UseWaitCursor = true;
                        _Alunos.Add(aluno);
                        _ListaChamada.ListaRA.Add(aluno.RA);
                        ModuloBanco.AlunoAdd(aluno);
                        ModuloBanco.ListaChamadaEdit(_ListaChamada.Id, _ListaChamada);
                        txtNome.Clear();
                        txtRa.Focus();
                        txtRa.Clear();
                        this.UseWaitCursor = false;
                        return;
                    }
                    else
                    {
                        return;
                    }
                }
            }

            _Alunos.Add(aluno);
            _ListaChamada.ListaRA.Add(aluno.RA);
            ModuloBanco.AlunoAdd(aluno);
            ModuloBanco.ListaChamadaEdit(_ListaChamada.Id, _ListaChamada);
            txtNome.Clear();
            txtRa.Focus();
            txtRa.Clear();
            this.UseWaitCursor = false;
        }
Пример #23
0
        public DiscordEmbedBuilder GerarStatus(DiscordUser user)
        {
            var usuario = ModuloBanco.GetJogador(user);

            RPGJogador personagem = usuario;

            DiscordEmoji pv = DiscordEmoji.FromGuildEmote(ModuloCliente.Client, 631907691467636736);
            DiscordEmoji pp = DiscordEmoji.FromGuildEmote(ModuloCliente.Client, 631907691425562674);
            DiscordEmoji pf = DiscordEmoji.FromName(ModuloCliente.Client, ":fork_and_knife:");

            DiscordEmbedBuilder embed = new DiscordEmbedBuilder();

            embed.WithAuthor($"{user.Username} - Nível {personagem.NivelAtual}", iconUrl: user.AvatarUrl);
            int combate = 0, coleta = 0, total = 0;

            foreach (var proff in usuario.Proficiencias)
            {
                total += proff.Value.Pontos;
                switch (proff.Key)
                {
                case EnumProficiencia.Ataque:
                    combate += proff.Value.Pontos;
                    break;

                case EnumProficiencia.Defesa:
                    combate += proff.Value.Pontos;
                    break;

                case EnumProficiencia.Forca:
                    combate += proff.Value.Pontos;
                    break;

                case EnumProficiencia.Minerar:
                    coleta += proff.Value.Pontos;
                    break;

                case EnumProficiencia.Cortar:
                    coleta += proff.Value.Pontos;
                    break;
                }
            }

            embed.WithDescription($"Tem {personagem.ExpAtual.Text().Bold()} pontos de experiencia e precisa de {(personagem.ExpMax - personagem.ExpAtual).Text().Bold()} para avançar.\n" +
                                  $"Matou **{usuario.MobsMortos}** e foi morto **{usuario.MortoPorMobs}** vezes por criaturas.\n" +
                                  $"Matou **{usuario.JogadoresMortos}** e foi morto **{usuario.MortoPorJogadores}** vezes por jogadores.\n" +
                                  $"Está carregando **{personagem.Mochila.Count}** itens.\n");

            embed.AddField("Info".Titulo(), $"{pv}**Vida:** {personagem.VidaAtual.Text()}/{personagem.VidaMaxima.Text()}\n" +
                           $"{pp}**Magia:** {personagem.MagiaAtual.Text()}/{personagem.MagiaMaxima.Text()}\n" +
                           $"{pf}**Fome:** {((personagem.FomeAtual / personagem.FomeMaxima) * 100).Text()}%\n", true);

            embed.AddField("Info".Titulo(), $"**Ataque físico:** {(personagem.AtaqueFisicoBase + personagem.AtaqueFisicoExtra).Text()}\n" +
                           $"**Defesa física:** {(personagem.DefesaFisicaBase + personagem.DefesaFisicaExtra).Text()}\n" +
                           $"**Defesa mágica:** {(personagem.DefesaMagicaBase + personagem.DefesaMagicaExtra).Text()}", true);

            embed.AddField("Proficiências distribuídas(PD)".Titulo(), $"**Combate:** {(((double)combate / (double)total) * 100.00).Text()}% |" +
                           $" **Coleta:** {(((double)coleta / (double)total) * 100.00).Text()}%");

            string armaP = "Nehuma";

            if (usuario.Equipamentos.TryGetValue(EnumTipo.ArmaPrimaria, out var item))
            {
                armaP = item.Nome.FirstUpper();
            }
            embed.AddField("Arma primária".Titulo(), armaP, true);

            string armaS = "Nenhum";

            if (usuario.Equipamentos.TryGetValue(EnumTipo.ArmaSecundaria, out item))
            {
                armaS = item.Nome.FirstUpper();
            }
            embed.AddField("Arma secundária".Titulo(), armaS, true);

            string elmo = "Nenhum";

            if (usuario.Equipamentos.TryGetValue(EnumTipo.Elmo, out item))
            {
                elmo = item.Nome.FirstUpper();
            }
            embed.AddField("Elmo".Titulo(), elmo, true);

            string peitoral = "Nenhum";

            if (usuario.Equipamentos.TryGetValue(EnumTipo.Peitoral, out item))
            {
                peitoral = item.Nome.FirstUpper();
            }
            embed.AddField("Peitoral".Titulo(), peitoral, true);

            string pernas = "Nenhum";

            if (usuario.Equipamentos.TryGetValue(EnumTipo.Pernas, out item))
            {
                pernas = item.Nome.FirstUpper();
            }
            embed.AddField("Pernas".Titulo(), pernas, true);

            string luvas = "Nenhum";

            if (usuario.Equipamentos.TryGetValue(EnumTipo.Luvas, out item))
            {
                luvas = item.Nome.FirstUpper();
            }
            embed.AddField("Luvas".Titulo(), luvas, true);

            string botas = "Nenhum";

            if (usuario.Equipamentos.TryGetValue(EnumTipo.Botas, out item))
            {
                botas = item.Nome.FirstUpper();
            }
            embed.AddField("Botas".Titulo(), botas, true);

            string picareta = "Nenhum";

            if (usuario.Equipamentos.TryGetValue(EnumTipo.Picareta, out item))
            {
                picareta = item.Nome.FirstUpper();
            }
            embed.AddField("Picareta".Titulo(), picareta, true);

            string machado = "Nenhum";

            if (usuario.Equipamentos.TryGetValue(EnumTipo.Machado, out item))
            {
                machado = item.Nome.FirstUpper();
            }
            embed.AddField("Machado".Titulo(), machado, true);

            return(embed);
        }
Пример #24
0
        public async Task ComandoVenderAb(CommandContext ctx, int quantidade = -1, int preco = -1, [RemainingText] string itemNome = "")
        {
            await ctx.TriggerTypingAsync();

            if (quantidade < 1)
            {
                await ctx.ExecutarComandoAsync("ajuda vender");

                return;
            }

            if (preco < 1)
            {
                await ctx.ExecutarComandoAsync("ajuda vender");

                return;
            }

            if (string.IsNullOrEmpty(itemNome))
            {
                await ctx.ExecutarComandoAsync("ajuda vender");

                return;
            }

            itemNome = itemNome.ToLower();
            if (itemNome == "zayn")
            {
                await ctx.RespondAsync($"Não é possível vender moeda por moeda {ctx.User.Mention}!");

                return;
            }

            var jogador = ModuloBanco.GetJogador(ctx);

            if (jogador.Mochila.TryGetValue(itemNome, out var quantidadeMochila))
            {
                if (quantidade > quantidadeMochila)
                {
                    await ctx.RespondAsync($"{ctx.User.Mention} você somente tem {quantidadeMochila} [{itemNome.FirstUpper()}] na mochila!".Bold());

                    return;
                }
                ModuloBanco.TryGetVenda(ctx.User.Id, out var vendas);
                if (vendas.Count >= jogador.SlotsVenda)
                {
                    await ctx.RespondAsync($"Você já anúnciou, remova a venda anterior para anúnciar novamente {ctx.User.Mention}!");

                    return;
                }

                jogador.Mochila.RemoverItem(itemNome, quantidade);
                new RPGVenda(ctx.User.Id, preco, quantidade, itemNome);
                jogador.Salvar();

                await ctx.RespondAsync($"{ctx.User.Mention} você anunciou no mercado {quantidade} [{itemNome.FirstUpper()}] por {preco} Zayn cada únidade! Aguarde algum jogador comprar o seu produto.".Bold());
            }
            else
            {
                await ctx.RespondAsync($"{ctx.User.Mention} item [{itemNome.FirstUpper()}] não foi encontrado na mochila!".Bold());
            }
        }
Пример #25
0
 private void FormMenu_Load(object sender, EventArgs e)
 {
     ModuloBanco m = new ModuloBanco();
 }
Пример #26
0
 public void Salvar() => ModuloBanco.EditServidor(this);
Пример #27
0
        public async Task ComandoExaminarAb(CommandContext ctx, [RemainingText] string nome = "")
        {
            await ctx.TriggerTypingAsync();

            if (string.IsNullOrWhiteSpace(nome))
            {
                await ctx.ExecutarComandoAsync("ajuda examinar");

                return;
            }
            var usuario = ModuloBanco.GetJogador(ctx);

            nome = nome.ToLower();
            if (usuario.Mochila.TryGetValue(nome, out var itemData))
            {
                if (ModuloBanco.TryGetItem(nome, out var item))
                {
                    DiscordEmbedBuilder embed = new DiscordEmbedBuilder().Padrao("Item", ctx);
                    embed.WithTitle($"**{item.Nome.FirstUpper()}**");
                    embed.WithDescription(item.Descricao == "" ? "Sem descrição" : item.Descricao);
                    embed.AddField("Tipo".Titulo(), item.Tipo.ToString(), true);
                    embed.AddField("Venda por".Titulo(), Convert.ToInt32(item.PrecoCompra * 0.3).ToString(), true);
                    embed.AddField("Compre por".Titulo(), (item.PrecoCompra * 10).ToString(), true);
                    StringBuilder str = new StringBuilder();
                    if (item.AtaqueFisico != 0)
                    {
                        str.AppendLine($"Ataque físico: {item.AtaqueFisico}".Bold());
                    }
                    if (item.AtaqueMagico != 0)
                    {
                        str.AppendLine($"Ataque mágico: {item.AtaqueMagico}".Bold());
                    }
                    if (item.DefesaFisica != 0)
                    {
                        str.AppendLine($"Defesa física: {item.DefesaFisica}".Bold());
                    }
                    if (item.DefesaMagica != 0)
                    {
                        str.AppendLine($"Defesa mágica: {item.DefesaMagica}".Bold());
                    }
                    if (item.FomeRestaura != 0)
                    {
                        str.AppendLine($"Restaura {item.FomeRestaura} de fome.");
                    }
                    if (item.MagiaRestaura != 0)
                    {
                        str.AppendLine($"Retaura {item.MagiaRestaura} de magia.");
                    }
                    if (item.VidaRestaura != 0)
                    {
                        str.AppendLine($"Restaura {item.VidaRestaura} de vida.");
                    }
                    if (!string.IsNullOrEmpty(str.ToString()))
                    {
                        embed.AddField("Outros".Titulo(), str.ToString());
                    }
                    embed.WithColor(DiscordColor.Green);
                    await ctx.RespondAsync(embed : embed.Build());
                }
                else
                {
                    await ctx.RespondAsync($"Item [{nome.FirstUpper()}] não adicionado no banco de dados, será adicionado em breve {ctx.User.Mention}!".Bold());
                }
            }
            else
            {
                await ctx.RespondAsync($"Item [{nome.FirstUpper()}] não encontrado na mochila examinar {ctx.User.Mention}!".Bold());
            }
        }
Пример #28
0
 public void Salvar() => ModuloBanco.EditJogador(this);
Пример #29
0
 public static void Salvar(RPGJogador jogador) => ModuloBanco.EditJogador(jogador);
Пример #30
0
        public async Task ComandoEquiparAb(CommandContext ctx, [RemainingText] string nome = "")
        {
            await ctx.TriggerTypingAsync();

            if (string.IsNullOrWhiteSpace(nome))
            {
                await ctx.ExecutarComandoAsync("ajuda equipar");

                return;
            }

            var usuario = ModuloBanco.GetJogador(ctx);

            nome = nome.ToLower();

            if (usuario.Mochila.TryGetValue(nome, out var itemData))
            {
                if (ModuloBanco.TryGetItem(nome, out var item))
                {
                    switch (item.Tipo)
                    {
                    case EnumTipo.ArmaPrimaria:
                        if (await EquiparItemAsync(ctx, usuario, item))
                        {
                            await ctx.RespondAsync($"A arma primária [{item.Nome}] foi equipada {ctx.User.Mention}!".Bold());
                        }
                        break;

                    case EnumTipo.ArmaSecundaria:
                        if (await EquiparItemAsync(ctx, usuario, item))
                        {
                            await ctx.RespondAsync($"A arma segundaria [{item.Nome}] foi equipada {ctx.User.Mention}!".Bold());
                        }
                        break;

                    case EnumTipo.Botas:
                        if (await EquiparItemAsync(ctx, usuario, item))
                        {
                            await ctx.RespondAsync($"As botas [{item.Nome}] foram equipadas {ctx.User.Mention}!".Bold());
                        }
                        break;

                    case EnumTipo.Peitoral:
                        if (await EquiparItemAsync(ctx, usuario, item))
                        {
                            await ctx.RespondAsync($"O peitoral [{item.Nome}] foi equipado {ctx.User.Mention}!".Bold());
                        }
                        break;

                    case EnumTipo.Elmo:
                        if (await EquiparItemAsync(ctx, usuario, item))
                        {
                            await ctx.RespondAsync($"O elmo [{item.Nome}] foi equipado {ctx.User.Mention}!".Bold());
                        }
                        break;

                    case EnumTipo.Luvas:
                        if (await EquiparItemAsync(ctx, usuario, item))
                        {
                            await ctx.RespondAsync($"As luvas [{item.Nome}] foram esquipadas {ctx.User.Mention}!".Bold());
                        }
                        break;

                    case EnumTipo.Picareta:
                        if (await EquiparItemAsync(ctx, usuario, item))
                        {
                            await ctx.RespondAsync($"A picareta [{item.Nome}] foi equipada {ctx.User.Mention}!".Bold());
                        }
                        break;

                    case EnumTipo.Machado:
                        if (await EquiparItemAsync(ctx, usuario, item))
                        {
                            await ctx.RespondAsync($"O machado [{item.Nome}] foi equipado {ctx.User.Mention}!".Bold());
                        }
                        break;

                    default:
                        await ctx.RespondAsync($"Este [item] não é equipavel {ctx.User.Mention}!".Bold());

                        return;
                    }
                    usuario.Salvar();
                }
                else
                {
                    await ctx.RespondAsync($"Item ainda não adicionado no banco de dados, será adicionado em breve {ctx.User.Mention}!".Bold());

                    return;
                }
            }
            else
            {
                await ctx.RespondAsync($"Você não tem este [item] {ctx.User.Mention}!".Bold());
            }
        }