Exemple #1
0
        public async Task Status(IUser user)
        {
            JEmbed JEmb   = new JEmbed();
            DBUser dbUser = DBFuncs.FindDBUser(user);

            JEmb.Author.Name = $"{user.Username}'s Status";
            JEmb.ColorStripe = Funcs.GetColour(user, Context.Guild);
            JEmb.Description = "Health: " + dbUser.Health + "/" + dbUser.MaxHealth;

            await Context.Channel.SendMessageAsync("", embed : JEmb.Build());
        }
Exemple #2
0
        public async Task Attack(IUser user)
        {
            DBUser attacker = DBFuncs.FindDBUser(Context.User);
            DBUser target   = DBFuncs.FindDBUser(user);

            if (target.Location == Context.Channel.Id)
            {
                await Context.Channel.SendMessageAsync($"{Context.User.Mention} attacks {user.Mention} with a power of {DBFuncs.GetPowerLVL(Context.User)}.");

                await target.Hurt(Context.Channel, DBFuncs.GetPowerLVL(Context.User));
            }
            else
            {
                await Context.Channel.SendMessageAsync("That person is not here.");
            }
        }
Exemple #3
0
        public TimerCallback Timer(DBUser target)
        {
            Random rdm = new Random();

            if (rdm.Next(100) > 30)
            {
                var emb = DBFuncs.Dialogue(this, $"{Name} attacks {target.User.Username}, doing {Power_Level} damage.");
                Place.SendMessageAsync("", embed: emb);
            }
            else
            {
                if (Skill != null)
                {
                    UseSkill(Skill, target);
                }
            }


            return(null);
        }
Exemple #4
0
        public async Task HandleCommand(SocketMessage messageParam)
        {
            var message = messageParam as SocketUserMessage;

            if (message == null)
            {
                return;
            }
            int argPos = 0;

            if (!Constants.Channels.BLOCKED_CHANNELS.Contains(message.Channel.Id))
            {
                DBUser user = DBFuncs.FindDBUser(message.Author);
                user.Location = message.Channel.Id;
                DBFuncs.SetAttribute("LOCATION", message.Author, Convert.ToString(message.Channel.Id));
            }

            //changed prefix to db! because even though bot is called shenron, its more DB in general.
            if (message.HasStringPrefix("db!", ref argPos))
            {
                if (DBFuncs.PlayerRegistered(message.Author) || message.Content.StartsWith("db!register") || message.Content.StartsWith("db!help"))
                {
                    var context = new CommandContext(client, message);
                    var result  = await commands.ExecuteAsync(context, argPos);

                    if (!result.IsSuccess)
                    {
                        Console.WriteLine(result.ErrorReason);
                    }
                }
                else
                {
                    await message.Channel.SendMessageAsync($"{message.Author.Mention}, you must register with `db!register` before using commands.");
                }
            }
            else
            {
                return;
            }
        }