public override void OnMiasmaHit(MiasmaPulse pulse) { for (int i = 0; i < 60; i++) { new Particle(pulse.Position, Functions.PolarVector((float)Miasma.random.NextDouble() * 4f, Functions.RandomRotation()), Miasma.random.Next(2), 15); } for (int i = 0; i < Miasma.gameEntities.Count; i++) { if (Miasma.gameEntities[i].maxHealth != -1 && Miasma.gameEntities[i].Hitbox.Intersects(new Rectangle((int)pulse.Position.X - blastRadius, (int)pulse.Position.Y - blastRadius, blastRadius * 2, blastRadius * 2)) && pulse.team != Miasma.gameEntities[i].team) { Miasma.gameEntities[i].Strike(5, true); } } }
public override void MiasmaShotEffects(MiasmaPulse pulse) { if (pulse.timeLeft == 299) { bool escape = false; while (pulse.Position.Y > 0 && !escape) { pulse.Position += pulse.getVelocity(); pulse.UpdateHitbox(); new Particle(pulse.Position, Vector2.Zero, Miasma.random.Next(2), 10); for (int i = 0; i < Miasma.gameEntities.Count; i++) { if (Miasma.gameEntities[i].maxHealth != -1 && Miasma.gameEntities[i].Hitbox.Intersects(pulse.Hitbox) && pulse.team != Miasma.gameEntities[i].team) { escape = true; break; } } } } }
public virtual void OnMiasmaHit(MiasmaPulse pulse) { }
public virtual void MiasmaShotEffects(MiasmaPulse pulse) { }