public override Boolean Activate(PlayerVerticalShooter player, GameTime gameTime)
        {
            Vector2 centerDir = new Vector2(0, -1.0f);
            double  spread    = Math.PI / 32;

            for (int n = 0; n < numberOfShots; n++)
            {
                DistanceSpreadBullet shot = new DistanceSpreadBullet(Game, spriteSheet);
                shot.PositionX = player.PositionX;
                shot.PositionY = player.PositionY;

                shot.Direction = MathFunctions.SpreadDir(centerDir, spread);
                shot.Initialize();

                shot.SetSpreadSpeed(random, 0.2f);

                Game.stateManager.shooterState.gameObjects.Add(shot);
            }

            return(true);
        }
        private void Setup()
        {
            Name = "LongShot";
            Kind = "Primary";
            energyCostPerSecond = 6f;
            delay            = 800;
            Weight           = 500;
            ActivatedSoundID = SoundEffects.MidSizeLaser;
            displaySprite    = Game.spriteSheetItemDisplay.GetSubSprite(new Rectangle(500, 100, 100, 100));

            bullet = new DistanceSpreadBullet(Game, spriteSheet);
            bullet.Initialize();

            damage   = Bullet.Damage;
            duration = Bullet.Duration;
            speed    = Bullet.Speed;

            Value         = 300;
            Tier          = TierType.Average;
            numberOfShots = 5;
        }