public int Shoot(Vector2 velocity) { NPCEdits modNPC = npc.GetGlobalNPC <NPCEdits>(); int proj = Projectile.NewProjectile(npc.position, velocity, modNPC.shoot, npc.damage, modNPC.knockback, modNPC.owner); ProjectileEdits modProjectile = Main.projectile[proj].GetGlobalProjectile <ProjectileEdits>(); modProjectile.minionProjectile = true; modProjectile.minionOwner = npc.whoAmI; return(proj); }
public override bool?CanBeHitByProjectile(Projectile projectile) { NPCEdits modNPC = npc.GetGlobalNPC <NPCEdits>(); ProjectileEdits modProjectile = projectile.GetGlobalProjectile <ProjectileEdits>(); if (projectile.owner < Main.maxPlayers && projectile.owner == modNPC.owner) { return(false); } if (modProjectile.minionProjectile && modProjectile.minionOwner == npc.whoAmI) { return(false); } if (modProjectile.minionProjectile && !Main.player[projectile.owner].hostile) { return(false); } return(base.CanBeHitByProjectile(projectile)); }