Exemple #1
0
    private static SkillModifiedValue CreateSmv(float startValue, ModificationStrategy strategy, Type skillType, LocString benefitsDescription)
    {
        SkillModifiedValue smv = new SkillModifiedValue(startValue, strategy, skillType, benefitsDescription);

        SkillModifiedValueManager.AddSkillBenefit(Localizer.Do("You"), smv);
        return(smv);
    }
Exemple #2
0
        public static ModificationStrategy Inverted(this ModificationStrategy x)
        {
            if (x is MultiplicativeStrategy)
            {
                List <float> newfactorslist = new List <float>();
                foreach (float factor in (x as MultiplicativeStrategy).Factors)
                {
                    if (factor != 0)
                    {
                        newfactorslist.Add(1 / factor);
                    }
                }

                return(new MultiplicativeStrategy(newfactorslist.ToArray()));
            }
            if (x is AdditiveStrategy)
            {
                List <float> subtractions = new List <float>();
                foreach (float addition in (x as AdditiveStrategy).Additions)
                {
                    subtractions.Add(-addition);
                }

                return(new AdditiveStrategy(subtractions.ToArray()));
            }

            return(x);
        }
Exemple #3
0
    protected new static SkillModifiedValue CreateSkillModifiedValue(float startValue, ModificationStrategy strategy, Type skillType, Type beneficiary, LocString beneficiaryText, LocString benefitText, Type modifierType)
    {
        SkillModifiedValue value = new SkillModifiedValue(startValue, strategy, skillType, benefitText, modifierType);

        SkillModifiedValueManager.AddBenefitForObject(beneficiary, beneficiaryText, value);
        SkillModifiedValueManager.AddSkillBenefit(beneficiary, beneficiaryText, value);
        return(value);
    }