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; } }
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); }
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); }