public static ShotgunStats GenerateNewShotgun(ItemQuality quality) { var genData = ShotgunGenerationPresets.GenData[quality]; var stats = new ShotgunStats(); stats.Accuracy = RandomService.GetRandom(genData.MinAccuracy, genData.MaxAccuracy); stats.MinAccuracy = stats.Accuracy - 20; stats.AimDistance = 20f; stats.AimRecovery = 0.8f; stats.Quality = quality; stats.DamagePerRound = RandomService.GetRandom(genData.MinDamagePerRound, genData.MaxDamagePerRound); stats.PushForce = stats.DamagePerRound * 10; stats.Range = RandomService.GetRandom(genData.MinRange, genData.MaxRange); stats.RateOfFire = RandomService.GetRandom(genData.MinRateOfFire, genData.MaxRateOfFire); stats.Recoil = RandomService.GetRandom(genData.MinRecoil, genData.MaxRecoil); stats.AmmoPerMag = RandomService.GetRandom(genData.MinAmmoPerMag, genData.MaxAmmoPerMag); return(stats); }
public static ShotgunStats GenerateNewShotgun(ItemQuality quality) { var genData = ShotgunGenerationPresets.GenData[quality]; var stats = new ShotgunStats(); stats.Accuracy = RandomService.GetRandom(genData.MinAccuracy, genData.MaxAccuracy); stats.MinAccuracy = stats.Accuracy > AbsoluteMinAccuracy * 2 ? stats.Accuracy - 15 : AbsoluteMinAccuracy; stats.AimRecovery = 0.8f; stats.Quality = quality; stats.DamagePerRound = RandomService.GetRandom(genData.MinDamagePerRound, genData.MaxDamagePerRound); stats.RateOfFire = RandomService.GetRandom(genData.MinRateOfFire, genData.MaxRateOfFire); stats.Recoil = RandomService.GetRandom(genData.MinRecoil, genData.MaxRecoil); stats.AmmoPerMag = RandomService.GetRandom(genData.MinAmmoPerMag, genData.MaxAmmoPerMag); stats.PelletCount = 8; stats.ReloadTime = 2f; return(stats); }