public void Add(ProjectileType type, Dude owner, Vector2 position, Vector2 direction, bool canCollide)
        {
            direction.Normalize();

            switch (type)
            {
                case ProjectileType.Knife:
                    Add(position, Vector2.Zero, 10, true, new Rectangle(8, 0, 1, 1), 0f, 15f, owner, type);
                    break;
                case ProjectileType.Pistol:
                    Add(position, direction * 20f, 2000, canCollide, new Rectangle(0, 0, 2, 4), Helper.V2ToAngle(direction) + MathHelper.PiOver2, 5f, owner, type);
                    break;
                case ProjectileType.Shot:
                    Add(position, direction * (10f+((float)Helper.Random.NextDouble()*10f)), 1000, canCollide, new Rectangle(0, 0, 2, 2), Helper.V2ToAngle(direction) + MathHelper.PiOver2, 3f, owner, type);
                    break;
                case ProjectileType.SMG:
                    Add(position, direction * 17f, 1500, canCollide, new Rectangle(0, 0, 2, 2), Helper.V2ToAngle(direction) + MathHelper.PiOver2, 2f, owner, type);
                    break;
                case ProjectileType.Rifle:
                    Add(position, direction * 30f, 1500, canCollide, new Rectangle(0, 0, 2, 4), Helper.V2ToAngle(direction) + MathHelper.PiOver2, 8f, owner, type);
                    break;
            }
        }
 internal void AddVehicleWound(Dude d)
 {
     for (int i = 0; i < Helper.Random.Next(20); i++)
     {
         float a = (float)Helper.Random.NextDouble() * MathHelper.TwoPi;
         Vector2 dir = Helper.AngleToVector(a, ((float)Helper.Random.NextDouble() * 10f));
         Add(d.Position, dir, 10000f, true, new Rectangle(0, 0, 7, 7), -0.01f + ((float)Helper.Random.NextDouble() * 0.02f), 3f, Color.White, 0.5f, SpecialParticle.Blood, ParticleBlendMode.Alpha, false);
     }
 }
 public void Add(Vector2 spawnPos, Vector2 velocity, float life, bool canCollide, Rectangle sourcerect, float rot, float damage, Dude owner, ProjectileType type)
 {
     Projectile p = new Projectile();
     p.Type = type;
     p.Owner = owner;
     p.Damage = damage;
     p.Position = spawnPos;
     p.Velocity = velocity;
     p.Life = life;
     p.CanCollide = canCollide;
     p.SourceRect = sourcerect;
     p.Active = true;
     //p.RotationSpeed = rot;
     p.Rotation = rot;
     Projectiles.Add(p);
 }