Exemplo n.º 1
0
        private static void On_Terraria_Main_DrawProjectiles(On.Terraria.Main.orig_DrawProjectiles orig, Main self)
        {
            var matrix = PrimitiveTrailSystem.GetTransformMatrix();

            if (PrimitiveTrailSystem.AlphaBlendTrails.Count > 0)
            {
                Main.spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, Main.DefaultSamplerState, DepthStencilState.None, Main.instance.Rasterizer, null, Main.GameViewMatrix.TransformationMatrix);
                {
                    foreach (var trail in PrimitiveTrailSystem.AlphaBlendTrails)
                    {
                        trail.Draw(Main.spriteBatch, matrix);
                    }
                }
                Main.spriteBatch.End();
            }

            if (PrimitiveTrailSystem.AdditiveBlendTrails.Count > 0)
            {
                Main.spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.Additive, Main.DefaultSamplerState, DepthStencilState.None, Main.instance.Rasterizer, null, Main.GameViewMatrix.TransformationMatrix);
                {
                    foreach (var trail in PrimitiveTrailSystem.AdditiveBlendTrails)
                    {
                        trail.Draw(Main.spriteBatch, matrix);
                    }
                }
                Main.spriteBatch.End();
            }

            orig(self);
        }
Exemplo n.º 2
0
        public override void OnSpawn()
        {
            var trail = new Content.Trails.RoundedTrail(target: projectile, length: 16 * 7, width: (p) => 16 * (1 - p * 0.8f), color: (p) => Color.Lerp(EffectColor, new Color(11, 26, 138), p) * (1 - p) * 0.4f, additive: true, smoothness: 15);

            trail.SetDissolveSpeed(0.35f);
            trail.SetEffectTexture(OrchidHelper.GetExtraTexture(5));
            PrimitiveTrailSystem.NewTrail(trail);
        }
Exemplo n.º 3
0
        public override void OnSpawn()
        {
            var trail = new Content.Trails.TriangularTrail(target: projectile, length: 16 * 5, width: (p) => 5 * (1 - p), color: (p) => BoreanStriderScepterProj.EffectColor * (1 - p) * 0.25f);

            trail.SetDissolveSpeed(0.35f);
            PrimitiveTrailSystem.NewTrail(trail);

            projectile.frame = Main.rand.Next(3);
        }
Exemplo n.º 4
0
        public override void OnSpawn()
        {
            _trail = new SimpleTrail(target: projectile, length: 16 * 6, width: (progress) => 18, color: (progress) => Color.Lerp(new Color(198, 61, 255), new Color(107, 61, 255), progress) * (1 - progress));
            _trail.SetMaxPoints(15);
            _trail.SetEffectTexture(OrchidHelper.GetExtraTexture(4));

            PrimitiveTrailSystem.NewTrail(_trail);

            projectile.friendly = false;
            this.IsGreen        = false;
        }
 public override void OnSpawn()
 {
     _trail = new RoundedTrail
              (
         target: projectile,
         length: 16 * 10,
         width: (p) => 4 * (1 - p),
         color: (p) => EffectColor * (1 - p),
         additive: true,
         smoothness: 20
              );
     PrimitiveTrailSystem.NewTrail(_trail);
 }
        public override void OnSpawn()
        {
            var trail = new Content.Trails.RoundedTrail(target: projectile, length: 16 * 10, width: (p) => 10 * (1 - p), color: (p) => EffectColor * (1 - p) * 0.5f, smoothness: 25);

            PrimitiveTrailSystem.NewTrail(trail);
        }