Пример #1
0
        public override void AI()
        {
            Player player = Main.player[projectile.owner];

            int[] projs = BaseAI.GetProjectiles(player.Center, projectile.type, player.whoAmI, -1);
            if (!checkedMinPos)
            {
                for (int m = 0; m < projs.Length; m++)
                {
                    if (projs[m] == projectile.identity)
                    {
                        projectile.minionPos = m;
                    }
                }
                if (Main.myPlayer == projectile.owner)
                {
                    projectile.netUpdate = true;
                }
            }
            if (!Main.player[projectile.owner].active || Main.player[projectile.owner].dead || projs.Length > 2)
            {
                projectile.Kill(); return;
            }
            Target();
            BaseAI.AIMinionFlier(projectile, ref projectile.ai, player, false, false, false, 40, 40, 400, 800, 1f, 10f, 10f, !CanShoot(target), false, (proj, owner) => { return(target == player ? null : target); }, Shoot);
            projectile.position -= player.oldPosition - player.position;
            if (CanShoot(target))
            {
                projectile.spriteDirection = projectile.Center.X > target.Center.X ? -1 : 1;
            }
        }
Пример #2
0
        public override void AI()
        {
            projectile.rotation += .1f;
            if (scale < 1)
            {
                scale += .05f;
            }
            else
            {
                scale = 1;
            }
            Player  player    = Main.player[projectile.owner];
            CPlayer modPlayer = player.GetModPlayer <CPlayer>();

            if (player.dead || !player.HasBuff(ModContent.BuffType <Buffs.Rune>()))
            {
                projectile.Kill();
                modPlayer.Rune = false;
            }
            if (modPlayer.Rune)
            {
                projectile.timeLeft = 2;
            }

            Target();
            BaseAI.AIMinionFlier(projectile, ref projectile.ai, player, false, false, false, 70, 70, 400, 800, .2f, 6f, 6f, !CanShoot(target), false, (proj, owner) => { return(target == player ? null : target); }, Shoot);
            projectile.position -= (player.oldPosition - player.position);
        }
Пример #3
0
        public override void AI()
        {
            projectile.frameCounter++;
            if (projectile.frameCounter >= 5)
            {
                projectile.frameCounter = 0;
                projectile.frame++;
            }
            if (projectile.frame > 3)
            {
                projectile.frame = 0;
            }

            Player  player    = Main.player[projectile.owner];
            CPlayer modPlayer = player.GetModPlayer <CPlayer>();

            if (player.dead)
            {
                modPlayer.Drone = false;
            }
            if (modPlayer.Drone)
            {
                projectile.timeLeft = 2;
            }

            Target();

            BaseAI.AIMinionFlier(projectile, ref projectile.ai, player, false, false, false, 40, 40, 400, 800, .15f, 4.5f, 5f, !CanShoot(target), false, (proj, owner) => { return(target == player ? null : target); }, Shoot);
            projectile.position -= (player.oldPosition - player.position);
        }