/// <summary> /// Sets the traits for race. /// </summary> /// <param name="character">Charactet to assign traits to.</param> /// <param name="race">Race selected.</param> private void SetTraitsForRace(CharacterSheet character, Race race) { // Add Traits foreach (var trait in race.Traits) { var t = this.traitGateway.All().First(x => x.Name == trait); character.AddTrait(t, false); } }
public void AddingATraitWillTriggerAddingImmunities() { CharacterSheet sheet = new CharacterSheet(_testSkills); var trait = new Trait(); trait.SpecialAbilities.Add( new SpecialAbility("vs. Spells", "Immunity")); sheet.AddTrait(trait); Assert.Greater(sheet.Defense.Immunities.Count(), 0); }
public void AddingTraitsCouldAddSpecialQualities() { CharacterSheet sheet = new CharacterSheet(_testSkills); var trait = new Trait(); trait.SpecialAbilities.Add( new SpecialAbility("vs. Spells", "Ability")); sheet.AddTrait(trait); Assert.Greater(sheet.SpecialQualities.SpecialAbilities.Count(), 0); }
public void AddingATraitToWillSaveBoostsDefense() { CharacterSheet sheet = new CharacterSheet(_testSkills); var trait = new Trait(); trait.Modifiers.Add( new BasicStatModifier("Will", 10, "Trait", "Cause") ); var oldScore = sheet.Defense.WillSave.TotalValue; sheet.AddTrait(trait); Assert.AreEqual(oldScore + 10, sheet.Defense.WillSave.TotalValue); }
public void AddTraitTriggersModifiedEvent() { bool called = false; CharacterSheet sheet = new CharacterSheet(_testSkills); sheet.Modified += (object sender, CharacterSheetEventArgs e) => { called = true; }; //Set up the trait var trait = new Trait(); trait.Name = "Elfy"; sheet.AddTrait(trait, true); //Make sure the event was called Assert.IsTrue(called); }