public async Task AddSkillMod(string skillName, int mod, string source, [Remainder] string name = null) { DnDPlayerCharacter player = await GetPlayerOrCurrent(name); if (player != null) { DnDCharacterSkills skill = GetSkill(skillName); if ((int)skill == -1) { await ReplyAsync("Invalid skill! Valid: athl, acro, slei, stea, arca, hist, inve, natu, reli, anim, insi, medi, perc, surv, dece, inti, perf, pers"); return; } DnDBasicCharacterInfo basicInfo = player.BasicInfo; basicInfo.SkillMods.Add(new DnDSkillModDescriptor() { SourceDescription = source, SkillMod = new DnDSkillModifier() { Skill = skill, Modifier = mod } }); player.BasicInfo = basicInfo; await ReplyAsync("Successfully added skill modifier."); } }
public async Task DeleteSkillMod(string skillName, int num, [Remainder] string name = null) { DnDPlayerCharacter player = await GetPlayerOrCurrent(name); if (player != null) { DnDCharacterSkills skill = GetSkill(skillName); if ((int)skill == -1) { await ReplyAsync("Invalid skill! Valid: athl, acro, slei, stea, arca, hist, inve, natu, reli, anim, insi, medi, perc, surv, dece, inti, perf, pers"); return; } DnDBasicCharacterInfo basicInfo = player.BasicInfo; DnDSkillModDescriptor match = basicInfo.SkillMods.Where((smd) => smd.SkillMod.Skill == skill).ElementAtOrDefault(num - 1); if (match.Equals(default(DnDSkillModDescriptor))) { await ReplyAsync("No valid modifier found. Must be a number from .listsmods " + skillName); return; } basicInfo.SkillMods.Remove(match); player.BasicInfo = basicInfo; await ReplyAsync("Successfully deleted skill modifier."); } }
public async Task DeleteSkillProficiency(string skillName, [Remainder] string name = null) { DnDPlayerCharacter player = await GetPlayerOrCurrent(name); if (player != null) { DnDCharacterSkills skill = GetSkill(skillName); if ((int)skill == -1) { await ReplyAsync("Invalid skill! Valid: athl, acro, slei, stea, arca, hist, inve, natu, reli, anim, insi, medi, perc, surv, dece, inti, perf, pers"); return; } DnDBasicCharacterInfo basicInfo = player.BasicInfo; if (!basicInfo.SkillProficiencies.Contains(skill)) { await ReplyAsync(player.Name + " does not have a proficiency in " + skill.ToString().ToLowerInvariant() + "!"); return; } basicInfo.SkillProficiencies.Remove(skill); player.BasicInfo = basicInfo; await ReplyAsync("Successfully deleted skill proficiency."); } }
public async Task DeleteAbilityMod(string ability, int num, [Remainder] string name = null) { DnDPlayerCharacter player = await GetPlayerOrCurrent(name); if (player != null) { DnDAbilityScores abilityScore = GetAbility(ability); if ((int)abilityScore == -1) { await ReplyAsync("Invalid ability score! Valid: STR, DEX, CON, INT, WIS, CHA"); return; } DnDBasicCharacterInfo basicInfo = player.BasicInfo; DnDAbilityModDescriptor match = basicInfo.AbilityMods.Where((amd) => amd.AbilityMod.Ability == abilityScore).ElementAtOrDefault(num - 1); if (match.Equals(default(DnDAbilityModDescriptor))) { await ReplyAsync("No valid modifier found. Must be a number from .listamods " + ability); return; } basicInfo.AbilityMods.Remove(match); player.BasicInfo = basicInfo; await ReplyAsync("Successfully deleted ability modifier."); } }
public async Task AddAbilityMod(string ability, int mod, string source, [Remainder] string name = null) { DnDPlayerCharacter player = await GetPlayerOrCurrent(name); if (player != null) { DnDAbilityScores abilityScore = GetAbility(ability); if ((int)abilityScore == -1) { await ReplyAsync("Invalid ability score! Valid: STR, DEX, CON, INT, WIS, CHA"); return; } DnDBasicCharacterInfo basicInfo = player.BasicInfo; basicInfo.AbilityMods.Add(new DnDAbilityModDescriptor() { SourceDescription = source, AbilityMod = new DnDAbilityModifier() { Ability = abilityScore, Modifier = mod } }); player.BasicInfo = basicInfo; await ReplyAsync("Successfully added ability modifier."); } }
public async Task SetStats(int strength, int dexterity, int constitution, int intelligence, int wisdom, int charisma, [Remainder] string name = null) { DnDPlayerCharacter player = await GetPlayerOrCurrent(name); if (player != null) { DnDBasicCharacterInfo basicInfo = player.BasicInfo; basicInfo.Strength = strength; basicInfo.Dexterity = dexterity; basicInfo.Constitution = constitution; basicInfo.Intelligence = intelligence; basicInfo.Wisdom = wisdom; basicInfo.Charisma = charisma; player.BasicInfo = basicInfo; await ReplyAsync("Successfully modified stats."); } }
public static DnDPlayerCharacter Migrate(DnDPlayerCharacter player) { if (player == null || player.Migrated) { return(player); } DnDBasicCharacterInfo basicInfo = player.BasicInfo; if (basicInfo.AbilityMods == null) { basicInfo.AbilityMods = new List <DnDAbilityModDescriptor>(); } if (basicInfo.SkillMods == null) { basicInfo.SkillMods = new List <DnDSkillModDescriptor>(); } player.BasicInfo = basicInfo; player.Migrated = true; return(player); }