Пример #1
0
 public static ICollection <StatReference> GetDamageReferences(this IStatsVariables stats)
 {
     return(new[]
     {
         new StatReference(DamageTypes.IceDamage, stats.IceDamage()),
         new StatReference(DamageTypes.FireDamage, stats.FireDamage()),
         new StatReference(DamageTypes.WindDamage, stats.WindDamage()),
         new StatReference(DamageTypes.EarthDamage, stats.EarthDamage()),
         new StatReference(DamageTypes.LightDamage, stats.LightDamage()),
         new StatReference(DamageTypes.DarkDamage, stats.DarkDamage()),
         new StatReference(DamageTypes.SlashingDamage, stats.SlashingDamage()),
         new StatReference(DamageTypes.BluntDamage, stats.BluntDamage()),
         new StatReference(DamageTypes.PiercingDamage, stats.PiercingDamage()),
         new StatReference(DamageTypes.UnarmedDamage, stats.UnarmedDamage()),
         new StatReference(DamageTypes.Damage, stats.Damage())
     });
 }
Пример #2
0
        public static float GetDamageFor(this IStatsVariables stats, int effectType)
        {
            if (effectType == EffectTypes.PiercingBonusAmount)
            {
                return(stats.PiercingDamage());
            }
            if (effectType == EffectTypes.SlashingBonusAmount)
            {
                return(stats.SlashingDamage());
            }
            if (effectType == EffectTypes.BluntBonusAmount)
            {
                return(stats.BluntDamage());
            }
            if (effectType == EffectTypes.UnarmedBonusAmount)
            {
                return(stats.UnarmedDamage());
            }
            if (effectType == EffectTypes.FireBonusAmount)
            {
                return(stats.FireDamage());
            }
            if (effectType == EffectTypes.IceBonusAmount)
            {
                return(stats.IceDamage());
            }
            if (effectType == EffectTypes.WindBonusAmount)
            {
                return(stats.WindDamage());
            }
            if (effectType == EffectTypes.EarthBonusAmount)
            {
                return(stats.EarthDamage());
            }
            if (effectType == EffectTypes.LightBonusAmount)
            {
                return(stats.LightDamage());
            }
            if (effectType == EffectTypes.DarkBonusAmount)
            {
                return(stats.DarkDamage());
            }

            if (effectType == EffectTypes.AllElementDamageBonusAmount)
            {
                return(stats.FireDamage() + stats.IceDamage() + stats.WindDamage() +
                       stats.EarthDamage() + stats.LightDamage() + stats.DarkDamage());
            }

            if (effectType == EffectTypes.AllMeleeDefenseBonusAmount)
            {
                return(stats.PiercingDamage() + stats.SlashingDamage() +
                       stats.BluntDamage() + stats.UnarmedDamage());
            }

            if (effectType == EffectTypes.DamageBonusAmount)
            {
                return(stats.Damage());
            }

            return(0);
        }