public void AuraOfCourageEnablesImmunityToFear() { var character = CharacterTestTemplates.AverageBob(); character.Add(new AuraOfCourage()); AssertCharacter.IsImmuneTo("Fear", character); }
public void ProvidesImmunityToPoison() { var monk = CharacterTestTemplates.MarkyMonk(); monk.Add(new DiamondBody()); AssertCharacter.IsImmuneTo("poison", monk); }
public void HasAttributesLoadedThatSpecifySpecialAbilities() { var c = CharacterTestTemplates.AverageBob(); c.Add(dwarf); AssertCharacter.ContainsFeature("Darkvision", c); }
public void GrantsImmunities() { AssertCharacter.IsImmuneTo("cold", sorcerer); AssertCharacter.IsImmuneTo("paralysis", sorcerer); AssertCharacter.IsImmuneTo("nonlethal", sorcerer); AssertCharacter.IsImmuneTo("sleep", sorcerer); }
public void LevelsCanModifyStats() { var level = new Level(fighter); var character = CharacterTestTemplates.AverageBob(); character.Add(level); AssertCharacter.HasWillSave(1, "fear", character); }
public void EnergyResistanceOverTenThousandIsEqualToImmunity() { var dr = new EnergyResistance(10000, "fire"); var character = CharacterTestTemplates.AverageBob(); character.Defense.AddDamageResistance(dr); AssertCharacter.IsImmuneTo("fire", character); }
public void GrantsResistanceToColdAndNonLethalDamage() { AssertCharacter.HasDamageReduction("- vs. nonlethal", 5, sorcerer); AssertCharacter.HasResistanceTo("cold", 5, sorcerer); sorcerer.SetLevel(9); gift.LeveledUp(sorcerer.Components); AssertCharacter.HasDamageReduction("- vs. nonlethal", 10, sorcerer); AssertCharacter.HasResistanceTo("cold", 10, sorcerer); }
public void GrantsImmunityToCriticalsAndSneakAttacks() { var sorc = CharacterTestTemplates.Sorcerer(); var aberrant = new AberrantForm(); sorc.Add(aberrant); AssertCharacter.IsImmuneTo("Criticals", sorc); AssertCharacter.IsImmuneTo("Sneak Attacks", sorc); }
public void EnablesImmunityToDisease() { var character = CharacterTestTemplates.AverageBob(); character.Add(new DivineHealth()); var defense = character.Get <DefenseStats>(); AssertCharacter.IsImmuneTo("Disease", character); }
public void DivineCastersKnowAllSpellsAvailableAtTime() { var cleric = CharacterTestTemplates.Cleric().WithDivineCasting(); var casting = cleric.Get <DivineCasting>(); var spellList = casting.SpellList; AssertCharacter.KnowsSpells(0, spellList.GetAllSpells(0), cleric); AssertCharacter.KnowsSpells(1, spellList.GetAllSpells(1), cleric); }
public void ProvidesImmunities() { var sorcerer = CharacterTestTemplates.Sorcerer(); sorcerer.SetLevel(20); sorcerer.Add(new SoulOfTheFey()); AssertCharacter.IsImmuneTo("poison", sorcerer); AssertCharacter.HasDamageResistance(sorcerer, "cold iron", 10); }
public void GoodCreaturesTakeTurnUndead() { var wizard = CharacterTestTemplates.Wizard(); wizard.Alignment = CharacterAlignment.ChaoticGood; var power = new PowerOverUndead(); wizard.Add(power); AssertCharacter.HasFeatToken("Turn Undead", wizard); }
public void EvilCreaturesTakeCommandUndead() { var wizard = CharacterTestTemplates.Wizard(); wizard.Alignment = CharacterAlignment.ChaoticEvil; var power = new PowerOverUndead(); wizard.Add(power); AssertCharacter.HasFeatToken("Command Undead", wizard); }
public void CanBeMarkedAsImmunity() { var dr = new EnergyResistance(5, "fire"); dr.SetToImmunity(); var character = CharacterTestTemplates.AverageBob(); character.Defense.AddDamageResistance(dr); AssertCharacter.IsImmuneTo("fire", character); Assert.Empty(character.Defense.EnergyResistance); }
public void MarksTheAppropriateSkillAsClassSkill() { var yaml = @"--- skills: [Climb, Swim, Diplomacy]"; var clsSkill = new ClassSkills(yaml.ParseYaml()); var character = CharacterTestTemplates.AverageBob().FullInitialize(); character.Add(clsSkill); AssertCharacter.HasClassSkill("Climb", character); AssertCharacter.HasClassSkill("Swim", character); AssertCharacter.HasClassSkill("Diplomacy", character); }
public void ProvidesImmunities() { var sorcerer = CharacterTestTemplates.Sorcerer(); var power = new PowerOfThePit(); sorcerer.Add(power); AssertCharacter.HasDamageResistance(sorcerer, "acid", 10); AssertCharacter.HasDamageResistance(sorcerer, "cold", 10); AssertCharacter.IsImmuneTo("fire", sorcerer); AssertCharacter.IsImmuneTo("poison", sorcerer); }
public void AddsDRAndImmunities() { var sorcerer = CharacterTestTemplates.Sorcerer(); var might = new DemonicMight(); sorcerer.Add(might); AssertExtensions.Contains("acid", sorcerer.Defense.EnergyResistance.Select(x => x.DamageType)); AssertExtensions.Contains("cold", sorcerer.Defense.EnergyResistance.Select(x => x.DamageType)); AssertExtensions.Contains("fire", sorcerer.Defense.EnergyResistance.Select(x => x.DamageType)); AssertCharacter.IsImmuneTo("electricity", sorcerer); AssertCharacter.IsImmuneTo("poison", sorcerer); }
public void GrantsImmunitiesBasedOnElementType() { var sorcerer = CharacterTestTemplates.Sorcerer(); var elementType = new ElementalType(); elementType.EnergyType = "acid"; sorcerer.Add(elementType); sorcerer.Add(new ElementalBody()); AssertCharacter.IsImmuneTo("acid", sorcerer); AssertCharacter.IsImmuneTo("sneak attacks", sorcerer); AssertCharacter.IsImmuneTo("critical hits", sorcerer); }
public void GrantsResistanceBasedOnEnergyType() { var sorcerer = CharacterTestTemplates.Sorcerer(); var elementalType = new ElementalType(); elementalType.EnergyType = "cold"; sorcerer.Add(elementalType); var resist = new ElementalResistance(); sorcerer.Add(resist); AssertCharacter.HasDamageResistance(sorcerer, "cold", 10); sorcerer.SetLevel(9); resist.LeveledUp(sorcerer.Components); AssertCharacter.HasDamageResistance(sorcerer, "cold", 20); }
public void SelectsAnEnergyTypeToGenerateResistanceTo() { var wizard = CharacterTestTemplates.Wizard(); var energyType = new EnergyType(); energyType.Name = "fire"; var abjRes = new AbjurationResistance(EntityGateway <EnergyType> .LoadWithSingleItem(energyType)); wizard.Add(abjRes); AssertCharacter.HasDamageResistance("fire", 5, wizard); wizard.SetLevel(11); AssertCharacter.HasDamageResistance("fire", 10, wizard); wizard.SetLevel(20); AssertCharacter.IsImmuneTo("fire", wizard); }
public void ChoosesAFeatFromTheAvailableFeats() { var yaml = @" - name: Archery bonus-feats: - level: 1 feats: [feat one]".ParseYaml().Children.First(); var combatStyle = new CombatStyle(yaml); var character = CharacterTestTemplates.Ranger(); character.SetLevel(2); character.Add(combatStyle); var step = new SelectCombatStyleFeat(); step.ExecuteStep(character); AssertCharacter.HasFeatToken("feat one", character); }
public void AddsDRAndImmunities() { var sorcerer = CharacterTestTemplates.Sorcerer(); var ascension = new Ascension(); sorcerer.Add(ascension); Assert.True( sorcerer.Defense.EnergyResistance.Any(dr => dr.DamageType == "electricity" && dr.Amount == 10) ); Assert.True( sorcerer.Defense.EnergyResistance.Any(dr => dr.DamageType == "fire" && dr.Amount == 10) ); AssertCharacter.IsImmuneTo("acid", sorcerer); AssertCharacter.IsImmuneTo("cold", sorcerer); AssertCharacter.IsImmuneTo("petrification", sorcerer); Assert.Equal(4, sorcerer.Defense.FortitudeSave.GetConditionalValue("poison")); }
public void SpellbookCastersHaveASpellbookInTheirInventory() { AssertCharacter.IsCarrying <Spellbook>(wizard); }
public void GrantsDR() { AssertCharacter.HasDamageReduction("-", 5, sorcerer); }
public void GrantsResistances() { AssertCharacter.HasDamageResistance(sorcerer, "fire", 5); sorcerer.SetLevel(9); resistances.LeveledUp(sorcerer.Components); }
public void GrantsImmunities() { AssertCharacter.IsImmuneTo("electricity", sorcerer); AssertCharacter.IsImmuneTo("paralysis", sorcerer); AssertCharacter.IsImmuneTo("sleep", sorcerer); }