And this is the code for the projectile
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Terraria;
using Terraria.Audio;
using Terraria.GameContent;
using Terraria.ID;
using Terraria.ModLoader;
namespace EstherMod.Content.Projectiles
{
public class EstherProjectile : ModProjectile
{
public override void SetStaticDefaults()
{
DisplayName.SetDefault("Zephyr Blade");
ProjectileID.Sets.TrailCacheLength[Projectile.type] = 3;
ProjectileID.Sets.TrailingMode[Projectile.type] = 0;
}
public override void SetDefaults()
{
Projectile.aiStyle = 1;
Projectile.width = 14;
Projectile.height = 24;
AIType = 0;
Projectile.friendly = true;
Projectile.penetrate = 1;
Projectile.tileCollide = true;
Projectile.extraUpdates = 1;
}
public override void Kill(int timeLeft)
{
Collision.HitTiles(Projectile.position, Projectile.velocity, Projectile.width, Projectile.height);
SoundEngine.PlaySound(SoundID.Item10, Projectile.position);
int num570 = Main.rand.Next(4, 10);
int num3;
for (int num571 = 0; num571 < num570; num571 = num3 + 1)
{
int num572 = Dust.NewDust(Projectile.Center, 0, 0, 16, 0f, 0f, 100, default(Color), 1f);
Dust dust = Main.dust[num572];
dust.velocity *= 1.6f;
Dust dust56 = Main.dust[num572];
dust56.velocity.Y = dust56.velocity.Y - 1f;
dust = Main.dust[num572];
dust.velocity += -Projectile.velocity * (Main.rand.NextFloat() * 2f - 1f) * 0.5f;
Main.dust[num572].scale = 2f;
Main.dust[num572].fadeIn = 0.5f;
Main.dust[num572].noGravity = true;
num3 = num571;
}
}
public override bool PreDraw(ref Color lightColor)
{
Vector2 drawOrigin = new Vector2(TextureAssets.Projectile[Projectile.type].Value.Width * 0.5f, Projectile.height * 0.5f);
for (int k = 0; k < Projectile.oldPos.Length; k++)
{
Vector2 drawPos = Projectile.oldPos[k] - Main.screenPosition + drawOrigin + new Vector2(0f, Projectile.gfxOffY);
Color color = Projectile.GetAlpha(lightColor) * ((float)(Projectile.oldPos.Length - k) / (float)Projectile.oldPos.Length);
}
return true;
}
}
}