Ejemplo n.º 1
0
    public static ItemModifierEffect getRandomModifierOfLevel(int level)
    {
        int rand = Random.Range(0, 100);

        ItemModifierEffect modifier;

        if (rand < 20)
        {
            modifier = new ArmourModifier(level);
        }
        else if (rand < 40)
        {
            modifier = new SpeedModifier(level);
        }
        else if (rand < 60)
        {
            modifier = new FlatDamageModifier(level);
        }
        else if (rand < 80)
        {
            modifier = new RelDamageModifier(level);
        }
        else
        {
            modifier = new LifeModifier(level);
        }

        return(modifier);
    }
Ejemplo n.º 2
0
        private void ParseModifiers(string modifiers)
        {
            Regex regex  = new Regex(@"\[\'(.+?)\'\]\s*=\s*{(.*?),}");
            Match weapon = regex.Match(modifiers);

            while (weapon.Success)
            {
                string weaponName = weapon.Groups[1].Value;

                regex = new Regex(@"\[\'(.+?)\'\]=\s*{L\s*=\s*([0-9]{1,3}),\s*M\s*=\s*([0-9]{1,3}),\s*H\s*=\s*([0-9]{1,3})}");
                Match ammo = regex.Match(weapon.Groups[2].Value);

                while (ammo.Success)
                {
                    ArmourModifier armourModifier = new ArmourModifier();
                    armourModifier.WeaponName = weaponName;
                    armourModifier.AmmoType   = ammo.Groups[1].Value;

                    armourModifier.Light  = int.Parse(ammo.Groups[2].Value) / 100D;
                    armourModifier.Medium = int.Parse(ammo.Groups[3].Value) / 100D;
                    armourModifier.Heavy  = int.Parse(ammo.Groups[4].Value) / 100D;

                    ArmourModifiers.Add(armourModifier);

                    ammo = ammo.NextMatch();
                }

                weapon = weapon.NextMatch();
            }

            if (ArmourModifiers.Count == 0)
            {
                Logger.Write($"Error in parsing ArmourModifiers for DPS calculations.", this.GetType().ToString());
            }
        }