public Ring(float Size, float Thickness, Color Colour) { this.Model = null; Vector3 Offset = new Vector3(0, 0, Size); Matrix XForm = Matrix.CreateRotationX(MathHelper.ToRadians(20)); Particles.LightBall p; for (int i = 0; i < 18; i++) { p = new MapEntities.Particles.LightBall(Colour, Thickness); p.Offset = Offset; Offset = Vector3.Transform(Offset, XForm); this.Particles.Add(p); } }
public override void Apply(Actor Source, Actor Target, int Level) { MapEntities.Particles.LightBall ball = new MapEntities.Particles.LightBall(this.Colour, this.Size); MapEntities.ParticleGroup g = new MapEntities.ParticleGroup { Speed = 15f, Position = Source.Position + new Vector3(0, 0.9f, 0), WorldSpawn = Source.WorldSpawn, Gravity = false, OnGround = false }; g.Model = null; g.TTL = this.GetDuration(Level) + 20; g.Expires = true; g.Target = Target; g.FizzleOnGround = true; g.FizzleOnTarget = true; g.Particles.Add(ball); Source.WorldSpawn.Entities.Add(g); }