public void CreateCharacter(Library.Character character, IEnumerable <int> skills) { var skillManager = new SkillManager(); var modManager = new ModifierManager(); SetSpeed(character); SetMaxHp(character); var stats = new Library.CharStats(); stats.CharacterID = character.CharacterID; stats.HP = character.MaxHP; stats.PB = 2; modManager.SetModifiers(character, stats); SetSavingThrows(character, stats); skillManager.SetSkills(stats); skillManager.UpdateSkills(skills.ToList(), stats); AddCharacter(character); Save(); AddCharStats(stats); Save(); }
public Library.Character SeedCharacter() { var character = new Library.Character { Name = "Test", Bio = "Stuff", CampaignID = 1, UserId = 1, RaceID = 1, ClassID = 1, Experience = 0, Level = 1, Str = 1, Dex = 8, Con = 12, Int = 15, Wis = 11, Cha = 5, Speed = 1, MaxHP = 1 }; return(character); }
public void SetRolls(IEnumerable <int> rolls, Library.Character character) { var attributes = rolls.ToList(); character.Str = attributes[0]; character.Dex = attributes[1]; character.Con = attributes[2]; character.Int = attributes[3]; character.Wis = attributes[4]; character.Cha = attributes[5]; }
public void AddCharacter(Library.Character character) { if (character != null) { _db.Add(Mapper.Map(character)); } else { throw new ArgumentNullException(); } }
public void SetMaxHp(Library.Character character) { if (_db.Class.Any(c => c.ClassId == character.ClassID)) { character.MaxHP = _db.Class.First(c => c.ClassId == character.ClassID).Hd; } else { throw new ArgumentException("No class with this ID exists."); } }
public void SetSavingThrows(Library.Character character, Library.CharStats stats) { if (character != null && stats != null) { var proficiency = GetSavingThrowProficiency(character.ClassID).ToList(); int pb = stats.PB; stats.STR_Save = CalculateSavingThrow(stats.STR_Mod, pb, proficiency[0]); stats.DEX_Save = CalculateSavingThrow(stats.DEX_Mod, pb, proficiency[1]); stats.CON_Save = CalculateSavingThrow(stats.CON_Mod, pb, proficiency[2]); stats.INT_Save = CalculateSavingThrow(stats.INT_Mod, pb, proficiency[3]); stats.WIS_Save = CalculateSavingThrow(stats.WIS_Mod, pb, proficiency[4]); stats.CHA_Save = CalculateSavingThrow(stats.CHA_Mod, pb, proficiency[5]); } else { throw new ArgumentNullException("Character cannot be null..."); } }
public void SetSpeed(Library.Character character) { if (_db.Race.Any(r => r.RaceId == character.RaceID)) { if (character.RaceID == 1 || character.RaceID == 4 || character.RaceID == 5) { character.Speed = 20; } else { character.Speed = 30; } } else { throw new ArgumentException("No race with this ID exists."); } }
public void SetModifiers(Library.Character character, Library.CharStats stats) { if (character != null && stats != null) { stats.STR_Mod = CalculateModifier(character.Str); stats.DEX_Mod = CalculateModifier(character.Dex); stats.CON_Mod = CalculateModifier(character.Con); stats.INT_Mod = CalculateModifier(character.Int); stats.WIS_Mod = CalculateModifier(character.Wis); stats.CHA_Mod = CalculateModifier(character.Cha); stats.AC = 10 + stats.DEX_Mod; character.MaxHP += stats.CON_Mod; } else { throw new ArgumentNullException("Character cannot be null..."); } }
public static Character Map(Library.Character character) => new Character { CharacterId = character.CharacterID, Name = character.Name, Bio = character.Bio, UsersId = character.UserId, CampaignId = character.CampaignID, RaceId = character.RaceID, ClassId = character.ClassID, Experience = (int)character.Experience, Level = (int)character.Level, Str = character.Str, Dex = character.Dex, Con = character.Con, Int = character.Int, Wis = character.Wis, Cha = character.Cha, Speed = character.Speed, MaxHp = character.MaxHP };
public Library.CharStats SeedCharStats(Library.Character character) { var stats = new Library.CharStats { CharacterID = 1, HP = character.MaxHP, AC = 16, PB = 2, Gold = 0, STR_Mod = -5, DEX_Mod = -1, CON_Mod = 1, INT_Mod = 2, WIS_Mod = 0, CHA_Mod = -3 }; return(stats); }
public void RollsSetProperly() { var rand = new RngProvider(); var roller = new RollManager(rand); var character = new Library.Character(); List <int> rolls = new List <int>() { 5, 18, 10, 11, 12, 14 }; roller.SetRolls(rolls, character); // Assert Assert.Equal(5, character.Str); Assert.Equal(18, character.Dex); Assert.Equal(10, character.Con); Assert.Equal(11, character.Int); Assert.Equal(12, character.Wis); Assert.Equal(14, character.Cha); }