예제 #1
0
        public async Task Skills(SocketReaction reaction, IUserMessage msg)
        {
            if (player.skillPoints > 0)
            {
                bool changes = true;
                switch (reaction.Emote.ToString())
                {
                case "🇪":
                    player.stats.endurance++;
                    player.skillPoints--;
                    break;

                case "🇮":
                    player.stats.intelligence++;
                    player.skillPoints--;
                    break;

                case "🇸":
                    player.stats.strength++;
                    player.skillPoints--;
                    break;

                case "🇨":
                    player.stats.charisma++;
                    player.skillPoints--;
                    break;

                case "🇩":
                    player.stats.dexterity++;
                    player.skillPoints--;
                    break;

                case "🇵":
                    player.stats.perception++;
                    player.skillPoints--;
                    break;

                default:
                    changes = false;
                    break;
                }
                if (changes)
                {
                    player.SaveFileMongo();
                    await TryMSGDel(msg);

                    if (player.skillPoints == 0)
                    {
                        await GameCommands.ViewXP(player, reaction.Channel);
                    }
                    else
                    {
                        await GameCommands.SkillUpgradePage(player, reaction.Channel);
                    }
                }
            }
        }
예제 #2
0
        public async Task Click(SocketReaction reaction, IUserMessage msg, Player argplayer)
        {
            this.player   = argplayer;
            this._channel = reaction.Channel;
            this.message  = msg;

            switch (reaction.Emote.ToString())
            {
            case inv:
                await GameCommands.DisplayInventory(player, reaction.Channel, 0);

                break;

            case sheet:
                await GameCommands.SheetDisplay(player, reaction.Channel);

                break;

            case xp:
                await GameCommands.ViewXP(player, reaction.Channel);

                break;

            case explore:
                await Commands.Areas.Exploration(player, reaction.Channel);

                break;

            case tpost:
                await Commands.Areas.ViewJunctions(player, reaction.Channel, 0);

                break;

            case ability:
                await GameCommands.Abilities(player, reaction.Channel);

                break;

            case enterFloor:
                await EnterFloor(null, reaction.Channel);

                break;

            case loot:
            {
                if (type == MsgType.Loot)
                {
                    await Loot(reaction, msg);
                }
                else
                {
                    int.TryParse(data, out int page);
                    await InventoryCommands.Inventory.ViewLoot(player, reaction.Channel, page);
                }
            } break;

            case schem:
                await GameCommands.ViewSchems(player, reaction.Channel);

                break;

            case stats:
                await GameCommands.ShortStatsDisplay(player, reaction.Channel);

                break;

            default:
                await Click2(reaction, msg);

                break;
            }
        }