public override void AI() { Player player = Main.player[projectile.owner]; AAPlayer modPlayer = player.GetModPlayer <AAPlayer>(); if (modPlayer.TerraSummon) { projectile.timeLeft = 2; } if (player.dead) { modPlayer.TerraSummon = false; } if (!modPlayer.TerraSummon) { projectile.active = false; } if (Main.netMode == NetmodeID.MultiplayerClient && Main.myPlayer == projectile.owner && !syncSpawn) { syncSpawn = projectile.netUpdate2 = true; } if (!player.active || player.dead) { projectile.Kill(); return; } Target(); bool playerTarget = target != null && target.Equals(player); int maxDistBeforeReturn = playerTarget ? 950 : 1100; BaseAI.AIMinionFighter(projectile, ref projectile.ai, Main.player[projectile.owner], false, 14, 20, 20, 900, maxDistBeforeReturn, target == player ? -1f : .2f, target == player ? -1f : 12, 10, (proj, owner) => { return(target == player ? null : target); }); }