/// <summary> /// Parses the yaml. /// </summary> /// <returns>The yaml.</returns> /// <param name="modifierNode">Modifier node.</param> /// <param name="source">Source of the modifier.</param> public static IList <BasicStatModifier> ParseYaml(YamlNodeWrapper modifierNode, string source) { IList <BasicStatModifier> modifiers = new List <BasicStatModifier>(); foreach (var mod in modifierNode.Children()) { var statName = mod.GetString("stat"); var amount = mod.GetInteger("modifier"); var type = mod.GetString("type"); var condition = mod.GetStringOptional("condition"); BasicStatModifier modifier; if (!string.IsNullOrEmpty(condition)) { modifier = new ConditionalStatModifier( condition, statName, amount, type, source); } else { modifier = new BasicStatModifier( statName, amount, type, source); } modifiers.Add(modifier); } return(modifiers); }
/// <summary> /// Setups the skill modifiers. /// </summary> private void SetupSkillModifiers() { this.StealthAdj = new BasicStatModifier("Stealth", 0, "size", "Size"); this.FlyAdj = new BasicStatModifier("Fly", 0, "size", "Size"); this.Modifiers = new List <BasicStatModifier>(); this.Modifiers.Add(this.StealthAdj); this.Modifiers.Add(this.FlyAdj); }
public void ModificationToAnAdjustmentAreReflectedInTotalScore() { var skill = new Skill("Chew", AbilityScoreTypes.Strength, false); var ability = new AbilityScore(AbilityScoreTypes.Strength, 10); var charSkill = new CharacterSkill(skill, ability, false); var adj = new BasicStatModifier("Chew", 0, "Teeth", "Chew"); charSkill.AddModifier(adj); Assert.AreEqual(0, charSkill.Score()); adj.Modifier = 5; Assert.AreEqual(5, charSkill.Score()); }
// Use this for initialization void Start() { myUnitModifier = GetComponentInParent <UnitTypes>().myUnit.GetComponent <BasicStatModifier>(); if (myUnitModifier.favouriteEnemy != UnitType.Null) { Visual.GetComponent <Image>().sprite = Sprites[(int)myUnitModifier.favouriteEnemy]; GetComponent <MouseHoverInfoCursor>().TooltipName = myUnitModifier.favouriteEnemy.ToString(); GetComponent <MouseHoverInfoCursor>().TooltipText = "This unit is stronger against " + myUnitModifier.favouriteEnemy.ToString(); } AttackText.text = myUnitModifier.AttackModifierVersusUnitType.ToString(); DefenceText.text = myUnitModifier.DefenceModifierVersusUnitType.ToString(); }
public void SkillsCanHaveAdjustmentsFromTraitsOrFeats() { var adjust = new BasicStatModifier( "Fly", 2, "Bonus", "Acrobatic Feat" ); var flySkill = new Skill("Fly", AbilityScoreTypes.Dexterity, false); var charSkill = new CharacterSkill(flySkill, new AbilityScore(AbilityScoreTypes.Dexterity, 10), false); charSkill.AddModifier(adjust); Assert.AreEqual(2, charSkill.Score()); }
/// <summary> /// Adds a stat modifier to the skill. /// </summary> /// <param name="modifier">Modifier for the skill.</param> public void AddModifier(BasicStatModifier modifier) { this.skillStats.AddModifier(modifier); }