Ejemplo n.º 1
0
        public static MinigunStats GenerateNewMinigun(ItemQuality quality)
        {
            var genData = MinigunGenerationPresets.GenData[quality];
            var stats   = new MinigunStats();

            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);
        }
Ejemplo n.º 2
0
        public void Initialize(MinigunStats stats)
        {
            if (Repos.ParticleRepo != null)
            {
                shotLine    = Repos.ParticleRepo.ShotLine;
                hitParticle = Repos.ParticleRepo.ShotHit;
                bulletHole  = Repos.ParticleRepo.BulletHole;
            }

            barrel          = GetComponentInChildren <BarrelRotator>();
            this.stats      = stats;
            currentAccuracy = this.stats.Accuracy;
            //body.GetComponent<RifleAssembly>().Assemble(barrel, stock, mag);
            //muzzleEffect = barrel.GetComponent<BarrelAssembly>().MuzzleEffect;

            fireSfx = GetComponent <AudioSource>();

            firingModes = CreateFiringModes();
            CurrentAmmo = this.stats.AmmoPerMag;
        }