コード例 #1
0
            public async Task <RuntimeResult> TagSkillsAsync(Skill tag1, Skill tag2, Skill tag3)
            {
                if (!_progOptions.UseOldProgression ||
                    !_progOptions.OldProgression.UseNewVegasRules)
                {
                    return(StatisticResult.NotUsingNewVegasRules());
                }

                var userInfo  = Context.User;
                var character = await _charService.GetCharacterAsync(userInfo.Id);

                if (character == null)
                {
                    return(CharacterResult.CharacterNotFound());
                }

                if (_skillsService.AreSkillsSet(character))
                {
                    return(StatisticResult.SkillsAlreadyTagged());
                }

                try
                {
                    await _skillsService.TagSkills(character, tag1, tag2, tag3);

                    return(GenericResult.FromSuccess(Messages.SKILLS_SET_SUCCESS));
                }
                catch (Exception e)
                {
                    return(GenericResult.FromError($"{Messages.FAILURE_EMOJI} {e.Message}"));
                }
            }