示例#1
0
    public override WeaponInfo ToInfo(WeaponModifier.ModifierNames mod)
    {
        float moddedDamage   = damage * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.DAMAGE);
        float moddedFireRate = fireTime / WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.FIRE_RATE);
        float moddedAccuracy = maxSpreadAngle / WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.ACCURACY);

        WeaponInfo info = new WeaponInfo(weaponType, mod);

        if (weaponType != WeaponType.SCATTER_SHOT)
        {
            info.AddAttribute("Damage", RoundStatToDecimalPlaces(moddedDamage, 1).ToString());
        }
        else
        {
            int bonusProjectiles = (int)WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.BONUS_PROJECTILES);
            int count            = projectilesPerShot + bonusProjectiles;
            info.AddAttribute("Damage", RoundStatToDecimalPlaces(damage, 1) + " (x" + count + ")");
        }

        info.AddAttribute("Fire Rate", RoundStatToDecimalPlaces(1 / moddedFireRate, 1) + "/s");
        info.AddAttribute("Projectile Speed", RoundStatToDecimalPlaces(projectileSpeed, 1).ToString());
        info.AddAttribute("Accuracy", RoundStatToDecimalPlaces((1 - (moddedAccuracy * 2 / 180)) * 100, 1) + "%");

        return(info);
    }
示例#2
0
    public override WeaponInfo ToInfo(WeaponModifier.ModifierNames mod)
    {
        float      moddedDamage = damage * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.DAMAGE);
        float      moddedRange  = beamRange * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.BEAM_RANGE);
        WeaponInfo info         = new WeaponInfo(weaponType, mod);

        info.AddAttribute("Damage", RoundStatToDecimalPlaces(moddedDamage, 1) + "/s");
        info.AddAttribute("Range", RoundStatToDecimalPlaces(moddedRange, 1).ToString());
        return(info);
    }
示例#3
0
    protected override void ApplyModifier()
    {
        if (modifier == WeaponModifier.ModifierNames.DEFAULT)
        {
            // Early return
            return;
        }

        damage    *= WeaponModifier.GetModifierValue(modifier, WeaponModifier.Stats.DAMAGE);
        beamRange *= WeaponModifier.GetModifierValue(modifier, WeaponModifier.Stats.BEAM_RANGE);
    }
示例#4
0
    protected override void ApplyModifier()
    {
        if (modifier == WeaponModifier.ModifierNames.DEFAULT)
        {
            // Early return
            return;
        }

        damage          *= WeaponModifier.GetModifierValue(modifier, WeaponModifier.Stats.DAMAGE);
        projectileSpeed *= WeaponModifier.GetModifierValue(modifier, WeaponModifier.Stats.MINE_SPEED);
        fireTime        /= WeaponModifier.GetModifierValue(modifier, WeaponModifier.Stats.FIRE_RATE);
    }
示例#5
0
    public override WeaponInfo ToInfo(WeaponModifier.ModifierNames mod)
    {
        float moddedDamage   = damage * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.DAMAGE);
        float moddedSpeed    = projectileSpeed * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.MINE_SPEED);
        float moddedFireRate = fireTime / WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.FIRE_RATE);

        WeaponInfo info = new WeaponInfo(weaponType, mod);

        info.AddAttribute("Damage", RoundStatToDecimalPlaces(moddedDamage, 1).ToString());
        info.AddAttribute("Fire Rate", RoundStatToDecimalPlaces(1 / moddedFireRate, 1) + "/s");
        info.AddAttribute("Projectile Speed", RoundStatToDecimalPlaces(moddedSpeed, 1).ToString());
        return(info);
    }
示例#6
0
    protected override void ApplyModifier()
    {
        if (modifier == WeaponModifier.ModifierNames.DEFAULT)
        {
            // Early return
            return;
        }

        if (weaponType == WeaponType.SCATTER_SHOT)
        {
            int bonusProjectiles = (int)WeaponModifier.GetModifierValue(modifier, WeaponModifier.Stats.BONUS_PROJECTILES);
            projectilesPerShot += bonusProjectiles;
        }
        else
        {
            damage *= WeaponModifier.GetModifierValue(modifier, WeaponModifier.Stats.DAMAGE);
        }

        maxSpreadAngle /= WeaponModifier.GetModifierValue(modifier, WeaponModifier.Stats.ACCURACY);
        fireTime       /= WeaponModifier.GetModifierValue(modifier, WeaponModifier.Stats.FIRE_RATE);
    }