Example #1
0
        public override void Attack()
        {
            int a = Projectile.NewProjectile(npc.Center, ArchaeaNPC.AngleToSpeed(ArchaeaNPC.AngleTo(npc, npcTarget) + compensate, 4f), ProjectileID.Fireball, 10, 1f);

            Main.projectile[a].timeLeft    = 300;
            Main.projectile[a].hostile     = true;
            Main.projectile[a].friendly    = false;
            Main.projectile[a].tileCollide = false;
        }
Example #2
0
        public bool canSee()
        {
            Vector2 line;

            for (float k = 0; k < npc.Distance(target().position); k += 0.5f)
            {
                line = npc.Center + ArchaeaNPC.AngleToSpeed(ArchaeaNPC.AngleTo(npc, target()), k);
                int  i    = (int)line.X / 16;
                int  j    = (int)line.Y / 16;
                Tile tile = Main.tile[i, j];
                if (tile.active() && Main.tileSolid[tile.type])
                {
                    return(false);
                }
            }
            return(true);
        }