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 void SetSkills(Library.CharStats stats) { //STR stats.Athletics = stats.STR_Mod; //DEX stats.Acrobatics = stats.DEX_Mod; stats.SleightOfHand = stats.DEX_Mod; stats.Stealth = stats.DEX_Mod; //INT stats.Arcana = stats.INT_Mod; stats.History = stats.INT_Mod; stats.Investigation = stats.INT_Mod; stats.Nature = stats.INT_Mod; stats.Religion = stats.INT_Mod; //WIS stats.AnimalHandling = stats.WIS_Mod; stats.Insight = stats.WIS_Mod; stats.Medicine = stats.WIS_Mod; stats.Perception = stats.WIS_Mod; stats.Survival = stats.WIS_Mod; //CHA stats.Deception = stats.CHA_Mod; stats.Intimidation = stats.CHA_Mod; stats.Persuasion = stats.CHA_Mod; stats.Performance = stats.CHA_Mod; }
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 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 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 static CharStats Map(Library.CharStats c) => new CharStats { CharacterId = c.CharacterID, Hp = c.HP, Ac = c.AC, Pb = c.PB, Gold = c.Gold, Acrobatics = c.Acrobatics, AnimalHandling = c.AnimalHandling, Arcana = c.Arcana, Athletics = c.Athletics, Deception = c.Deception, History = c.History, Insight = c.Insight, Investigation = c.Investigation, Intimidation = c.Intimidation, Medicine = c.Medicine, Nature = c.Nature, Perception = c.Perception, Performance = c.Performance, Persuasion = c.Persuasion, Religion = c.Religion, SleightOfHand = c.SleightOfHand, Stealth = c.Stealth, Survival = c.Survival, StrSave = c.STR_Save, DexSave = c.DEX_Save, ConSave = c.CON_Save, IntSave = c.INT_Save, WisSave = c.WIS_Save, ChaSave = c.CHA_Save, StrMod = c.STR_Mod, DexMod = c.DEX_Mod, ConMod = c.CON_Mod, IntMod = c.INT_Mod, WisMod = c.WIS_Mod, ChaMod = c.CHA_Mod };
public void AddCharStats(Library.CharStats stats) { stats.CharacterID = _db.Character.Last().CharacterId; _db.Add(Mapper.Map(stats)); }
public void UpdateSkills(List <int> skills, Library.CharStats stats) { if (stats != null) { foreach (int skill in skills) { switch (skill) { case 1: // Acrobatics stats.Acrobatics += stats.PB; break; case 2: // AnimalHandling stats.AnimalHandling += stats.PB; break; case 3: // Arcana stats.Arcana += stats.PB; break; case 4: // Athletics stats.Athletics += stats.PB; break; case 5: // Deception stats.Deception += stats.PB; break; case 6: // History stats.History += stats.PB; break; case 7: // Insight stats.Insight += stats.PB; break; case 8: // Intimidation stats.Intimidation += stats.PB; break; case 9: // Investigation stats.Investigation += stats.PB; break; case 10: // Medicine stats.Medicine += stats.PB; break; case 11: // Nature stats.Nature += stats.PB; break; case 12: // Perception stats.Perception += stats.PB; break; case 13: // Performance stats.Performance += stats.PB; break; case 14: // Persuasion stats.Persuasion += stats.PB; break; case 15: // Religion stats.Religion += stats.PB; break; case 16: // Sleight Of Hand stats.SleightOfHand += stats.PB; break; case 17: // Stealth stats.Stealth += stats.PB; break; case 18: // Survival stats.Survival += stats.PB; break; default: throw new ArgumentException("This skill does not exist."); } } } else { throw new ArgumentNullException("Character Stats cannot be null..."); } }