public static Projectile NewProjectileDirectSafe(IProjectileSource source, Vector2 pos, Vector2 vel, int type, int damage, float knockback, int owner = 255, float ai0 = 0f, float ai1 = 0f) { int p = Projectile.NewProjectile(source, pos, vel, type, damage, knockback, owner, ai0, ai1); return((p < Main.maxProjectiles) ? Main.projectile[p] : null); }
public static void Attack(ref int curCombo, int projType, Vector2 direction, Vector2 originalpos, IProjectileSource s) { curCombo++; if (curCombo >= 0) { int createdProj = Projectile.NewProjectile(s, originalpos, direction, projType, 20, 1, Owner: Main.myPlayer); Main.projectile[createdProj].hostile = false; Main.projectile[createdProj].friendly = true; if (curCombo > 10) { curCombo = -15; Vector2 randPos; for (int i = 0; i < 5; i++) { randPos = new Vector2(Main.rand.Next(-15, 15), Main.rand.Next(-15, 15)); createdProj = Projectile.NewProjectile(s, originalpos + randPos, direction, projType, 20, 1, Owner: Main.myPlayer); Main.projectile[createdProj].hostile = false; Main.projectile[createdProj].friendly = true; } } } }