public override Boolean Activate(PlayerVerticalShooter player, GameTime gameTime) { Vector2 centerDir = new Vector2(0, -1.0f); double dirRadians = MathFunctions.RadiansFromDir(centerDir); dirRadians += random.NextDouble() * 2 * Math.PI / 12 - Math.PI / 12; YellowBullet bullet = new YellowBullet(Game, spriteSheet); bullet.Position = player.Position; bullet.Direction = MathFunctions.DirFromRadians(dirRadians); bullet.Initialize(); bullet.SetSpreadSpeed(random); Game.stateManager.shooterState.gameObjects.Add(bullet); return(true); }
private void Setup() { Name = "Spread Bullet"; Kind = "Primary"; energyCostPerSecond = 6f; delay = 14; Weight = 500; ActivatedSoundID = SoundEffects.ClickLaser; displaySprite = Game.spriteSheetItemDisplay.GetSubSprite(new Rectangle(200, 0, 100, 100)); bullet = new YellowBullet(Game, spriteSheet); bullet.Initialize(); damage = Bullet.Damage; duration = Bullet.Duration; speed = Bullet.Speed; Value = 300; Tier = TierType.Average; numberOfShots = 1; }