コード例 #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);
        }