public override List <ProjectileEntity> Shoot() { List <ProjectileEntity> projList = new(); if (CheckCanShoot()) { ShootCooldown(); Point location = new(SpriteRectangle.Left - 20, SpriteRectangle.Top + (SpriteRectangle.Height / 2) - (ProjectileHeight / 2)); ProjectileEntity projectile = new(GameRectangle, new Rectangle(location, new Size(ProjectileWidth, ProjectileHeight)), Resources.enemyProjectile) { MoveLeft = true, BaseSpeed = BaseSpeed * SpeedMulti, SpeedMulti = 1.3, Team = Team, Damage = Damage }; projList.Add(projectile); if (TripleShot) { ProjectileEntity proj = (ProjectileEntity)projectile.Clone(); proj.MoveUp = true; proj.SpeedMulti = 1.1; projList.Add(proj); proj = (ProjectileEntity)projectile.Clone(); proj.MoveDown = true; proj.SpeedMulti = 1.1; projList.Add(proj); } } return(projList); }
public override List <ProjectileEntity> Shoot() { List <ProjectileEntity> projList = new(); if (CheckCanShoot()) { ShootCooldown(); int x = SpriteRectangle.Right + 20; int y = SpriteRectangle.Top + (SpriteRectangle.Height / 2) - (ProjectileHeight / 2); var sprite = ShootBuffLevel >= 4 ? Resources.allyProjectileSuper : Resources.allyProjectile; var multi = ShootBuffLevel >= 4 ? 3.0 : 2.0; ProjectileEntity projectile = new(GameRectangle, new Rectangle(new Point(x, y + (ShootBuffLevel == 1 ? (ProjectileHeight / 2) : 0)), new Size(ProjectileWidth, ProjectileHeight)), sprite) { MoveRight = true, BaseSpeed = BaseSpeed, SpeedMulti = multi, Team = Team, Damage = Damage }; projList.Add(projectile); if (ShootBuffLevel >= 1) { ProjectileEntity proj = (ProjectileEntity)projectile.Clone(); proj.SpriteRectangle = new Rectangle(new Point(projectile.SpriteRectangle.X, projectile.SpriteRectangle.Y - ProjectileHeight), projectile.SpriteRectangle.Size); projList.Add(proj); } if (ShootBuffLevel >= 2) { ProjectileEntity proj = (ProjectileEntity)projectile.Clone(); proj.SpriteRectangle = new Rectangle(new Point(projectile.SpriteRectangle.X, projectile.SpriteRectangle.Y + ProjectileHeight), projectile.SpriteRectangle.Size); projList.Add(proj); } if (ShootBuffLevel >= 3) { ProjectileEntity proj = (ProjectileEntity)projectile.Clone(); proj.MoveUp = true; projList.Add(proj); proj = (ProjectileEntity)projectile.Clone(); proj.MoveDown = true; projList.Add(proj); } } return(projList); }