TimeParadox_
Terrarian
Hello,
I am trying to make a projectile that will split into more projectiles when it hits an NPC. I seem to have everything right, except I cannot figure out the spawnSource parameter for projectile.NewProjectile.
I am trying to make a projectile that will split into more projectiles when it hits an NPC. I seem to have everything right, except I cannot figure out the spawnSource parameter for projectile.NewProjectile.
C#:
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
using Microsoft.Xna.Framework;
using System;
namespace PewPew.Projectiles
{
internal class RailgunRound : ModProjectile
{
public override void SetStaticDefaults()
{
DisplayName.SetDefault("Railgun Round");
}
public override void SetDefaults()
{
Projectile.damage = 100;
Projectile.width = 16;
Projectile.height = 8;
Projectile.aiStyle = 1;
Projectile.friendly = true;
Projectile.hostile = false;
Projectile.DamageType = DamageClass.Ranged;
Projectile.penetrate = 10;
Projectile.timeLeft = 600;
Projectile.alpha = 255;
Projectile.light = 1f;
Projectile.ignoreWater = false;
Projectile.tileCollide = true;
AIType = ProjectileID.Bullet;
}
public override bool OnTileCollide(Vector2 oldVelocity)
{
Projectile.penetrate--;
if (Projectile.penetrate <= 0)
{
Projectile.Kill();
int dust = Dust.NewDust(Projectile.position, Projectile.width, Projectile.height, DustID.GoldFlame);
Main.dust[dust].noGravity = true;
}
return true;
}
public override void OnHitNPC(NPC target, int damage, float knockback, bool crit)
{
Projectile.NewProjectile(spawnSource ?, Projectile.position, Projectile.velocity, ProjectileID.Grenade, new Vector2(0, 20), 0f);
}
public override void AI()
{
float valueChangeX = Math.Abs(Projectile.velocity.X) / (int)Projectile.velocity.X;
Projectile.velocity.X += valueChangeX;
}
}
}