示例#1
0
        public static async Task PvPMainMenu(UserAccount user, IUserMessage message, IEmote emote, ContextIds idList)
        {
            switch (emote.Name.ToLower())
            {
            case "back1":
                user.RemoveAllReactionMessages(11);
                user.RemoveAllReactionMessages(1);

                await message.RemoveAllReactionsAsync();

                await message.ModifyAsync(m => { m.Embed = MonEmbedBuilder.MainMenu(user); m.Content = ""; });

                await MessageHandler.MenuEmojis(message);

                user.ReactionMessages.Add(message.Id, 1);
                break;

            case "singlebattle":
                user.RemoveAllReactionMessages(12);
                user.RemoveAllReactionMessages(11);
                user.RemoveAllReactionMessages(1);
                CombatCreationTool lobby = user.GetOrCreatePvPLobby("single", user.UserId);

                await message.RemoveAllReactionsAsync();

                string url = MessageHandler.GetImageURL(ImageGenerator.PvPSoloLobby(lobby)).Result;
                await message.ModifyAsync(m => { m.Embed = MonEmbedBuilder.PvPLobby(lobby, url, user); m.Content = ""; });

                await MessageHandler.PvPLobbyEmojis(message, user);

                user.ReactionMessages.Add(message.Id, 12);
                break;

            case "doublebattle":
                await MessageHandler.NotImplemented(idList, "double battle");

                break;

            case "ffa":
                await MessageHandler.NotImplemented(idList, "free for all");

                break;

            case "custombattle":
                await MessageHandler.NotImplemented(idList, "custom battle");

                break;

            default:
                break;
            }
        }
示例#2
0
        public static async Task PartyMenu(UserAccount user, IUserMessage message, IEmote emote, ContextIds idList)
        {
            switch (emote.Name.ToLower())
            {
            case "back1":
                user.RemoveAllReactionMessages(5);
                user.RemoveAllReactionMessages(1);

                await message.RemoveAllReactionsAsync();

                await message.ModifyAsync(m => { m.Embed = MonEmbedBuilder.MainMenu(user); m.Content = ""; });

                await MessageHandler.MenuEmojis(message);

                user.ReactionMessages.Add(message.Id, 1);
                user.Char.SwapMode   = false;
                user.Char.SwapMonNum = -1;
                break;

            case "1\u20E3":
            case "2\u20E3":
            case "3\u20E3":
            case "4\u20E3":
            case "5\u20E3":
            case "6\u20E3":
                int num = int.Parse(emote.Name.ToLower().Substring(0, 1));
                if (user.Char.Party.Count >= num)
                {
                    if (!user.Char.SwapMode)
                    {
                        await MessageHandler.NotImplemented(idList, "monstats");
                    }
                    else
                    {
                        if (user.Char.SwapMonNum == -1)
                        {
                            user.Char.SwapMonNum = num - 1;
                            await message.ModifyAsync(m => { m.Content = $"**Who should {user.Char.Party[num-1].Nickname} be swapped with?**"; });
                        }
                        else
                        {
                            if (num - 1 != user.Char.SwapMonNum)
                            {
                                BasicMon temp = user.Char.Party[num - 1];
                                user.Char.Party[num - 1] = user.Char.Party[user.Char.SwapMonNum];
                                user.Char.Party[user.Char.SwapMonNum] = temp;
                                string url = MessageHandler.GetImageURL(ImageGenerator.PartyMenu(user.Char.Party)).Result;
                                await message.ModifyAsync(m => { m.Embed = MonEmbedBuilder.PartyMenu(url, user); m.Content = ""; });

                                user.Char.SwapMode   = false;
                                user.Char.SwapMonNum = -1;
                            }
                        }
                    }
                }

                break;

            case "swap":
                if (!user.Char.SwapMode)
                {
                    await message.ModifyAsync(m => { m.Content = "**Swapping Mode Enabled**"; });

                    user.Char.SwapMode   = true;
                    user.Char.SwapMonNum = -1;
                }
                else
                {
                    //Careful- m.Content string has an invisible EMPTY CHARACTER in it. Looks like this -->‎
                    await message.ModifyAsync(m => { m.Content = "‎"; });

                    user.Char.SwapMode   = false;
                    user.Char.SwapMonNum = -1;
                }
                break;

            default:
                break;
            }
        }
示例#3
0
        public static async Task MainMenu(UserAccount user, IUserMessage message, IEmote emote, ContextIds idList)
        {
            switch (emote.Name.ToLower())
            {
            case "location":
                await MessageHandler.NotImplemented(idList, "location");

                break;

            case "snoril":
                user.RemoveAllReactionMessages(1);
                user.RemoveAllReactionMessages(5);

                await message.RemoveAllReactionsAsync();

                string url = MessageHandler.GetImageURL(ImageGenerator.PartyMenu(user.Char.Party)).Result;
                await message.ModifyAsync(m => { m.Embed = MonEmbedBuilder.PartyMenu(url, user); m.Content = ""; });

                await MessageHandler.PartyMenuEmojis(message, user);

                user.ReactionMessages.Add(message.Id, 5);
                break;

            case "bag":
                await MessageHandler.NotImplemented(idList, "bag");

                break;

            case "dex":
                await MessageHandler.NotImplemented(idList, "dex");

                break;

            case "team":
                user.RemoveAllReactionMessages(7);
                user.RemoveAllReactionMessages(8);
                user.RemoveAllReactionMessages(9);
                user.RemoveAllReactionMessages(1);

                await message.RemoveAllReactionsAsync();

                await message.ModifyAsync(m => { m.Embed = MonEmbedBuilder.TeamMenu(user); m.Content = ""; });

                await MessageHandler.TeamMenuEmojis(message, user);

                //Reactionmessage added within TeamMenuEmojis() method
                break;

            case "pvp":
                user.RemoveAllReactionMessages(11);
                user.RemoveAllReactionMessages(1);

                if (user.HasLobby())
                {
                    CombatCreationTool lobby = user.GetOrCreatePvPLobby("single", user.UserId);

                    await message.RemoveAllReactionsAsync();

                    string url2 = MessageHandler.GetImageURL(ImageGenerator.PvPSoloLobby(lobby)).Result;
                    await message.ModifyAsync(m => { m.Embed = MonEmbedBuilder.PvPLobby(lobby, url2, user); m.Content = ""; });

                    await MessageHandler.PvPLobbyEmojis(message, user);

                    user.ReactionMessages.Add(message.Id, 12);
                }
                else
                {
                    await message.RemoveAllReactionsAsync();

                    await message.ModifyAsync(m => { m.Embed = MonEmbedBuilder.PvPMainMenu(user); m.Content = ""; });

                    await MessageHandler.PvPMainMenuEmojis(message);

                    user.ReactionMessages.Add(message.Id, 11);
                }
                break;

            case "settings":
                await MessageHandler.NotImplemented(idList, "settings");

                break;

            default:
                break;
            }
        }