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); }
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); }
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); }
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); }
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); }
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); }