示例#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);
        }