public void AddsStatisticComponentsForScoreAndModifierToComponentBag() { var strength = new AbilityScore(AbilityScoreTypes.Strength, 16); var container = new ComponentContainer(); container.Add(strength); var score = container.FindStat <IValueStatistic>("strength"); var modifier = container.FindStat <IValueStatistic>("strength-modifier"); Assert.Equal(16, score.TotalValue); Assert.Equal(3, modifier.TotalValue); }
public void Execute(ComponentContainer components) { var cmd = components.FindStat <IValueStatistic>(StatNames.CMB); var strMod = cmd.Modifiers.OfType <StatisticStatModifier>().FirstOrDefault(x => x.TrackingStatName.EqualsIgnoreCase("strength-modifier")); if (strMod != null) { cmd.RemoveModifier(strMod); } var dexMod = new StatisticStatModifier(cmd.Name, components.FindStat <IValueStatistic>("dexterity-modifier")); cmd.AddModifier(dexMod); }
public void CanSerializeOutTheEntitiesInTheContainerAndReloadThem() { var container = new ComponentContainer(); container.Add(new CustomStatType("Foo")); container.Add(new CustomStatType("Bar")); var storage = new YamlObjectStore(); storage.Serialize(container); var newContainer = new ComponentContainer(); storage.Deserialize(newContainer); Assert.NotNull(newContainer.FindStat("Foo")); Assert.NotNull(newContainer.FindStat("Bar")); }
public void IfPropertyHasAddToContainerAttributeThenMakeSureThisValueIsAdded() { var container = new ComponentContainer(); var add = new AddToContainerTest(); container.Add(add); Assert.NotNull(container.FindStat("Add Me")); }
public void Initialize(ComponentContainer components) { monkLevels = components.Get <ClassLevel>(); wisdom = components.FindStat <AbilityScore>(StatNames.Wisdom); inventory = components.Get <Inventory>(); monkACModifier = new DelegateStatModifier(StatNames.ArmorClass, "bonus", Modifier); components.ApplyStatModifier(monkACModifier); }
public void Initialize(ComponentContainer components) { if (statistic == null) { statistic = components.FindStat <IValueStatistic>(TrackingStatName); if (statistic == null) { throw new StatisticNotFoundException(TrackingStatName); } } }
public bool IsQualified(ComponentContainer components) { var stat = components.FindStat <CharacterSkill>(SkillName); if (stat == null) { throw new StatisticNotFoundException(SkillName); } return(stat.Ranks >= Minimum); }
public void Initialize(ComponentContainer components) { baseAttackBonus = components.FindStat <IValueStatistic>(StatNames.BaseAttackBonus); monkLevels = components.Get <ClassLevel>(); modifier = new DelegateStatModifier( StatNames.CMB, "Monk", Modifier ); components.ApplyStatModifier(modifier); }
public bool IsQualified(ComponentContainer components) { return(components.FindStat <IValueStatistic>(StatNames.BaseAttackBonus).TotalValue >= AttackBonus); }
public void Initialize(ComponentContainer components) { wisdomModifier = components.FindStat <IValueStatistic>("wisdom-modifier"); }
public bool IsQualified(ComponentContainer components) { var ability = components.FindStat <AbilityScore>(this.Ability.ToString()); return(ability.TotalValue >= this.Minimum); }
public void Initialize(ComponentContainer components) { usesPerDay = components.FindStat <IValueStatistic>(this.UsesPerDayStatName()); }
public void Initialize(ComponentContainer container) { _hitDice = container.FindStat <IDiceStatistic>("hit dice"); }
public void Initialize(ComponentContainer components) { _baseStatistic = components.FindStat <IValueStatistic>(BaseStatisticName); _differenceStatistic = components.FindStat <IValueStatistic>(DifferenceStatisticName); }