Exemplo n.º 1
0
        public void Populate(IStatsVariables stats, IReadOnlyCollection <Effect> activeEffects, IReadOnlyCollection <IVariables> relatedVars)
        {
            var iceDefense      = ComputeIceDefense(stats, activeEffects);
            var fireDefense     = ComputeFireDefense(stats, activeEffects);
            var windDefense     = ComputeWindDefense(stats, activeEffects);
            var earthDefense    = ComputeEarthDefense(stats, activeEffects);
            var lightDefense    = ComputeLightDefense(stats, activeEffects);
            var darkDefense     = ComputeDarkDefense(stats, activeEffects);
            var slashingDefense = ComputeSlashingDefense(stats, activeEffects);
            var bluntDefense    = ComputeBluntDefense(stats, activeEffects);
            var piercingDefense = ComputePiercingDefense(stats, activeEffects);
            var unarmedDefense  = ComputeUnarmedDefense(stats, activeEffects);
            var pureDefense     = ComputePureDefense(stats, activeEffects);

            stats.IceDefense(iceDefense);
            stats.FireDefense(fireDefense);
            stats.WindDefense(windDefense);
            stats.EarthDefense(earthDefense);
            stats.LightDefense(lightDefense);
            stats.DarkDefense(darkDefense);
            stats.SlashingDefense(slashingDefense);
            stats.BluntDefense(bluntDefense);
            stats.PiercingDefense(piercingDefense);
            stats.UnarmedDefense(unarmedDefense);
            stats.Defense(pureDefense);
        }
Exemplo n.º 2
0
 public static float GetDefenseFromDamageType(this IStatsVariables stats, int damageType)
 {
     if (damageType == DamageTypes.PiercingDamage)
     {
         return(stats.PiercingDefense());
     }
     if (damageType == DamageTypes.SlashingDamage)
     {
         return(stats.SlashingDefense());
     }
     if (damageType == DamageTypes.BluntDamage)
     {
         return(stats.BluntDefense());
     }
     if (damageType == DamageTypes.UnarmedDamage)
     {
         return(stats.UnarmedDefense());
     }
     if (damageType == DamageTypes.FireDamage)
     {
         return(stats.FireDefense());
     }
     if (damageType == DamageTypes.IceDamage)
     {
         return(stats.IceDefense());
     }
     if (damageType == DamageTypes.WindDamage)
     {
         return(stats.WindDefense());
     }
     if (damageType == DamageTypes.EarthDamage)
     {
         return(stats.EarthDefense());
     }
     if (damageType == DamageTypes.LightDamage)
     {
         return(stats.LightDefense());
     }
     if (damageType == DamageTypes.DarkDamage)
     {
         return(stats.DarkDefense());
     }
     if (damageType == DamageTypes.Damage)
     {
         return(stats.Defense());
     }
     return(0);
 }
Exemplo n.º 3
0
 public static ICollection <StatReference> GetDefenseReferences(this IStatsVariables stats)
 {
     return(new[]
     {
         new StatReference(DamageTypes.IceDamage, stats.IceDefense()),
         new StatReference(DamageTypes.FireDamage, stats.FireDefense()),
         new StatReference(DamageTypes.WindDamage, stats.WindDefense()),
         new StatReference(DamageTypes.EarthDamage, stats.EarthDefense()),
         new StatReference(DamageTypes.LightDamage, stats.LightDefense()),
         new StatReference(DamageTypes.DarkDamage, stats.DarkDefense()),
         new StatReference(DamageTypes.SlashingDamage, stats.SlashingDefense()),
         new StatReference(DamageTypes.BluntDamage, stats.BluntDefense()),
         new StatReference(DamageTypes.PiercingDamage, stats.PiercingDefense()),
         new StatReference(DamageTypes.UnarmedDamage, stats.UnarmedDefense()),
         new StatReference(DamageTypes.Damage, stats.Defense())
     });
 }
Exemplo n.º 4
0
        public static float GetDefenseFor(this IStatsVariables stats, int effectType)
        {
            if (effectType == EffectTypes.PiercingBonusAmount)
            {
                return(stats.PiercingDefense());
            }
            if (effectType == EffectTypes.SlashingBonusAmount)
            {
                return(stats.SlashingDefense());
            }
            if (effectType == EffectTypes.BluntBonusAmount)
            {
                return(stats.BluntDefense());
            }
            if (effectType == EffectTypes.UnarmedBonusAmount)
            {
                return(stats.UnarmedDefense());
            }
            if (effectType == EffectTypes.FireBonusAmount)
            {
                return(stats.FireDefense());
            }
            if (effectType == EffectTypes.IceBonusAmount)
            {
                return(stats.IceDefense());
            }
            if (effectType == EffectTypes.WindBonusAmount)
            {
                return(stats.WindDefense());
            }
            if (effectType == EffectTypes.EarthBonusAmount)
            {
                return(stats.EarthDefense());
            }
            if (effectType == EffectTypes.LightBonusAmount)
            {
                return(stats.LightDefense());
            }
            if (effectType == EffectTypes.DarkBonusAmount)
            {
                return(stats.DarkDefense());
            }

            if (effectType == EffectTypes.AllElementDamageBonusAmount)
            {
                return(stats.FireDefense() + stats.IceDefense() + stats.WindDefense() +
                       stats.EarthDefense() + stats.LightDefense() + stats.DarkDefense());
            }

            if (effectType == EffectTypes.AllMeleeDefenseBonusAmount)
            {
                return(stats.PiercingDefense() + stats.SlashingDefense() +
                       stats.BluntDefense() + stats.UnarmedDefense());
            }

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

            return(0);
        }