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}")); } }