public MotherBombBullet(Vector2 startingPoint, float speed, float direction, float maxDistance) : base(startingPoint, speed, direction, maxDistance) { this.damage = 400; this.originalSpeed = speed; this.baseSpeed = 15; this.grenadeDistance = 0.3f * OGE.WorldCamera.Width; this.texture = OGE.Content.Load<Texture2D>(@"Graphics\Entities\Bullets\RedGrenade"); this.baseMask = new HitboxMask(texture.Height, texture.Height, texture.Height / 2, texture.Height / 2); Particle particlePrototype = new Particle(); particlePrototype.ParticleColor = new Color(255, 60, 50); particlePrototype.DeltaScale = -0.1f; particlePrototype.DeltaSpeed = -0.1f; this.trailParticleGenerator = new TrailParticleGenerator(OGE.CurrentWorld.TrailEffectSystem, particlePrototype); this.trailParticleGenerator.Angle = direction + 180; this.trailParticleGenerator.ParticleTexture = ParticleTextureType.BlurredCircle; this.trailParticleGenerator.Speed = 2f; this.trailParticleGenerator.Scale = 0.5f; this.ExplosionColor = new Color(255, 60, 50); this.ExplosionRadius = 180; this.ExplosionPower = 20; }
public UziBullet(Vector2 startingPoint, float speed, float direction, float maxDistance) : base(startingPoint, speed, direction, maxDistance) { this.damage = 10; Particle particlePrototype = new Particle(); particlePrototype.ParticleColor = new Color(255, 250, 50); particlePrototype.DeltaScale = -0.03f; particlePrototype.DeltaAlpha = -0.03f; this.trailParticleGenerator = new TrailParticleGenerator(OGE.CurrentWorld.TrailEffectSystem, particlePrototype); this.trailParticleGenerator.Angle = direction + 180; this.trailParticleGenerator.ParticleTexture = ParticleTextureType.BlurredCircle; this.trailParticleGenerator.Speed = 10f; this.trailParticleGenerator.Scale = 0.25f; }
public XenaBullet(Vector2 startingPoint, float speed, float direction, float maxDistance) : base(startingPoint, speed, direction, maxDistance) { this.damage = 25; Particle particlePrototype = new Particle(); particlePrototype.ParticleColor = new Color(150, 255, 130); particlePrototype.DeltaScale = -0.005f; particlePrototype.DeltaAlpha = -0.01f; this.trailParticleGenerator = new TrailParticleGenerator(OGE.CurrentWorld.TrailEffectSystem, particlePrototype); this.trailParticleGenerator.Angle = direction + 180; this.trailParticleGenerator.AngleDisplacement = 1; this.trailParticleGenerator.ParticleTexture = ParticleTextureType.BlurredCircle; this.trailParticleGenerator.Speed = 5f; this.trailParticleGenerator.Scale = 0.1f; }
public GrenadeBullet(Vector2 startingPoint, float speed, float direction, float maxDistance) : base(startingPoint, speed, direction, maxDistance) { this.damage = 400; this.originalSpeed = speed; Particle particlePrototype = new Particle(); particlePrototype.ParticleColor = new Color(255, 60, 50); particlePrototype.DeltaScale = -0.1f; particlePrototype.DeltaSpeed = -0.1f; this.trailParticleGenerator = new TrailParticleGenerator(OGE.CurrentWorld.TrailEffectSystem, particlePrototype); this.trailParticleGenerator.Angle = direction + 180; this.trailParticleGenerator.ParticleTexture = ParticleTextureType.BlurredCircle; this.trailParticleGenerator.Speed = 2f; this.trailParticleGenerator.Scale = 0.5f; this.ExplosionColor = new Color(255, 60, 50); this.ExplosionRadius = 180; this.ExplosionPower = 20; }
public BulletGrenadeBullet(Vector2 startingPoint, float speed, float direction, float maxDistance) : base(startingPoint, speed, direction, maxDistance) { this.damage = 0; this.originalSpeed = speed; Particle particlePrototype = new Particle(); particlePrototype.ParticleColor = new Color(255, 250, 50); particlePrototype.DeltaScale = -0.1f; particlePrototype.DeltaSpeed = -0.1f; this.trailParticleGenerator = new TrailParticleGenerator(OGE.CurrentWorld.TrailEffectSystem, particlePrototype); this.trailParticleGenerator.Angle = direction + 180; this.trailParticleGenerator.ParticleTexture = ParticleTextureType.BlurredCircle; this.trailParticleGenerator.Speed = 2f; this.trailParticleGenerator.Scale = 0.5f; this.texture = OGE.Content.Load<Texture2D>(@"Graphics\Entities\Bullets\YellowBullet"); this.baseMask = new HitboxMask(texture.Height, texture.Height, texture.Height / 2, texture.Height / 2); this.bulletSpeed = 15; }
public SpikeBullet(Vector2 startingPoint, float speed, float direction, float maxDistance, float timeToRemove = 3) : base(startingPoint, speed, direction, maxDistance) { this.damage = 10; this.originalSpeed = speed; Particle particlePrototype = new Particle(); particlePrototype.ParticleColor = new Color(255, 60, 50); particlePrototype.DeltaScale = -0.1f; particlePrototype.DeltaSpeed = -0.1f; this.trailParticleGenerator = new TrailParticleGenerator(OGE.CurrentWorld.TrailEffectSystem, particlePrototype); this.trailParticleGenerator.Angle = direction + 180; this.trailParticleGenerator.ParticleTexture = ParticleTextureType.BlurredCircle; this.trailParticleGenerator.Speed = 2f; this.trailParticleGenerator.Scale = 0f; this.ExplosionColor = new Color(255, 60, 50); this.ExplosionRadius = 20; this.ExplosionPower = 1; this.removalAlarm = new Alarm(timeToRemove, TweenType.OneShot, () => { OGE.CurrentWorld.RemoveEntity(this); }); AddTween(removalAlarm, true); }
private void IntializeParticleGenerators() { Particle particlePrototype = new Particle(); particlePrototype.ParticleColor = new Color(40, 72, 127); particlePrototype.DeltaScale = -0.06f; particlePrototype.DeltaAlpha = -0.1f; this.trailParticleGenerator = new TrailParticleGenerator(OGE.CurrentWorld.TrailEffectSystem, particlePrototype); this.trailParticleGenerator.AngleDisplacement = 15; this.trailParticleGenerator.Speed = 2; this.trailParticleGenerator.Scale = 0.5f; Particle prototype = new Particle(); prototype.DeltaScale = -0.03f; prototype.DeltaSpeed = -0.02f; prototype.DeltaAngle = 5f; this.fractionalGenerator = new FractionalParticleGenerator(OGE.CurrentWorld.ExplosionEffectSystem, prototype, 6); this.fractionalGenerator.Speed = 5; this.fractionalGenerator.NumberOfCircles = 3; }